certbotを使ってブログをSSL化にしてみました。
certbotとは
certbotはLet’s Encryptを自動的に更新してくれるツールです。公式サイトへ行って使用しているOSとWebサーバを指定するだけで、インストールコマンドを表示してくれて非常に親切ですが、SSLを動作させるには苦労しました。
Let’s Encryptとは
フリーの証明書基幹です。フリーなだけに有効期間が90日間ととても短いです。そのため、certbotを使い自動的にSSLを更新するシステムにするわけです。
certbotの設定について
fedora 31でapacheの場合の話になりますが、手動設定が必要になったところだけ説明したいと思います。
# dnf install certbot certbot-apache # certbot --apache Saving debug log to /var/log/letsencrypt/letsencrypt.log Error while running apachectl configtest. AH00526: Syntax error on line 101 of /etc/httpd/conf.d/ssl.conf: SSLCertificateFile: file '/etc/pki/tls/certs/localhost.crt' does not exist or is empty
上記のようにパッケージを入れてcertbotを実行すると応答式で設定完了するはずですが、エラーが出ます。localhost.crtなんてファイルないよってね。とりあえず、ここは気にせず設定をすすめます。設定は通常と変わらないので割愛しますが、リダイレクト設定はしません。
設定が終わったら、ssl.confを開いて証明書を指定しなおします。
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateFile /etc/letsencrypt/live/kulog.org/cert.pem #SSLCertificateKeyFile /etc/pki/tls/private/localhost.key SSLCertificateKeyFile /etc/letsencrypt/live/kulog.org/privkey.pem #SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt SSLCertificateChainFile /etc/letsencrypt/live/kulog.org/chain.pem
設定が終わったらhttpdを再起動するだけです。
WordPressの設定
WordPressを使っている場合、管理画面で「WordPress アドレス」と「サイトアドレス」をhttpからhttpsに変更します。これをやってからhttpsへのリダイレクト設定をします。
WordPressアドレスが変更出来ない場合はwp-config.phpを編集します。
次に、画像ファイル等のリンクをhttpからhttpsへ変更します。プラグインのSearch Regexを使えば一括変換が出来ますので楽です。これをしないと、せっかくSSL化にしても画像リンクがhttpのせいで警告がでてしまいます。
Google AnalyticsとSearch Console
Analyticsは設定変更でOKです。Google Search Consoleはhttpとhttpsを別サイトと認識するようなので、新たに追加しておきます。
これで移行完了?
これでとりあえずSSL化は完了と思っています。ほかに設定必要なことあるかな?
コメント