Letsencryptの無料SSL証明書を導入してみた

| 2016年4月29日 | 0 Comments

最近、GoogleはホームページがSSLに対応している事を重要視しているというので、私のサイトもSSLに対応させようと思ったのですが、SSLの証明書は基本的に有料なので、個人サイト運営者には敷居の高い話でした。しかし、最近はStartSSL.comのように無料でSSL証明書を発行できるようになったり、比較的安価な証明書もあるので、個人でも導入しやすい環境が整ってきています。そんな中、SSLを普及させるためにLet’s Encryptというプロジェクトが発足し、簡単に無料でSSL証明書を手にすることができるようになりました。

レンタルウェブサーバーを利用している人は残念ながら利用できませんが、サーバー管理者であればLetsencryptを無料で導入可能です。私が今回VPSへ導入するにあたって苦戦事項がいくつかあったので記録します。

OS:Centos 6.7
Apache: 2.2

まず、私の場合、ヴァーチャルホストを使って複数ドメインを利用しているのですが、これでまず引っかかりました。letsencrypt-autoコマンドで証明書を発行しようとすると以下のエラーが出て失敗してしまいます。

以下のコマンドを使って、ヴァーチャルホストの設定を確認しても問題ありません。

ここで結構苦戦したのですが、どうやらヴァーチャルホストの設定をhttpd.confに書き込むとダメみたいです。ヴァーチャルホストごとにexample.com.confのようにファイルを作成して、/etc/httpd/conf.d/に保存しないとダメでした。

httpd.confファイルに記述したヴァーチャルホストの設定は全て消去し、改めて、example.com.conf, example2.com.conf…と一つずつファイルを作っていきます。

また、別ドメインでStartSSL.comを利用してSSL化していたのですが、こちらですでに記述してあったポート番号443のヴァーチャルホストの設定が邪魔になるため、こちらも削除しました。

ここまで出来ると後は証明書発行するコマンドを叩くだけなのですが、ここで注意点なのですが、複数のドメインを一括してやることもコマンド上可能なのですが、どうも色々と不具合が発生します。複数のドメインに対して証明書を発行する場合は、1つ1つやる事をお勧めします。

Letsencryptの方でexample.com-le-ssl.confのファイルを作ってくれるのですが、このファイルのままhttpdサービスを再起動してもうまく動作しないので、作成されたファイルの中身を先ほどつくったexample.com.confにコピペします。

これでhttpdサービスを再起動するともうSSL化完了です。導入するのにちょっと手間暇かかりましたが、マルチドメインでSSLを利用する場合、StartSSLよりこちらの方が便利に思えます。

Category: VPS

About the Author ()

Leave a Reply

Your email address will not be published. Required fields are marked *