CentOS 6 + Plesk 11におけるApacheの設定カスタマイズ

CentOS 6 + Plesk 11におけるNginxの設定カスタマイズに続いて、Apacheの設定カスタマイズについてまとめます。

isdPlesk 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

isdApacheの設定変更

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

isd不要なモジュールの無効化

不要な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

isdまとめ

CentOS 6 + Plesk 11におけるApacheの設定カスタマイズ方法についてまとめました。
コンフィグファイルを生成することで、自由に設定変更が可能なことがわかりました。

(関連記事)
・CentOS 6 + Plesk 11におけるNginxの設定カスタマイズ
https://inaba-serverdesign.jp/blog/20150216/centos6_plesk11_nginx.html

・CentOS 6 + Plesk 11における各種設定カスタマイズ
https://inaba-serverdesign.jp/blog/20150217/centos6_plesk11_customize.html

Follow me!