高速WordPress AMI のSSL証明書(https)設定方法

高速WordPress AMIへのSSL証明書(https)の設定方法は以下のとおりです。

 

前提

  • ドメインの取得
  • SSL証明書の発行

以上2点はすでに済んでいることを前提とします。

また当ページではドメイン名をfastpress.jpと仮定して説明します。
各説明のfastpress.jpの部分は自分のドメインに置き換えて作業してください。

 

共通設定

サーバーへSSH接続

ec2-userでSSH接続してroot権限になります。

$ ssh -i "~/.ssh/***.pem" ec2-user@ec2-***
$ sudo su -

鍵ファイルを置く

サーバーへSSL証明書と秘密鍵を置きます。ファイルを転送するかエディタで鍵ファイルをコピーします。

証明書 (fullchain.pem)

$ vim /etc/pki/tls/certs/fastpress.jp/fullchain.pem

秘密鍵 (privkey.pem)

$ vim /etc/pki/tls/certs/fastpress.jp/privkey.pem

鍵ファイルのアクセス権限変更

置いた鍵の管理者を変更して、他のユーザーから書き込めないようにします。

$ chown apache:apache -r /etc/pki/tls/certs/fastpress.jp
$ chmod 400 -r /etc/pki/tls/certs/fastpress.jp

以後はApache版とNginx版で操作が異なります。

 

Apache版の設定

Apacheの設定を変更する

テンプレートからコンフィグを作りエディタで開きます。

$ cp /etc/httpd/conf.d/ssl.conf.default  /etc/httpd/conf.d/ssl.conf
$ vim /etc/httpd/conf.d/ssl.conf

以下の設定を変更します。

# 60行目周辺
servername fastpress.jp:443

# 100行目周辺
sslcertificatefile /etc/pki/tls/certs/fastpress.jp/fullchain.pem

# 107行目周辺
sslcertificatekeyfile /etc/pki/tls/certs/fastpress.jp/privkey.pem

設定を確認する

$ httpd -t

Syntax OKと表示されれば問題なし。NGの場合は修正箇所が表示されます。

Apacheを再起動する

設定を反映するためにhttpdの再起動をします。

$ systemctl restart httpd

WordPressの設定

Apacheの再起動後、 WordPressの管理画面へアクセスします。

WordPress管理画面から「WordPressアドレス」「サイトアドレス」のURLを https://ドメイン名/ に変更して、WordPressのサイトに問題なくアクセスできれば完了です。

 

Nginx版の設定

Nginxの設定を変更する

テンプレートからコンフィグを作りエディタで開きます。

$ cp /etc/nginx/conf.d/ssl.conf.default  /etc/nginx/conf.d/ssl.conf
$ vim /etc/nginx/conf.d/ssl.conf

以下の設定を変更します。

# 4行目周辺
ssl_certificate /etc/pki/tls/certs/fastpress.jp/fullchain.pem;
ssl_certificate_key /etc/pki/tls/certs/fastpress.jp/privkey.pem;

# 15行目周辺
server_name  fastpress.jp;

設定を確認する

$ nginx -t

以下のように表示されれば問題なし。NGの場合は修正箇所が表示されます。

$ nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
$ nginx: configuration file /etc/nginx/nginx.conf test is successful

Nginxを再起動する

設定を反映するためにnginxの再起動をします。

$ systemctl restart nginx

WordPressの設定

Nginxの再起動後、 WordPressの管理画面へアクセスします。

WordPress管理画面から「WordPressアドレス」「サイトアドレス」のURLをhttps://ドメイン名/に変更して、WordPressのサイトに問題なくアクセスできれば完了です。

 

うまく設定できない場合

  • AWSのセキュリティグループの設定は、443開いてるかチェック
  • httpd -tやnginx -tでエラーが出ていないかチェック
  • /var/log/httpd(or nginx)/ssl_error_logにエラーが出ていないかチェック