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
#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