cre8cre8
AskMe♥

Let's Encryptを使ってEC2(Amazon Linux)に構築したWordPressを無料でhttps(SSL)対応してみる

自分のIPアドレスしかアクセスできないようにしてAWS(AmazonLinux)EC2に開発用WordPressをインストールする
で公開できないWordPressを作りましたが、せっかく作ったWordPressをこのまま公開できないのもさみしいなぁ…(´・ω・`)っと思ったので、
安全に公開できるくらいまでセキュリティを高めたいと思いますっ!!(`・ω・´)
なのでなので!!今回はその第一弾となる https(SSL)対応を無料でやる をやっていこうと思いますが、
さくっと結論から言っちゃうと、このコマンドを実行してセキュリティグループをちょいといじるだけで、終わっちゃいます。

shell
1curl -LO https://ja.wordpress.org/wordpress-latest-ja.tar.gz
2tar xzf wordpress-latest-ja.tar.gz
3mv wordpress html
4sudo yum install -y httpd mysql-server php php-mysql
5sudo rm -rf /var/www/html
6sudo mv html /var/www/html
7sudo chown apache /var/www/html
8sudo service mysqld start
9sudo service httpd start
10mysql_secure_installation
11mysql -uroot -e 'CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8'
12mysql -uroot -e "GRANT ALL ON wordpress.* TO 'dev'@'localhost' IDENTIFIED BY 'devdevdev'"
13sudo yum install -y git
14git clone https://github.com/certbot/certbot.git
15./certbot/certbot-auto --apache -d lets-encrypt-wp.cre8cre8.com --debug

前回の記事をマジメ(?)にやっていただいた方は最後の2行の
shell
1git 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
1sudo yum install -y git
を実行するとgitというコマンドが使用できるようになります。
このgitはバージョン管理ツールなのですが、解説すると長くなるため別記事に書きますね。
とりあえず、Let's Encryptをダウンロードするためにgitを使うと覚えておいてくださいな。

gitがインストールできたら、下記のコマンドを実行してLet's Encryptをダウンロードしてください!

shell
1git 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
この1行のコマンドを実行するだけです♪
実行すると、画面にいくつか質問が表示されますので、
それに回答するだけでLet's Encryptがよきにはからってくれます。
それでは早速やっていきましょう!

メールアドレス入力
この画面では連絡がつくメールアドレスを記入します。
英文で説明がかかれていますが、証明書のリカバリーなどで使用するとのことです。

規約に同意
利用規約に同意してくださいというお約束のあれです。

sslの設定ファイルの場所
Virtual Host関連の設定ファイルの選択です。
一択しかないので、これを選択します。

よりセキュアなhttpsのみを選択
HTTPとHTTPSの両方を許可するかHTTPSのみにするかの選択です。
よりセキュアなほうで構築したいのでHTTPSを選択します。

--debugオプションですが、Let's EncryptをAmazonLinuxで使うときに必要となるオプションです。
ない場合はエラーで作ってくれないので、注意してくださいね。

まとめ

それでは、さっそくブラウザでアクセスしてみましょう。
下記のスクショのアドレス欄のように鍵マークがでて、https...となっていれば大成功です!
https(ssl)になっているか確認

Let's Encryptを使ってhttps(SSL)対応するには、以下のような手順で実行します。

どうでしたか?思った以上に簡単だったのではないでしょうか??
どうしてもうまくいかないという方はコメントかこのページの一番下にあるお問い合わせからご連絡くださいね。

≪ 前の記事
クールでイカしてるwysiwygエディタFroalaをRailsに5分で導入する
次の記事 ≫
s3で月10円程度webサイトを公開する

いいねやコメントを送っていただけると中の人がしっぽ振って大喜びします♪

あなたへのおすすめの記事