dreamedge.net

Apache2 with SSL @ Debian etch

2008-06-17T03:56:00+0000

ここここを参考にして設定したときの記録.

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