Let’s Encrypt でbitnami wordpressを無料でhttps化 [gcp]

Pocket
LINEで送る

運用中のウェブサイトをhttps化させる為に、無料で証明書をインストールする方法をご紹介します。
利用するのは Let’s Encrypt です。
DNSなどの設定が完了し、ドメイン名でサイトへのアクセスを可能にしておく必要があります。

 

Let’s Encrypt

Let’s Encrypt 公式サイト

環境

僕がインストールした環境は Debian 8 (jessie) です。
また、GCPCloud Launcherからインストールした、bitnami wordpress の環境なので、
少し複雑な方法でのインストールになっています。予めご了承ください。

その他の環境の方は、公式のドキュメントからご確認ください。

Certbotのインストール

まずサーバーにインストールされているOSの確認

$ uname -a

自分のサーバのOSのバージョンがわからなくなった時に調べる方法

certbot というクライアントソフトウェアを使って、サーバーに証明書をインストールし、HTTPSを有効にしてくれます。
OS毎にインストールの方法が異なりますので、ご注意ください。

certbot 公式サイト

 

certbotapt-getでインストール

$ sudo apt-get install certbot python-certbot-apache -t jessie-backports

サーバー証明書の発行

certbotを実行

$ sudo certbot certonly --webroot
Please enter in your domain name(s) (comma and/or space separated) (Enter 'c'
to cancel): ドメイン名を入力
Input the webroot for domainname : (Enter 'c' to cancel): /opt/bitnami/apps/wordpress/htdocs // ルートディレクトリを入力
Select the webroot for domainname:

-------------------------------------------------------------------------------
1: Enter a new webroot
-------------------------------------------------------------------------------
Press 1 [enter] to confirm the selection (press 'c' to cancel): 1 // 1と入力し [enter]
Input the webroot for nkmrkisk.com: (Enter 'c' to cancel):

 

成功すると、サーバー証明書、公開鍵などの情報が表示されます。

コメントを入れている箇所のURLは、コピーして保存しておいてください。あとで利用します。

Waiting for verification...
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-certbot.pem // ここの “0000_key-certbot.pem”のPATHは残しておいてください
Creating CSR: /etc/letsencrypt/csr/0000_csr-certbot.pem

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/DOMAIN_NAME/fullchain.pem. Your cert will
   expire on 2017-11-16. To obtain a new or tweaked version of this
   certificate in the future, simply run certbot again. To
   non-interactively renew *all* of your certificates, run "certbot
   renew" // ここの “fullchain.pem”のPATHは残しておいてください
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

サーバー証明書のインストール

ここまで完了したら、サーバーへインストールをしていきます。
が、bitnami wordpressの場合は、色々とミドルウェアの設定が変更されているため、このままインストールしても失敗してしまいます。

なので、先にSSL周りのPATHの調整を行います。
DOMAIN_NAME の箇所はそれぞれ書き換えてください。

$ sudo ln -s /etc/letsencrypt/live/DOMAIN_NAME/fullchain.pem /opt/bitnami/apache2/conf/server.crt
$ sudo ln -s /etc/letsencrypt/live/DOMAIN_NAME/privkey.pem /opt/bitnami/apache2/conf/server.key
$ cd /opt/bitnami/apache2/bin/
$ sudo ln -s apachectl apache2ctl

Installing Let’s Encrypt certificate

ここまで完了したら、先ほどコピーして取っておいた”fullchain.pem” “0000_key-certbot.pem”などのPATHに置き換えて下記のコマンドを実行します。

$ sudo certbot install --cert-path /etc/letsencrypt/live/DOMAIN_NAME/fullchain.pem --key-path /etc/letsencrypt/keys/0000_key-certbot.pem --fullchain-path /etc/letsencrypt/live/DOMAIN_NAME/fullchain.pem
Saving debug log to /var/log/letsencrypt/letsencrypt.log
No names were found in your configuration files. Please enter in your domain
name(s) (comma and/or space separated)  (Enter 'c' to cancel):DOMAIN_NAME
Created an SSL vhost at /etc/apache2/sites-available/000-default-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/000-default-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/000-default-le-ssl.conf

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
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1 // 1を入力して[enter]

これでウェブサイトがhttps://DOMAIN_NAME でもアクセスできるようになっていれば、完了です!

SNSでもご購読できます。