高速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
にエラーが出ていないかチェック