Let's EncryptでSSL/TLS証明書を取得する

提供: Akionux-wiki
Share/Save/Bookmark
移動: 案内検索

執筆時点で公開ベータ(Public Beta Program)なLet’s EncryptでSSL/TLS証明書を取得してみた。

テスト環境

Slackware Linux 14.1 64bit

Requirements

  • virtualenv

まず、pipが必要なのでインストールしてなければSlackBuildsからインストール

python/pip

pipでvirtualenvをインストール:

sudo pip install virtualenv
  • augeas

SlackBuildsから以下のパッケージをインストール

system/augeas
python/python-augeas

ダウンロード

git cloneしてダウンロードする:

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt/

virtualenvの設定[1][2]

./tools/venv.sh
source venv/bin/activate

実行

httpdを止める

sudo /etc/rc.d/rc.httpd stop

次のようにドメイン名およびサブドメイン名を指定して実行:

% ./letsencrypt-auto certonly -a standalone -d yourdomain.net -d subdomain1.yourdomain.net -d subdomain2.yourdomain.net -d ...
  • 途中でsudoするパスワードを求められる。
  • 連絡用のメールアドレスの入力
  • Let's Encrypt の利用規約(Terms of Service)への同意

が終わったら、 /etc/letsencrypt/archive/yourdomain.netにサーバ証明書(公開鍵)(certN.pem)、中間証明書(chainN.pem)、サーバ証明書と中間証明書が結合されたファイル(fullchainN.pem)、秘密鍵(privkeyN.pem)ができる:

# ls /etc/letsencrypt/archive/yourdomain.net 
cert1.pem  chain1.pem  fullchain1.pem  privkey1.pem

また、/etc/letsencrypt/live/yourdomain.netにはそれらの最新版へのシンボリックリンクができる:

# ls /etc/letsencrypt/live/yourdomain.net
cert.pem@  chain.pem@  fullchain.pem@  privkey.pem@

それらをWebサーバーで設定する。 httpd.confの例:

SSLEngine on
SSLCertificateFile "/etc/letsencrypt/live/yourdomain.net/cert.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/yourdomain.net/privkey.pem"

そして、httpdを起動する:

sudo /etc/rc.d/rc.httpd start

後で気づいたのだが、cert.pemがあるにも関わらず読み込めてないなかった

# /etc/rc.d/rc.httpd restart
AH00526: Syntax error on line 183 of /etc/httpd/extra/httpd-vhosts.conf:
SSLCertificateFile: file '/etc/letsencrypt/live/yourdomain.net/cert.pem' does not exist or is empty

これは、/etc/letsencrypt/{live,archive}のアクセス権がdrwx------になっているためで、読み込み権限を与えたら直った

chmod a+r /etc/letsencrypt/{live,archive}

References

  1. [SOLVED] Let’s Encrypt http://www.linuxquestions.org/questions/slackware-14/let%92s-encrypt-4175558901/
  2. SlackwareでLet’s Encryptは難しいけどなんとかなった模様^^; – JE1SGH BLOG SSL (大企業と富裕層への課税強化を主張するBLOG) https://je1sgh.mydns.jp/je1sghblog/?p=6904