ssl用の設定ファイルを作成する。
aptitude install apache2-doc cp /usr/share/doc/apache2.2-common/examples/apache2/extra/httpd-ssl.conf.gz /etc/apache2/sites-available/ cd /etc/apache2/sites-available/ zcat /etc/apache2/sites-available/httpd-ssl.conf.gz > /etc/apache2/sites-available/443
/etc/apache2/sites-available/sslに設定を書き込む SSLのキーを保存するディレクトリへ移動する。
cd /etc/apache2/ssl
RSAキーを作成する。
openssl genrsa -des3 -out sugio-garden.com.key 2048
パスフレーズを尋ねられるので、適当なパスフレーズを入力する。
RSAキーを元にCSRを作成する。
openssl req -new -key sugio-garden.com.key -out sugio-garden.com.csr
対話式でキーを作成する。
Wild Cardに対応させる場合には、CSR作成の際、コモン・ネームを「*.foo.com」に設定する。
作成された証明書を認証局に送る。ここではsugio-garden.com.csrの中身。 送信証明書の名前を変えておく。
mv sugio-garden.com.csr sugio-garden.com.csr.org
帰ってきた証明書をsugio-garden.com.csrとして保存する。 Apache2のSSLサイト用の設定ファイルを編集する。
SSLCertificateFile /etc/apache2/ssl/sugio-garden.com.csr
SSLCertificateKeyFile /etc/apache2/ssl/sugio-garden.com.key
SSL適用サーバーの起動時にパスフレーズを入力しないようにする。これを行っておかないと、SSL対応Apache2の起動の度に、パスフレーズが必要となる。
openssl rsa -in sugio-garden.com.key -out sugio-garden.com.key
認証局から帰ってきたファイルを指示通り処理する。
モジュールの追加
a2enmod ssl
サイト設定の追加
a2ensite 443
ここでの443は設定ファイル名
Apache2で動作試験をする。httpsでアクセスする。NameVirtualhostの記載がないと、SSL_ERROR_RX_RECORD_TOO_LONGとかのエラーが発生して、接続できない。
vi 設定ファイル名
<IfModule mod_ssl.c>
<VirtualHost *:443>
・・・・
NameVirtualhost *:443
・・・・
</VirtualHost>
</IfModule>
秘密鍵のパーミッションを変更する。
chmod 600 秘密鍵(SSLCertificateKeyFile)のパス