FreeBSD10のApache2.4にオレオレ証明書をインストール[追記あり]
う〜ん、サーバの更新作業をしているのですが、なかなかたどり着けません。今は、地盤固めをしています。その一つが、自己署名証明書(通称オレオレ証明書)をApache2.4にインストールすることです。
- Webホスティングサーバを更新するため一時的にアクセスできなくなります : プラスα空間 (2015年4月10日)
絶対に必要なのが、サーバ証明書です。これは、昨年と同じ方法で作ります。更新もできるのですが、昨年作ったものは暗号強度が低いので、新たに作り直します。
- StartSSLの証明書取得と設定完了[追記あり] : プラスα空間 (2014年4月22日)
ここで作る秘密鍵を、FreeBSDで使い回すことにします。この秘密鍵を使って、自己署名証明書を作ります。
手順がよくわからなかったので、まずは、次のウェブページの方法で設定(作成)してみました。うまくいきました。ありがとうございます。
Apache2.4には、次の手順でインストールします。
- 自己署名証明書作成
- Apache2.4設定変更
- 起動テスト
それでは、順番に説明していきます。
1. 自己署名証明書作成
これは、次のウェブページの方法そのままです。
Apache2.4へのインストール(説明)を簡単にするために、/usr/local/etc/apache24で作業しました。opensslは、pkgコマンドなどで、すでにインストールされているものとします。
# cd /usr/local/etc/apache24 # openssl genrsa 2048 > server.key # openssl req -new -key server.key > server.csr # openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt
三つほどファイルができるのですが、それぞれよくわかりません。次のウェブページの解説が非常にわかりやすいです。ありがとうございます。
それぞれ、次の意味があります。
- server.key … 秘密鍵。"—–BEGIN RSA PRIVATE KEY—–“で始まっています。
- server.csr … CSRファイル。"—–BEGIN CERTIFICATE REQUEST—–“で始まっています。
- server.crt … サーバ証明書。"—–BEGIN CERTIFICATE—–“が含まれます。
これも、次のウェブページで解説されています。ありがとうございます。
2. Apache2.4設定変更
Apache2.4でこれらの証明書を使うためには、次の二つのファイルを修正する必要があります。
- /usr/local/etc/apache24/httpd.conf
- /usr/local/etc/apache24/extra/httpd-ssl.conf
/usr/local/etc/apache24/httpd.conf
次のモジュールを有効にする必要があります。
LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so
LoadModule socache_dbm_module libexec/apache24/mod_socache_dbm.so
LoadModule socache_memcache_module libexec/apache24/mod_socache_memcache.so
LoadModule ssl_module libexec/apache24/mod_ssl.so
それと、extra/httpd-ssl.confを読む設定も有効にします。
Include etc/apache24/extra/httpd-ssl.conf
/usr/local/etc/apache24/extra/httpd-ssl.conf
Virtual Hostの一つとして設定します。ホスト名の名前解決ができるようにしておいてください。私は、DNSMASQを使っています。
- FreeBSDにDNSMASQを設定する : プラスα空間 (2013年8月12日)
普通に、/etc/hostsに設定しても構わないと思います。
httpd-ssl.confの次の箇所を、ご自身の環境に合わせて修正してください。
<VirtualHost _default_:443>
DocumentRoot "/usr/local/www/apache24/data"
ServerName www.example.com:443
ServerAdmin you@example.com
特に、DocumentRootを変更していると若干はまります。/usr/local/www/apache24/dataなら、httpd.confに次のように設定されています。もし、他の場所に移動していたら、同じように設定しないとアクセスできません。
<Directory "/usr/local/www/apache24/data">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
肝心の秘密鍵とサーバ証明書ですが、作業を/usr/local/etc/apache24でしたので、デフォルト設定がそのまま使えます。
SSLCertificateFile "/usr/local/etc/apache24/server.crt"
SSLCertificateKeyFile "/usr/local/etc/apache24/server.key"
3. 起動テスト
ここまでの設定が終わったら、Apacheを再起動します。
# apachectl restart
アクセスできました。
肝心の、秘密鍵を使いまわす説明までには至りませんでした。設定はできているのですが、紙面が尽きました。
(追記 2015-04-11 22:21)
もちろん、ここで作った自己署名証明書は、自宅サーバ内でのみ使います。さすがに、人様にはお見せできません。
また、Apache2.4をhttpsでアクセスできるようにする理由は、自宅サーバで本ウェブサイトのコピーを動かしているからです。本ウェブサイトはhttps運用をしており、自宅サーバもhttps運用しないと同じ環境にならないためです。
ディスカッション
コメント一覧
まだ、コメントがありません