※自分への備忘録です、手慣れた方には用のない話かもしれません
最近はCentOSでyumコマンドで環境構築するので、一昔前みたいにソースからコンパイルして環境構築することがなくなり、さくっと作れる反面、久々に作ると引っかかるところについて。
※VMwareでゲストマシン(CentOS7)を対象にすることを想定しています。
あれ?、ブラウザで見れない?なぜ?
サーバーとクライアント間のネットワークはつながっている?
・まず、ネットワーク的にお互い見えてる?(適時、アドレスは変えて)
$ ping 192.168.xxx.1
返事が返ってくれば、ネットワーク的にはつながっているはずだ。
返って来ない場合、VMwareの仮想マシンの設定とか、ちゃんとDHCPの設定とかを見直す
クライアントから見て、そもそもポート空いてる?
※Windows10の場合、telnetが最初は使えないので以下のサイトを参考に使えるようにしておく
https://mumu.jpn.ph/forest/computer/2016/04/02/3084/
で、コマンドプロンプト開いて
C:> telnet 接続先 ポート番号
このコマンドで80番ポートを叩いてTCPで80番に接続できるか確認する。
接続できた場合は黒い画面で止まる。
詳しいなら、ここでhttpのリクエスト文投げてみてもいい。
接続できないと、接続に失敗しましたと出る、つまり少なくともそのポートは空いて無い。
じゃあ、ファイヤーウオール?
firewalld自動起動設定確認(CentOS7)
#systemctl is-enabled firewalld
enabled
iptables自動起動設定確認(CentOS6)
#systemctl is-enabled iptables
disabled
こいつが有効な場合は、停止させるか、許可を出すか。
・停止させる場合(上7、下6)
systemctl stop firewalld
systemctl stop iptables
・許可を出す場合
以下のサイトがまとまっててわかりやすい
http://qiita.com/miosee/items/0599baa3a01301265a43
※公開サーバーでは無効にしないで下さい。
なんですと?、まだつながらない
その場合、憎いアイツ「SElinux」が悪さをしているに違いない。
※セキュリティ的に重要です、別に悪いものではない。
SELinuxの動作確認方法
getenforce
disabled:SELinuxを無効
enforcing:ポリシーに違反するアクセスに対し、ログに書き出して拒否(SELinuxは有効)
permissive:ポリシーに違反するアクセスに対し、ログに書き出して許可(SELinuxは無効)
ヒャア!!めんどくせえ、死にさらせ!!な場合
SELinuxを一時的に無効化
setenforce 0
そもそも起動しないようにする場合
vi /etc/selinux/config
で開いて、以下のように設定する。
SELINUX=disabled
※公開サーバーでは無効にしないで下さい。
これでもつながらない場合?
Apacheを5回くらい再起動したら、動いたこともある(原因不明)
service httpd restart
それでもだめな場合
1.諦める
2.OS再インストール(何か壊したんだろう)
3.隣の席の人も巻き込む
4.向かいの席の人も巻き込む
5.隣の部屋の人も巻き込む
まあ、ここまでやってダメだったら、ダウンロードしたときのメディアになにか問題がある可能性もある。(過去にあった)