Let's Encryptを使ってEC2(Amazon Linux)に構築したWordPressを無料でhttps(SSL)対応してみる
自分のIPアドレスしかアクセスできないようにしてAWS(AmazonLinux)EC2に開発用WordPressをインストールする
で公開できないWordPressを作りましたが、せっかく作ったWordPressをこのまま公開できないのもさみしいなぁ…(´・ω・`)っと思ったので、
安全に公開できるくらいまでセキュリティを高めたいと思いますっ!!(`・ω・´)
なのでなので!!今回はその第一弾となる https(SSL)対応を無料でやる をやっていこうと思いますが、
さくっと結論から言っちゃうと、このコマンドを実行してセキュリティグループをちょいといじるだけで、終わっちゃいます。
shell | |
---|---|
1 | curl -LO https://ja.wordpress.org/wordpress-latest-ja.tar.gz |
2 | tar xzf wordpress-latest-ja.tar.gz |
3 | mv wordpress html |
4 | sudo yum install -y httpd mysql-server php php-mysql |
5 | sudo rm -rf /var/www/html |
6 | sudo mv html /var/www/html |
7 | sudo chown apache /var/www/html |
8 | sudo service mysqld start |
9 | sudo service httpd start |
10 | mysql_secure_installation |
11 | mysql -uroot -e 'CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8' |
12 | mysql -uroot -e "GRANT ALL ON wordpress.* TO 'dev'@'localhost' IDENTIFIED BY 'devdevdev'" |
13 | sudo yum install -y git |
14 | git clone https://github.com/certbot/certbot.git |
15 | ./certbot/certbot-auto --apache -d lets-encrypt-wp.cre8cre8.com --debug |
前回の記事をマジメ(?)にやっていただいた方は最後の2行の
shell | |
---|---|
1 | git clone https://github.com/certbot/certbot.git |
2 | ./certbot/certbot-auto --apache -d lets-encrypt-wp.cre8cre8.com --debug |
この設定方法は所有している独自ドメインのAレコードにWordPressのIPアドレスが設定されている前提で説明しています。
もし前提条件を満たしていない場合は、Route53で独自ドメインを管理してEC2インスタンスに紐付けるをご覧になって設定してくださいね。
セキュリティグループの調整
Let's Encryptを使用してhttps(SSL)対応するためには、
外部からWordPressにアクセスできるようにする設定が必要になりますので、
セキュリティグループの設定をします。
Add Ruleボタンを2回押下して、HTTPとHTTPSを追加します。
赤枠で囲った内容のように、ProtocolとPort Rangeはデフォルトのままで、SourceをAnywhere、0.0.0.0/0と設定してください。
WordPressのインストール(1行目から12行目)
自分のIPアドレスしかアクセスできないようにしてAWS(AmazonLinux)EC2に開発用WordPressをインストールする
上記の記事をみるとええ感じにまとまっています。
まだ読んでいない方はさく☆っと読んでくださいな♪
gitのインストール
無料でhttps(SSL)対応するには、Let's Encryptをダウンロードする必要がありますので、その準備です。
shell | |
---|---|
1 | sudo yum install -y git |
このgitはバージョン管理ツールなのですが、解説すると長くなるため別記事に書きますね。
とりあえず、Let's Encryptをダウンロードするためにgitを使うと覚えておいてくださいな。
gitがインストールできたら、下記のコマンドを実行してLet's Encryptをダウンロードしてください!
shell | |
---|---|
1 | git clone https://github.com/certbot/certbot.git |
Let's Encryptを使ってhttps(SSL)対応!
https対応するのって難しいのでしょ??私にはできないわぁ〜。。。(´・ω・`)
安心してください。簡単ですよ。
shell | |
---|---|
1 | ./certbot/certbot-auto --apache -d lets-encrypt-wp.cre8cre8.com --debug |
実行すると、画面にいくつか質問が表示されますので、
それに回答するだけでLet's Encryptがよきにはからってくれます。
それでは早速やっていきましょう!
この画面では連絡がつくメールアドレスを記入します。
英文で説明がかかれていますが、証明書のリカバリーなどで使用するとのことです。
利用規約に同意してくださいというお約束のあれです。
Virtual Host関連の設定ファイルの選択です。
一択しかないので、これを選択します。
HTTPとHTTPSの両方を許可するかHTTPSのみにするかの選択です。
よりセキュアなほうで構築したいのでHTTPSを選択します。
--debug
オプションですが、Let's EncryptをAmazonLinuxで使うときに必要となるオプションです。
ない場合はエラーで作ってくれないので、注意してくださいね。
まとめ
それでは、さっそくブラウザでアクセスしてみましょう。
下記のスクショのアドレス欄のように鍵マークがでて、https...となっていれば大成功です!
Let's Encryptを使ってhttps(SSL)対応するには、以下のような手順で実行します。
- セキュリティグループの設定をして外部からWordPressに繋げれるようにする
- gitを使ってLet's Encryptをダウンロードする
- certbot-auto コマンドを使用してhttps(SSL)の設定をよきにはからってもらう
どうでしたか?思った以上に簡単だったのではないでしょうか??
どうしてもうまくいかないという方はコメントかこのページの一番下にあるお問い合わせからご連絡くださいね。