1. opensslのインストール
# apt-get install openssl
2. opensslの設定
/etc/ssl/openssl.cnfの
- [usr_cert]セクションのnsCertType=serverのコメントアウトを外す
- [v3_ca]セクションのnsCertType=sslCA,emailCAのコメントアウトを外す
3. sslの証明書作成
# cd /usr/lib/ssl/misc/ //証明書の作成 # ./CA.sh -newca //パスフレーズが鬱陶しいので消す # openssl rsa -in ./demoCA/private/cakey.pem -out ./demoCA/private/cakey.pem //証明書の作成 # openssl x509 -in ./demoCA/cacert.pem -out ./demoCA/cacert.crt //ブラウザにインポートするderファイル作成 # openssl x509 -inform pem -in ./demoCA/cacert.pem -outform der -out ./demoCA/ca.der
4. 証明書をApache2に登録
# mkdir /etc/apache2/ssl # cp /usr/lib/ssl/misc/demoCA/cacert.crt /etc/apache2/ssl # mkdir /etc/apache2/ssl/private # cp /usr/lib/ssl/misc/demoCA/private/cakey.pem /etc/apache2/ssl/private/
5. Apache2側の設定
SSLのVirtualHost設定をコピー
# cp /usr/share/doc/apache2.2-common/examples/apache2/extra/httpd-ssl.conf.gz /etc/apache2/site-available/ssl.gz # gzip -d /etc/apache2/site-available/ssl.gz
/etc/apache2/site-avalable/defaultの頭の部分を以下のように変更.
NameVirtualHost *:80 <VirtualHost *:80>
/etc/apache2/site-avalable/sslを以下のように変更.
<VirtualHost *:443> DocumentRoot "hoge" ServerName hoge:443 ServerAdmin hoge@localhost ErrorLog /var/log/apache2/error_log.ssl TransferLog /var/log/apache2/access_log.ssl SSLCertificateFile /etc/apache2/ssl/cacert.crt SSLCertificateKeyFile /etc/apache2/ssl/private/cakey.pem
6. mod, siteを有効に
# a2enmod ssl # a2ensite ssl # /etc/init.d/apache2 restart