Pcに開発環境を1から作る(OSの設定4)
前回からの続きです。
ただ、前回は今回から5.apacheのインストールとしていました。
が、OSの設定がまだ残ってたので4として続けます。
1.vm playerダウンロード、インストール
2.OSダウンロード、vmの仮想マシンを作成
3.仮想マシンにOSをインストール
4.OSの設定 ← まだココ
5.apacheインストールと設定
6.phpインストールと設定
7.mariadbインストールと設定
■ファイアーウォール停止■
たぶん前回の3ではchkconfig --listした時にプロセスが見えて無かったので忘れてたのかと思います。
ローカル環境と言ってもwebブラウザからVM環境内のOSにアクセスします。
OSから見たら外部からの接続なわけですが、今回は接続だけが目的な為ファイアーウォールの設定は止めてしまいます。
運用環境では必要かもしれませんし、awsなどではセキュリティグループの設定に任せてサーバ内は止めるとかあるかもしれませんし、その場その場でポリシー次第かと思います。
また、一旦止め、ある程度の環境ができあがってから再起動し、ポツポツ穴をあける作業をしてもいいと思います。
とりあえずここでは、接続できない時に何が悪いのかわかんくなるからにっちもさっちも止めちまうと言う事です。
CentOS 7 Firewall 無効化 - eTuts+ Server Tutorial
もうまんまこれです。
centos7ではiptableの設定自体はfirewallがやってくれるようになったようです。
ps aux
コマンドよろしく
systemctl status
をやると起動中のサービスが確認できます。
firewalld.serviceってのが立ちあがってるかと思います。
上記URLのサイトの通り
systemctl stop firewalld
(サービス停止でこの時にsystemctl statusするとfirewalld.serviceは消えてます)
systemctl disable firewalld
(自動起動除外)
ってやってしまえばサービスを落として次回OS起動時も立ち上がりません。
その他参考
CentOS7 ファイアウォール停止方法 | server-memo.net
firewallの設定参考
5分で終わらせるCentOS7のfirewalld設定 - Qiita
■スタティックルート設定■
これと言ってすぐ必要ではないが、会社では設定してた記憶がる為調べてみた。
Linuxルーティング追加 | server-memo.net
このvm環境のインターフェースは
ifcfg-eno16777736
な為
/etc/sysconfig/network-scripts/
配下に
touch route-eno16777736
を作って
192.168.1.0/24 via 192.168.16.1 dev eno16777736
(もちろんipアドレスは環境によって変わります)
を記述して終わり。
と言う事で、次そこは
5.apacheのインストールと設定
を行っていきたいと思います。
Pcに開発環境を1から作る(OSの設定3)
こんにちは。前回から更に続きです。
1.vm playerダウンロード、インストール
2.OSダウンロード、vmの仮想マシンを作成
3.仮想マシンにOSをインストール
4.OSの設定 ← 今回もココ
5.apacheインストールと設定
6.phpインストールと設定
7.mariadbインストールと設定
■ ホスト名を変更する ■
あれ?そういえばどこ?
CentOS 7 の Hostname を変更する - Qiita
centos7でこれも変わったのね。
cd /etc
vi hostname
indalog.net
↑を追加。
■ hosts関係 ■
cd /etc
vi hosts
192.168.1.xx indalog.net indalog
↑はあくまでも例です。
このファイルはホスト名とIPアドレスを紐づけるもの。
なので、固定でIPがわかっている場合は書いてもいいかも。
参考までに↓
システム設定ファイルを知ろう〜/etc/hosts〜 - ITmedia エンタープライズ
次にアクセス制限をかける。
cd /etc
vi hosts.deny
ALL:ALL
cd /etc
vi hosts.allow
ALL : localhost 127.0.0.1 [::1]
ALL : 192.168.1.0/255.255.255.0
ALL : 192.168.11.0/255.255.255.0
参考↓
CentOS実験室 hosts.allowとhosts.denyによる接続アクセス制限
■ サーバの簡単な状況をメールで飛ばす ■
最初に、本件はメールを飛ばすだけです。
ドメイン、受け取れるのか等のメール回りは色々と面倒なのでこの度は割愛します。
とりあえず何が自動起動してるんかな?
うぇ!?
CentOS 7 サービス自動起動設定 | Server-memo.net
な・・・なるほど。systemctlコマンドになったんか。
と言うか、確か関連記事4-1でnetwork再起動した時に
/etc/rc.d/init.d/network restart
が聞いたのは上記画像の通りこっちで管理されてたからか・・・。
起動確認。
起動もしてるっぽい。
で、上記と同じ様なコマンドで調べた結果、OSインストール時の最小構成選択じゃpostfixしか入ってませんでした!
説明は割愛しますが、mail系入れます。
yum install -y sendmail
yum install -y mailx
これでmailコマンドが実行できます。
次にインストールしたOS上で仕様するmtaの設定をします。
alternatives --config mta
これでsendmail.postfixの番号を選択してエンターでOK。
参考として↓とか良かったです。
Postfixをインストールしてメール送信してみる | 本日も乙
更に詳しい設定を見たい場合は↓とか良かったです。
これでメール送信できるのでmailコマンドで自分のgmailとかに飛ばしてみてください。
来ない場合はログを確認してください。
tail -100 /var/log/maillog
で確認できます。
次にroot宛の転送設定を。
cd /etc
vi aliases
#root: marc
↓
root: [受け取れるメールアドレス]
aliasesの一番上にコメントで載ってますが、このファイルを変更した後は
newaliases
と打ってコマンドを実行。
サーバの状態を表示するのにはlogwatchを使う。
rpm -qa | grep logwatch
ないのでyumで入れる。
yum install -y logwatch
ll /etc/cron.daily
をすると
0logwatch
と言うファイルが作られている。
が、これを指定しても動かなかった記憶があるので、自分は大体以下にする。
cd /etc/cron.daily
mkdir RCS
ci 0logwatch(※オプションをつけない場合はファイルはRCSに格納され、ファイルが無くなる。)
ln -s /usr/share/logwatch/scripts/logwatch.pl 0logwatch
■ 定期実行の為にcronに設定を記述する ■
ここで
crontab -e
は使いません。
基本的に自分は隠す必要も無い設定がパッ見で隠れているのが嫌いなので。
cd /etc
vi crontab
で以下を追加。
#HW CLOCK
01 * * * * root /sbin/hwclock -w
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
hw clockは時計なので今回は割愛。
run partで各設定(時間、日、週、月)で行っている。
上記通り、cron.dailyは毎日AM4時2分に実行される。
と、これくらいです。
この記事は自pcに環境を作ると言う名目ですが、上記まで設定できて更に何となくでも理解しているのであれば、ローカル環境に関わらず実際のサーバの設定もでき、動くところまで持っていけるかと思います。
使用するユーザーも複数人で運用する事も可能かと思います。
と言う事で、次は
5.apacheインストールと設定
を行っていきたいと思います。
Pcに開発環境を1から作る(OSの設定2)
こんにちは。前回からの続きです。
1.vm playerダウンロード、インストール
2.OSダウンロード、vmの仮想マシンを作成
3.仮想マシンにOSをインストール
4.OSの設定 ← まだココ
5.apacheインストールと設定
6.phpインストールと設定
7.mariadbインストールと設定
■ グループを追加 ■
cd /etc
vi group
staff:x:300:
↑を一番下の行に追加。
staffグループをgid300で追加と言う意味。
300は適当だが、既存のgipと被らない様に注意。
■ ユーザーを追加 ■
コマンドでやる場合はadduserとかuseraddでやるよろし。
adduserは対話型でuseraddはコマンド一発で終わるんだったかな・・・たぶん。
しかし今回はvipwでやります。
vipwコマンドを叩くと/etc/passwdファイルが開きます。
※vipwが何かは割愛
[user name]:x:[uid]:[gid]::[home path]:[login shell]
と言う意味なので
indalog:x:777:300::/home/indalog:/bin/bash
とかしてindalogと言う名前のユーザーを作成する。
-----
ちなみにログインできないユーザーを作りたい場合は
indalog:x:777:300::indalog:/sbin/nologin
とする。
home pathは適当で重要なのはlogin shellの部分。
-----
で、viを上書き終了すると↓が出る。
vipw -sコマンドでパスワードを設定しろと言う事だが、ユーザーを作ってしまえばパスワード設定はパスワードコマンドでやる。
passwd indalog
でパスワード入力、確認、と入れて終わり。
最後にログインパスで記載したパスにユーザーディリクトリを作成する。
cd /home
mkdir indalog
cd indalog
cp -r /etc/skel/.bash_profile
cp -r /etc/skel/.bashrc
cd ..
chown indalog.staff -R indalog
■ suできるユーザー認証を制限する ■
cd /etc/pam.d
vi su
#auth required pam_wheel.so use_uid
↓
auth required pam_wheel.so use_uid
コメントを取る。
次にwheelグループに先ほど追加したユーザー(indalog)を追加する。
cd /etc
vi group
wheel:x:10:
↓
wheel:x:10:root,indalog
rootと先ほど追加したユーザー(indalog)を追加する。
最後に
cd /etc
vi login.defs
SU_WHEEL_ONLY yes
を最後の行に追加。
これで、現状はindalogユーザーのみsuできる様になる。
同様に新しく追加したユーザーにsu権限を付与したい場合は上記groupのwheelに追加していく。
余談だがsuは
su
と
su -
は使分ける事。
基本的にはsuでrootになればsu権限が付与されたユーザーが増えても問題無い。
■ rootユーザーではsshd接続で接続をさせない ■
cd /etc/ssh
vi sshd_config
#PermitRootLogin yes
↓
PermitRootLogin no
リモート作業の場合、この設定をする前に他にログインでき更にrootになれるユーザーを作成、確認してからやってください。
■ selinuxを切る ■
現状は・・・
きっちり有効化されている。
あ、selinuxについては以下が凄い良かったです。
「SELinuxのせいで動かない」撲滅ガイド - Qiita
で、今回の環境には不要なので切ります。
もっと言うと、明確に必要な環境以外では不要です。
cd /etc/selinux
vi config
SELINUX=enforcing
↓
SELINUX=disabled
設定を反映させたい場合は変更後にOS再起動(reboot)で。
しつこいのでもうやめますがリモート作業の場合は気をt(ry
Pcに開発環境を作る事が目的なので、一応OSの設定はここまででOKです。
pcにとか言いながら、リモートの話がちょっと出て来てますがそれは後述します。
なので、5にうつる前に次の記事でもうちょっと設定を記載します。
早くapache入れたい!と言う方は次の(4-3)は見なくても大丈夫です。
Pcに開発環境を1から作る(OSの設定1)
超お久しぶりです。
環境構築関連の4回目です。
ちなみに環境構築関連のメニューは以下を予定しています。
1.vm playerダウンロード、インストール
2.OSダウンロード、vmの仮想マシンを作成
3.仮想マシンにOSをインストール
4.OSの設定 ← 今日ココ
5.apacheインストールと設定
6.phpインストールと設定
7.mariadbインストールと設定
ただし、記事が長くなったら分けます。
早速今日とか結構長いです。
OSの設定の前に関連するのでVMの設定から。
とりあえずrootでログイン。
パスワードはこの関連記事3で設定したパスワードです。
[root@localhost ~]# shutdown -h now
でシャットダウン。
※以下、コマンド系は [root@localhost ~]# の部分は端折ります。
コマンドじゃなくても落とせるし、落とさなくても設定の変更はできるが一応落とす。
この関連記事3で記載した「仮想マシン設定の編集(D)」をクリック。
まず左メニューからCD/DVD をクリック。
右のデバイスのステータスメニューの起動時に接続(O)のチェックを外す。
OSのインストールは終わったし不要な為。
次に左メニューからネットワークアダプタをクリック。
おそらくなにも触ってない場合はNATになっているはず。
右のネットワーク接続メニューからブリッジ:物理ネットワークに直接接続(B)を選択。
その下の物理ネットワーク接続の複製は無視で。
※画像キャプ忘れで状況が前後してます。
必要な変更はこれくらい。
後は使っているPCと相談してメモリ、プロセッサの数字を変更。
USBコントローラ、サウンドカード、プリンタはいらないので削除。
で、結果こんな感じ。
画面右下のOKボタン押下でメニューを閉じます。
VM立ち上げ状態の画面で再度仮想マシン再生(L)をクリック。
選択しろ的な内容が出ても無視してれば先に進みます。
VMのソフトウェアの更新の小窓が出たら後で通知する(R)で。
再度rootでログイン。
まずはOS最小構成で rcs が入ってるかチェック。
開発ツールにチェック入れたから入ってるはずやけども・・・。
あるあるw
自分は「変更前のファイルを日付を付けて残す」「ソースを無駄にコメントアウトして残す」とかが嫌い。
履歴も取れない、変更理由もわからない、後で見た時に複数ファイルあって何が何やらとなるので。
よって自分は基本的にOSの設定を変更する時、ファイルは全てRCSディリクトリ作ってrcsコマンドで管理します。
rcsの操作については
とかいいかもです。
設定を弄る前にyum updateをしたいので、最初にネットワークの設定。
とりあえずifconfig。
あれ?
RHEL7/CentOS7でipコマンドをマスター - めもめも
なるほど。
ここらへんがcentos7のあれなのね。
loしかないね。
VMの設定ではパワーオン時に接続(O)にチェック入ってたはずやけど、インターフェースが起動してないんかな?
そういえば関連記事3のネットワークとホスト名ってところでオフになってたのを後回しにした様な・・・。
ま、と言う事はやっぱり設定がダメなのね。
cd /etc/sysconfig
cat network
何も無いやないかい!
mkdir RCS
ci -u network
co -l network
vi network
※viの使い方は割愛。
※ここではrcsコマンドでチェックインチェックアウトも記載していますが今後は割愛。
※これが全てではないですが、経験上これくらい書けばいいかな程度で書いています。
ci -u network
ログは適当で。
次にインターフェースの設定。
cd network-scripts/
上記でもちょろっと書いた様に
ifcfg-enoXXXXXXXX
と言うのが該当ファイル。
ちなみにceontos6とかだとifcfg-eth0とか1とかが該当ファイル。
cat ifcfg-enoXXXXXXXX
色々書いてあるね・・・。
ん?
ONBOOT=no
oh...。
vi ifcfg-enoXXXXXXXX
わからんやつは消して臭そうなやつは残して・・・。
※固定ipにしたい場合はdhcpのところをIPアドレスに変更すると幸せになれる。
ほでネットワークを再起動(/etc/rc.d/init.d/network restart)して確認。
キタコレ!
yum update
でインストールしたパッケージを最新にします。
途中で何や聞かれても y で。
多少時間がかかるのでパズドラで時間を潰します。
Complete! と出たら次にいきます。
ちなみに、ちょっと調べると、ネットワークに接続のところでvmのworkstationをdlしてとうの記事が目につきました。
正直、その様な状況になった事がないのでどの様な時に必要なのかがわかりません。
(今回も上記ファイルを弄るだけでネットが外に出たし)
ここまで来たらここらでTeraTermなどのwindows用エミュレーターを使ってそっちでログインしても可。
と言うか、自分はそうする。
長くなったのでこの記事はここまで。
Pcに開発環境を1から作る(centos7インストール)
環境構築関連の3回目です。
では早速仮想マシンにOSをインストールしていきます。
まず最初に右下の「仮想マシン設定の編集(D)」をクリック。
「ハードウェア」タブ(デフォルト)内の「CD/DVD(IDE)自動検出」を選択。
画面右に出てくる「接続」メニュー内の「ISOイメージファイルを使用する」を選択し、参照からこの記事の2回目でダウンロードしたisoファイルを選択します。
「OK」ボタンを押すと設定画面が閉じられます。
次にこの記事1枚目の画像の画面右中ほど「仮想マシン再生(L)」をクリック。
へぇー。
と言う事で「OK」を。
子画面を閉じたらこの画像のどこかをクリック。
そうすると十字キーでメニューの選択ができる様になるので「Install CentOS 7」をクリック。
ちなみに「Test this media & install CentOS 7」を選択すると、インストールする前に指定したISOが正しくインストールできるかどうかのテストを行います。
ぶっちゃけ、やる必要はないでしょう。
ダメだったらまたどっかでダウンロードしたらええ。
次に「please enter key」とかなんとかでますが、面倒だったらほっといてください。
勝手に始まります。
黒い画面がカリカリ走った後に上記画面が出ます。
日本語を選択して「続行(C)」をクリック。
この画面が出たら各項目の設定をしていきます。
画面下部に「!」このアイコンが~とあります。
今回はそこ以外も触りますが、!がついていないとこはデフォルトでいいと言う人は触らないでOKです。
ではまず最初に「日付と時刻(T)」から。
NTPがをここで設定する人は画面上部のネットワーク時刻(N)をオンにして設定してください。
ここでは面倒なので上記画像通りに手で設定して画面上部「完了(D)」をクリック。
キーボードは今回は触りません。
次に、言語サポートをクリック。
デフォルトで「日本語」選択されているはずなので上部にスクロールして「English」を選択し、右メニューから「English(United States)」を選択して「完了(D)」をクリック。
インストールソースは無視します。
次はソフトウェアの選択。
あれ?何か昔と違うね?
ちょっと調べたら、ここが素敵でした。
CentOS 7インストーラの「ソフトウェアの選択」の中身を調べてみた - Qiita
なるほど。
「結局のところ」の内容が気になるけど、欲しいものは後でインストールすればいいので、とりあえず今回は画像の通り最小限で行きたいと思います。
次にインストール先。
これ選択して「完了」。
次にKDUMP。
ん?KDUMPって何さ?
なるほど。いらない。
個人で使うからと言うわけじゃないですが、クラッシュしたら捨てていいような運用と言うか、使用をすればいいだけです。
チェックを外して「完了」。
次はネットワークとホスト名。
・・・・・。
後でいいや!「完了」。
では早速「インストールの開始」クリック。
rootのパスワードを設定します。
個人用なので適当で。
rootパスワードを設定したらユーザーの作成の「!」も外れます。
ユーザーの作成は後でやります。
インストールが終わったら「設定完了」ボタンクリック。
全てが終わったので「再起動」ボタンクリック。
これでインストールは無事し完了OSが起動しました。
次は
4.OSの設定
をしていきます。
Pcに開発環境を1から作る(centos7ダウンロード、仮想マシン作成)
環境構築関連の2回目です。
前回からおもくそ時間空いてますがまったりやります。
まずはOSをダウンロードしたいと思います。
自分はcentosをメインで使っています。
その他のOSも使った事はあるのですが、仕事の都合上で断トツcentosです。
これまたgoogle先生に「centos ダウンロード」と聞けば一撃ですが、以下です。
https://www.centos.org/download/
どからでもいいですが「DVD ISO」を選択。
あ~、やっぱりもうもっぱら7かぁ。
7になって色々変わったという記事をどっかで読んでからずっと敬遠してます。
ここらでやっとくかぁ。
適当に選んで(全部同じでしょ?)ダウンロード開始。
4Gあるので、パズドラでもして時間を潰します。
ちなみに「俺は6でええ。むしろ6がええ。」と言われる方は上記URLの画面下部「More download choices」からダウンロードするかgoogle先生に聞いてダウンロードしてください。
あ、後、書く必要があるのかどうかはわかりませんが、自分のPCが32bitなのか64bitなのかに注意してください。
64bitなら気にする事なく64bitの方をダウンロードしたらいいですが、32bitの場合64bit版のisoをダウンロードしてもPC自体が受け付けてくれません。
PCPC言うてますが、OSがね。
その時、PCがintel vtに対応していた場合は32bitOS上で64bit仮想OSを動かす事が可能です。
設定は簡単でPC起動時にF10とかでBIOSを立ち上げてintel vtをenableにするだけ。
こことかシンプルでよいです。
32ビットマシンのVMwareで64ビットのOSを動かす - 仕事に追われるプログラマーの日記
続いてOSのダウンロードが終わったら次は仮想マシンの作成をします。
vm起動。
新規仮想マシンの作成(N)をクリック。
今回は後でOSをインストールを選択。
「後でインストールするなら先にOSをダウンロードする必要があったの?」と言うと無いです。
ただ、ここでインストーラディスクイメージファイルを指定して一気に仮想マシンからOSのインストールをしたい人は先程ダウンロードしたisoファイルを指定して次へをクリックしてください。
※あくまでもここでは後でOSをインストールの方向で進めます。
次へ。
適当な名前と、どこに作るかを指定して次へ。
※上記画像の表示はデフォルトです。
ディスクのサイズがデフォで20Gだが、経験上20Gじゃ少ない。
よって、50Gに変更する。
次に、これまたデフォでは分割が選択されているが、どうせコピーもフォルダ単位で行うし、壊れたら復旧が面倒なのは1つでも複数でも同じなので、単一ファイルとして格納に変更する。
ハードウェアをカスタマイズは後で触るので、そのまま完了ボタンをクリック。
OSが入ってない空の仮想マシン・・・入れ物的なものができました。
現在
1.vm playerダウンロード、インストール
次は
3.仮想マシンにOSをインストール
していきます。
Pcに開発環境を1から作る(vmplayer取得)
web開発環境を1から作り直そうと思いました。
何でこれがいるの?とうは書きません。
同じ事をやると同じ環境が作れる感じで書いて行こうかと思います。
備忘録やしね。
で、1回目は「vmplayer」について、インストールまで行います。
って事で、早速vmplayerをダウンロード。
google先生に「vmplayer ダウンロード」と打てば一撃ですがここです。
現時点での最新は12なんですね。
もっぱら6を使っていたので面喰いましたが「VMware Workstation 12 Player for Windows 64-bit operating systems.」の方をダウンロード。
あれ?VMってアカウント登録しないとダウンロードできなくなかったっけ?
まっ、いっか。
ダウンロードしたファイルを実行するとインストールもしくは既にvmが入っている場合はアップグレードが始まります。
規約にOKしたら画面を見ながら必要なチェックを外したりして進んでください。
キャプチャ撮るまでも無い内容です。
インストールが終わったら早速実行して立ち上げます。
あくまでも個人的なものなので「非営利目的でVMware Workstation12 Playerを無償で使用する」にチェックを入れて続行ボタ・・・メールアドレス・・・?
まっ、いっか。
メールアドレスを入力して続行ボタンを押すとお終い。
簡単ですね。
次はOSをダウンロードしていきます。