もうほどんどのサーバがCoentOS7を使っているかもしれないが、古いシステムはいまだにCentOS6を使っていたりしていて、Apacheのバージョンも2.2のままなケースはまだ少なからずあります。
今回はCentOS6からCentOS7にバージョンアップした際に、Apacheも2.2から2.4へ上げる上で設定を変更した内容をここにメモしておきます。
apacheの実行方法の違い
[Apache2.4]
実行実行
sudo systemctl start httpd.service
停止
sudo systemctl stop httpd.service
ステータスの確認
sudo systemctl status httpd.service
[Apache2.2]
実行
sudo service httpd start
停止
sudo service httpd stop
ステータスの確認
sudo service httpd status
CentOS7でhttpd.confの注意点
以下のライブラらりを読み込ませる
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule php5_module modules/libphp5.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule unixd_module modules/mod_unixd.so
設定ファイルの書き方の違い
[Apache2.4]
#全て許可
Require all granted
#全て拒否
Require all denied
[Apache2.2]
#全て許可
Order allow,deny
Allow from all
#全て拒否
Order deny,allow
Deny from all
その他
- ServerTokens と ServerSignatureの設定項目が無くなっています。
- <Directory "/var/www/icons">ディレクトリブの設定が
/etc/httpd/conf.d/autoindex.conf内に移動しています。 - ユーザーディレクトリ作成の設定項目がすべて
/etc/httpd/conf.d/userdir.confに移動しています。 - ユーザーディレクトリ作成の設定項目内容が多少変更されています。
デフォルトでは<Limit GET POST OPTIONS>と<LimitExcept GET POST OPTIONS>が
廃止され、代わりに Require method GET POST OPTIONS という
設定が追加されています。 - /etc/httpd/conf/httpd.conf内のバーチャルホスト設定が廃止され
/etc/httpd/conf.d/配下にvhost.confという名で新規作成 - DefaultType text/plainをコメントアウト
- NameVirtualHost 80をコメントアウト