CentOS 6 + Plesk 11におけるNginxの設定カスタマイズに続いて、Apacheの設定カスタマイズについてまとめます。
Plesk 11のWebサーバー構成
Plesk 11におけるWebサーバーの構成は、EX-CLOUDの以下のページがわかりやすいです。
・ウェブサーバの構成【Plesk11】
http://ex-cloud.jp/support/question/g-656
フロントエンドでNginx、バックエンドでApacheが稼働しています。
使用ポートは以下のとおりです。
HTTP Nginx TCP/80 → Apache TCP/7080
HTTPS Nginx TCP/443 → Apache TCP/7081
Apacheの設定変更
Nginxと同様、Apacheのコンフィグファイル群もPleskに管理されているので、基本的には直接編集してはいけません。
編集しても、Plesk上でWebサービスに関する何らかの設定を行いリコンフィグが発生した場合は、元に戻されてしまいます。
ただし、カスタマイズする手段はいくつか用意されています。
グローバル設定の変更とバーチャルホスト毎の設定変更で方法が異なります。
グローバル設定の変更
Apacheのグローバルコンフィグ /etc/httpd/conf/httpd.conf はPleskに上書きされてしまうようなので、/etc/nginx/conf.d/*.conf に新しいコンフィグファイルを生成します。
すでに、zz010_psa_httpd.conf ファイルが存在するので、設定が後勝ちになるよう、zzz010_psa_httpd.conf などのファイルを作成するとよいでしょう。
ここで、セキュリティ強化やKeepAlive、preforkのパラメータチューニングなどの設定を記述します。
# vi /etc/httpd/conf.d/zzz010_psa_httpd.conf ServerTokens ProductOnly ServerSignature Off TraceEnable Off KeepAlive On MaxKeepAliveRequests 300 KeepAliveTimeout 3 <IfModule prefork.c> StartServers 3 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000 </IfModule>
/etc/httpd/conf.d/ssl.conf など、追加モジュールのコンフィグはPleskに上書きされないので、必要に応じて編集します。
例えば、SSLv3の脆弱性対策であれば、以下のように編集します。
# vi /etc/httpd/conf.d/ssl.conf #SSLProtocol All -SSLv2 SSLProtocol All -SSLv2 -SSLv3
バーチャルホスト毎の設定変更
バーチャルホスト毎の設定変更については、EX-CLOUDのサポートページなどが参考になります。
・ウェブサーバへの手動設定追加【Plesk11】
http://ex-cloud.jp/support/question/g-657
まず、Pleskが自動生成したApacheのバーチャルホスト毎のコンフィグは以下です。
# view /var/www/vhosts/<特定のVirtualHost>/conf/last_httpd.include
DocumentRoot、SSLまわりのパラメータ、アクセス制御など、このコンフィグから変更・追加したい箇所は、
/var/www/vhosts/<特定のVirtualHost>/conf/vhost.conf – HTTPの設定
/var/www/vhosts/<特定のVirtualHost>/conf/vhost_ssl.conf – HTTPSの設定
に記述します。
※Nginxと違って、カスタムテンプレートの作成・編集は不要です。
vhost.conf, vhost_ssl.confを新たに生成した場合は、PleskにApacheとNginxを再構成させます。
これにより、last_httpd.include に、vhost.conf, vhost_ssl.conf をIncludeする行が追加されます。
# /usr/local/psa/admin/bin/httpdmng --reconfigure-all
文法チェックを行ってからApacheをreloadし、動作確認を行います。
# /etc/init.d/httpd configtest # /etc/init.d/httpd reload
不要なモジュールの無効化
不要なApacheモジュールを無効化することで、Apacheプロセスが使用するメモリ使用量を節約することができます。
Apacheモジュールを無効化は、Pleskコントロールパネルの ツールと設定 > Apacheモジュール で設定できます。
LDAP, Tomcat, キャッシュなどを使用しないのであれば、以下のモジュールは不要でしょう。
authn_anon, authn_dbm, authnz_ldap, authz_dbm, cache,
disk_cache, ldap, proxy_ajp, proxy_balancer, proxy_ftp
まとめ
CentOS 6 + Plesk 11におけるApacheの設定カスタマイズ方法についてまとめました。
コンフィグファイルを生成することで、自由に設定変更が可能なことがわかりました。