■ Apache HTTP Server
バージョン2.2 を導入する。
# apt-get install apache2
■ SSL
SSL通信で必要な証明書を作成。
・ 証明書作成スクリプトの準備
簡単に作成するためのコマンド(make-ssl-cert)を
使用するため、ssl-cert パッケージをインストールする。
# apt-get install ssl-cert
依存している openssl パッケージが、一緒にインストールされる。
/usr/sbin/make-ssl-cert というコマンドがインストールされるが、
これをそのまま使用すると、証明書の有効期限が30日で作成されるので
365日で作成されるように修正する。
# cp -p /usr/sbin/make-ssl-cert /usr/local/sbin/make-ssl-cert-365days
/usr/local/sbin/make-ssl-cert-365days を修正する。
最後の方にある、以下で始まる2行に -days 365 を追加する
openssl req -config $TMPFILE -new -x509 -nodes ・・・
上のように始まる2行に -days 365を追加
openssl req -config $TMPFILE -new -days 365 -x509 -nodes ・・・
・ 証明書の作成
作成場所を準備
# mkdir /etc/apache2/ssl
作成実行
# make-ssl-cert-365days /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache2.pem
ここで、トラブル発生、make-ssl-cert はキャラクタベースの
設定画面が表示されるのだが、色の設定が悪いらしく
見えない・・・
接続に利用している Poderosa で色の設定を適当に変えて
再び make-ssl-cert を再び実行すると、なんとか見えるようになった。
ただ、日本語表示だと多少表示が崩れているが、問題ないレベル
CountryName:JP
stateOrPriovinceName:Tokyo
localityName:Musashino-shi
organisationName:適当に
organisationalUnitName:適当に
commonName:適当に
設定を終えると apache2.pem ファイルが出来る。
このファイルには秘密キーと公開キーが入っている。一瞬「えっ?」と思ったが
どうやら Apache2 が、公開キーだけクライアントに送るとかするらしい・・・
sslの設定ファイルを追加
追加する設定ファイルは、テンプレートを利用する。
/usr/share/doc/apache2.2-common/examples/apache2/extra/httpd-ssl.conf.gz
を /etc/apache2/sites-available にコピーする
# cd /etc/apache2/sites-available/
# gunzip httpd-ssl.conf.gz
# mv httpd-ssl.conf ssl
解凍した httpd-ssl.conf の以下の項目を変更する。
VirtualHostの :443 を消してしまっているが、これでいいのかあやしい・・・
気が向いたらフォローすることにする(ぅおぃ
<VirtualHost _default_>
DocumentRoot "/var/www"
ServerName 適当なサーバー名
ServerAdmin 適当なメールアドレス
SSLCertificateFile /etc/apache2/ssl/apache2.pem
SSLCertificateKeyFile /etc/apache2/ssl/apache2.pem
ssl モジュールの有効化
# a2enmod ssl
ssl 設定を有効化する
# a2ensite ssl
apache2 再起動
# apache2ctl restart