無事にFTPサーバが立てられたので、今度はWebサーバを立ち上げる。
Webサーバには、事例も豊富なapacheを採用。
MTを最新の5.2系にするならnginxという選択しもあったが、今回は5.1系のテストサーバを立てるので、見送る。
1.インストール
これはもう、コマンド一撃。
yum -y install httpdあと、このタイミングで、PHPのモジュールと、マルチバイト対応のPHPモジュールも入れておく。
yum -y install php php-mbstring
これは、PHPをメインで使うわけではないんだが、あとで入れるMySQLのため。
MySQLのWeb管理画面はPHPで動作するので、先に入れておくことに。
以上。
2.初期設定
vi で下記の設定ファイルを編集する。
# vi /etc/httpd/conf/httpd.confやはり、先人たちの公開情報では、『自宅サーバを公開する』という前提で手順が紹介されているので、必要になりそうなものだけをかいつまんで設定しておく。
#ServerName www.example.com:80 ←IPアドレスでURL指定するのが面倒なので。
<Directory "/var/www/html">
(中略)
Options Indexes FollowSymLinks
→ Options Includes ExecCGI FollowSymLinks #CGIの実行を許可する。これがないとMTは動かない。なお、この記述でSSI許可、ファイル一覧表示拒否。
AllowOverride None
→ AllowOverride All # .htaccessの許可
(中略)
</Directory>ErrorLog logs/error_log
→ ErrorLog /var/log/httpd/error_log #ここはお好みで。わかりやすい箇所であればよいでしょう。CustomLog logs/access_log combined
→ CustomLog /var/log/httpd/access_log combined env=!nolog #ここも必須ではないが、エラーログと場所は合わせておいたほうが良いでしょう。<Directory “/var/www/icons”> ← アイコンファイルの置き場所# Options Indexes MultiViews
Options MultiViews #ファイル一覧表示拒否。
AllowOverride None
Order allow,deny
Allow from all
</Directory>
AddLanguage ja .ja #AddLanguageの行がたくさん並んでいるが、先の行を先頭に。
LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW #ここも ja を先頭に
#AddHandler cgi-script .cgi
→ AddHandler cgi-script .cgi .pl #コメント解除し、.pl もCGIスクリプトとして動かせるように
3.シンボリックリンク作成(Perlのパス)
下記コマンドで、perlのディレクトリへのシンボリックリンクを貼っておく。
ln -s /usr/bin/perl /usr/local/bin/perl
4.ドキュメントルートの所有者を変更
ドキュメントルートの所有者を、Webコンテンツをアップするユーザにしておく。
chown -R (ユーザ名) /var/www/html
所有者を変更できたら、Webコンテンツアップ用ユーザでテスト用のファイルを作っておく。下記のコマンドで叩くと楽。
echo '<h1>Under Constructions!</h1>' > /var/www/html/index.html
5.iptables の設定
ここでも、ファイアウォールの設定が必要だった。
vsftpd の時は設定ファイルをいじったが、下記コマンドでもイケるようだ。
# /sbin/iptables -I RH-Firewall-1-INPUT 10 -p tcp --dport https -j ACCEPT
# /sbin/iptables -I RH-Firewall-1-INPUT 10 -p tcp --dport http -j ACCEPT# /sbin/service iptables save
6.Webサーバ起動
/etc/rc.d/init.d/httpd start
chkconfig httpd on
7.ブラウザから確認
ブラウザから4で作ったテストページへアクセス。
ホスト名では上手くアクセスできなかったが、IPアドレスでは無事アクセスできた。
あくまでも、宅内のローカルなドメインしか付けてないので、ホスト名で行くには、クライアント側も何らかの設定が必要なのかも。

コメント