2011年8月7日日曜日

Amazon EC2 (Amazon Linux) での SSL 設定

ApacheにSSLを設定します。Amazon EC2 (Amazon Linux) での ApacheとPHP  インストールと設定を完了させたうえでの設定です。証明書はジオトラストのRapidSSLを使用しました。証明書の発行に必要なCSRの作成方法については、Amazon EC2 (Amazon Linux) で CSRファイルを作成に記載しています。なお、Security Groupの設定をしている場合は443ポートを空ける必要があります。

管理者権限になる

インストールと設定は管理者権限で行いますので権限を取ります。
$sudo su -

mod_sslのインストール

yumを使って Apacheのモジュール mod_ssl をインストールします。
#yum -y install mod_ssl

SSLの設定

証明書ファイル用のディレクトリを作成します。証明書ファイル(www.dummydomain.com.crt)とキーファイル(www.dummydomain.com.key)をコピーしてアクセス権を設定します。
#mkdir /etc/httpd/ssl/
#chmod 755 /etc/httpd/ssl

証明書ファイルをコピー

#chmod 644 /etc/httpd/ssl/www.dummydomain.com.crt
#chmod 644 /etc/httpd/ssl/www.dummydomain.com.key

mod_ssl をインストールすると、/etc/httpd/conf.d/ssl.conf というファイルが作成されますので、このファイルを編集します。
#vi /etc/httpd/conf.d/ssl.conf
修正
DocumentRoot "/home/domains/www.dummydomain.com/public_html/"
ドキュメントルート。
修正
ServerName www.dummydomain.com:443
ドメイン名とポート番号。
追加
<Directory "/home/domains/www.dummydomain.com/public_html">
    Options FollowSymLinks ExecCGI
    AllowOverride all
    Order Allow,Deny
    Allow from all
</Directory>
ディレクトリの設定。
修正
LogFormat "%t %v %h %l %u \"%r\" %>s %b \"%{Referer}i -> %U\" \"%{User-Agent}i\"" custom
デフォルトで設定されている TransfarLog を削除してカスタムログにする。
追加
CustomLog logs/ssl_access_log custom env=!nolog
ログ形式を前述のcustomに設定。ログを記録しないパターンを設定(後述)。
修正
SSLCertificateFile /etc/httpd/ssl/www.dummydomain.com.server.crt
証明書ファイルの指定。
修正
SSLCertificateKeyFile /etc/httpd/ssl/www.dummydomain.com.server.key
キーファイルの指定。
未設定
#SSLCertificateChainFile /etc/httpd/ssl/www.dummydomain.com.cer
今回は設定していませんが、中間CA証明書が必要な場合は設定します。
修正
CustomLog logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" env=!nolog
画像等のログを残さない設定を追加。
追加
SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(css)|(js)$" nolog
エラーメッセージの表示画面でフッターに情報を付加しない。
追加
SetEnvIf Request_URI "favicon\.ico" nolog
ファビコンのログを残さない。

設定ファイルのエラーチェックとApacheの再起動

設定ファイルに誤りが無いかを確認して、問題がなければApacheを起動します。証明書によってはApacheの起動時にパスワードを求めてくる場合がありますので入力します。
#/usr/sbin/apachectl configtest
Syntax OK
#service httpd restart



Related Posts Plugin for WordPress, Blogger...