Let’s Encrypt がApacheでとても簡単に使えて驚いた
今回自分の勉強も兼ねて、さくらのVPSで持っていたサーバOSをCentOS6から7に変えることになりました。
何もかもがまっさらになってしまったため、再度SSLの設定にLet’sEncryptを使おうと思ったのですが、前回設定したよりもはるかに楽にできてしまったので残しておこうと思います。
Let’sEncryptとは?
自分webサーバで簡単にSSL/TLS 証明書を無料で取得できて、しかも商用利用もできる便利なヤツ詳しくはこちらのポータルサイトをどうぞ!
↓
Let's Encrypt 総合ポータル
導入
導入はカンタンyumコマンドで1発なのである。
今回はwebサーバがApacheなのでそれ用のものも一緒にインストールしました。
$ yum install certbot certbot-apache
そのあとは今まで閉じていたhttps用のポートを開けてあげます。
$ sudo firewall-cmd --add-port=443/tcp --zone=public
最後に証明書の欲しいドメイン(サブドメインも可)を入れてコマンドを実行するだけです。
バーチャルホストでいくつか作っている場合も同じ要領で作れます。
sudo certbot run --apache -d vhost1.testserver.com -d vhost2.testserver.com
以上で指定したドメインはhttpsでアクセスしても正しく表示されるはずです!
※上のコマンドを実行した後、以下のようなhttpでのアクセスをhttpsに自動的にリダイレクトするか聞いてくるので、各人好きなものを選ぶといいと思います。(ちなみに自分は自動リダイレクト設定にしました)
Please choose whether HTTPS access is required or optional. ---------------------------------------------------------------- 1: Easy - Allow both HTTP and HTTPS access to these sites 2: Secure - Make all requests redirect to secure HTTPS access ----------------------------------------------------------------
証明書の更新
Let’sEncryptで発行する証明書は3ヶ月で切れるので、それまでに更新するコマンドを実行しておきましょう。
renewコマンドではドメインを指定した実行はできないようなので、単に以下のコマンドを打つだけでOK。
単体で更新は別のコマンドがあるのでそちらをチェック
https://letsencrypt.jp/docs/using.html#renew-subcommand
$ certbot renew
最後に$ sudo systemctl restart httpd
でapacheを再起動して更新を反映!
終了!