さてさて、前回(3月5日)の続きです。
ソフトウェアのインストール(後半)
前回、ApacheとMySQLが自動的に起動するように設定をしたところで終わっていたかと思いますので、その続きからです。
Webサーバ、Apacheに外部からアクセスするためにフィルタリングソフトiptablesの設定を書き換えましょう。ポートの開放と呼ばれる作業です。
[root@vps /]vi /etc/sysconfig/iptables # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
各行について見ていきましょう。
4行目と18行目は設定の開始と終了を表しています。設定はこの二つの行の間に書くことになります。
5~7行目ではそれ以降の行の条件に特に当てはまらなかった場合にINPUT(外部⇒内部)、FORWARD(自分を通過するだけ)、OUTPUT(内部⇒外部)の3種類のパケットを通過させるように設定しています。
8行目は一度許可されていれば二度目はチェックを受けなくていいというルールです。
9行目はICMPパケット(pingなど)を許可するというルールです。
10行目はローカルループバックアドレス(つまり自分⇒自分)へのパケットを許可するというルールです。
11行目がSSH、12行目がHTTP(Apache)を許可するルールです。
13行目はApacheでHTTPS(HTTP over SSL/TLS)を許可するルールですので有効にする場合のみ追記してください。
14・15行目で8~13行目までの設定に合致しなかったINPUTとFORWARDを実質的に禁止しています。
iptablesを再起動して設定を反映させましょう。
[root@vps /]service iptables restart
クライアントのブラウザからサーバのグローバルIPアドレスかドメインにアクセスしてみましょう。
画像のようなページが表示されればOKです。表示されずに何かエラーメッセージが出る場合は設定を確認してください。
次に自分の作成したHTMLファイルを置いてみましょう。
[root@vps /]vi /var/www/html/index.html <html> <head> <title>Test Page</title> </head> <body> It's works! </body> </html>
保存して、クライアントのブラウザの更新ボタンを押してみましょう。画面に「It’s works!」と表示されればあなたのApacheは正常に動作しています。
このとき、変更が反映されずにそのままなのであればしばらく待ってみましょう。mod_pagespeedがサーバキャッシュをして邪魔をしている可能性があります。(すぐに変更されたかどうか見たい場合は touch /var/cache/mod_pagespeed/cache.flush と打てばサーバキャッシュはクリアされますのでお試しを。mod_pagespeedを使うなら覚えておくと便利ですよ。)
次にPHPのテストをしましょう。
次のようにindex.phpファイルを作成して、クライアントのブラウザからindex.phpファイルを見てみましょう。(http://サーバのアドレス/index.php)
[root@vps /]vi /var/www/html/index.php
<?php phpinfo(); ?>
画像のようなページが表示されればあなたのPHPは正常に動作しています。
あとは/etc/httpd/conf/httpd.confとか/etc/httpd/conf.d/pagespeed.confあたりを適当に弄ってみてください。(バックアップ取ろうね?)
そこに関してはここで説明していると時間が足りないので他のサイトにお任せします。「apache conf」とか「apache 設定」とかでググるとゴミのようにいっぱい出てきてくれますので確認してみてください。
あと、書いとかなきゃわからないようなことは…あ、そういえば忘れてました。MySQLの設定をします。
[root@vps /]/usr/bin/mysql_secure_installation
このように打つとMySQLを簡単にセットアップできます。対話式のセットアップですので聞かれた項目に順番に答えていってください。
聞かれる項目はこんな感じです。
- 現在のrootパスワード(まだ使用していないので当然、空ENTER)
- rootのパスワードを設定するかどうか(rootのパスワードがかかってないとかLANケーブルを繋ぐことさえ危険ですから、空ENTER)
- rootパスワード×2回(任意のパスワードを入れて、ENTER)
- 匿名ユーザを削除するかどうか(もちろん削除なので、空ENTER)
- 外部からのrootログインを許すかどうか(許すと危険なので、空ENTER。SSHからの接続は問題ありません)
- テスト用のデータベースを削除するかどうか(正直、どっちでもいいです。削除したければからENTER、残したければn)
- 権限テーブル再読込するかどうか(空ENTERを押さないと、この設定している意味がないので空ENTER)
[root@vps /]mysql -u root -p
これでMySQLにログインします。パスワードを聞かれるので先ほど設定したパスワードを入力してください。
特に問題がなくログインできればOKです。exitと入力して終了しましょう。
きっと次回はPart3にしようかと思っていたんですが、セットアップは要点だけならすぐに終わってしまって現状軽くネタ切れなので、「CentOS 6.3(x86_64) LVM(論理ボリュームマネージャ)を弄る」という内容になります。今週中には書き終わるのでもうしばらくお待ちくださいね。
いつも、こんな国語力が著しく欠乏している文章をお読みくださってありがとうございます!
参考文献
mod_pagespeed System Integration – mod_pagespeed — Google Developers
“CentOS 6.3(x86_64) セットアップ Part2” への1件の返信