このblogをご覧の皆さん、あけましておめでとうございます。
今後ともよろしくご愛顧のほどお願いいたします。
新年1発目のネタは、Let's Encryptという、SSLの証明機関のオープンソース版みたいなものを
試してみました。
残念ながら、このblogが動いているサーバーでは動作しなかったので(Debian stretch)
VM上に、Debian Jessieをインストールして検証しました。
ちなみに、Debian stretchで動かない原因は「gccのバグ」です。
早めに修正されて、deb展開されることを祈っています
(海外フォーラムで見る限りだと、すでにbackportsされているようなのですが。)
本題です。
VMへ新規インストールしたため、apacheも入っていない状態からスタートします。
1. git, apache2のインストール
apt-get install apache2 git
2. 80, 443ポートを開放
設定するドメインを本当に所持しているか確認しにきます。
ufwやiptables等で弾いている場合は解放しましょう。
自宅サーバーの場合は、ルーターでポートマップしておきましょう。
3. letsencryptをgitからclone
任意のディレクトリで、以下のコマンドを実行します。
# git clone https://github.com/letsencrypt/letsencrypt
4. letsencrypt-auto を単体で実行し、必要なパッケージのインストール
# cd letsencrypt
# ./letsencrypt-auto
5. 証明書の取得、作成、設定
# ./letsencrypt-auto certonly --apache -d <所有ドメイン>
6. Apacheの設定が勝手に書き換わり、443の定義が二つ現れるため片方コメントアウト
# cd /etc/apache2/
# vi ports.conf
<IfModule ssl_module>
Listen 443
</IfModule>
と、
<IfModule mod_ssl.c>
Listen *:443
</IfModule>
の二つが設定されているはずなので、元々ある上の設定をコメントアウト
7. Apache2の起動 # systemctl start apache2.service
8. SSLlabs等を利用し、SSLの設定が正常に行われているか確認
https://www.ssllabs.com/ssltest/analyze.html?d=<所有ドメイン>
以上です。非常に簡単。便利。
standaloneで取得して設定する必要のほうが多いとは思いますがそれを差し置いても、外部に委託して証明書を作成するよりははるかに楽です。
さぁ、あなたも let's try!
コメント