1. 事前準備
1.1 libiconvのインストール
LAMP環境構築前に、文字コード変換ライブラリである libiconv をインストールしておくことを推奨いたします。
1.2 SSLライブラリのインストール
SSL通信を利用するため、以下のコマンドで openssl-devel をインストールしてください。
yum install openssl-devel
2. Apache2 のインストール
Apache公式サイト:Apache HTTP Server
2.1 httpd 2.0 の場合
以下のオプションを指定してコンパイルします。
./configure \
--enable-so \
--enable-ssl \
--enable-rewrite \
--enable-deflate \
--enable-mods-shared=all \
--with-z=/usr/local \
--with-ssl=/usr/local
2.2 httpd 2.2 の場合
./configure \
--enable-so \
--enable-modules=all \
--enable-mods-shared=all \
--enable-ssl \
--with-included-apr
その後、以下の手順でコンパイルおよびインストールを実施します。
make -j
make install
3. 起動スクリプトの設定
3.1 起動スクリプトのコピー
Apache起動用スクリプトを所定のディレクトリへコピーします。
cp ./build/rpm/httpd.init /etc/rc.d/init.d/httpd
3.2 パーミッションの設定
起動スクリプトに実行権限を付与します。
chmod 755 /etc/rc.d/init.d/httpd
3.3 自動起動の設定
システム起動時にApacheが自動的に起動するよう設定します。
chkconfig httpd on
4. httpd.conf の設定
4.1 PHPのMIME設定
PHPファイルの扱いを定義するため、以下のディレクティブを追加します。
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
4.2 ServerLimit(mpm_prefork_moduleの場合)
mpm_prefork_module
を利用する場合のサーバー設定例は以下の通りです。
<IfModule mpm_prefork_module>
ServerLimit 512
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 256
MaxRequestsPerChild 0
</IfModule>
4.3 ログの設定
以下の設定により、特定のリソースおよびIPからのアクセスを除外しつつ、rotatelogs を利用してログをローテーションします。
SetEnvIf Request_URI "(\.gif|\.jpe?g|\.png|\.css|\.js|\.ico|\.3gp|\.3g2|\.amc)$" log
SetEnvIf Remote_Addr "^192\.168\." log
SetEnvIf Remote_Addr "^127\.0\." log
ErrorLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/error.%Y%m%d.log 86400 540"
CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/access.%Y%m%d.log 86400 540" combined env=!log
4.4 リダイレクト設定
以下の設定により、ドメインのリダイレクトを実施します。
###################################################
# リダイレクト
###################################################
ServerName domain.domain
ServerAlias *.domain.domain
Redirect permanent / http://www.dom.dom/