VULTR で WordPress サイトを立ち上げて、SSL対応するまで ~ メチャ簡単\(^o^)/

TabascoCat です、ついに梅雨入りいたしましたね。

「この時期はキライ!」っていう人も多いですが、ワタクシは雨の日用の長靴を存分に活用できるこの時期は大好きです。

骨の髄から貧乏性なので、せっかく買った長靴のモトを取りたいだけなのですが・・・(´・ω・`)

さて、このブログなんですがカッコつけて独自ドメインでSSL対応なんてしちゃってます。

「エックスサーバー」とか、「ロリポップ」なんかのWordPressに特化したレンタルサーバーがたくさんあるのでそちらからサイトを立ち上げるのが王道なんでしょうが、何となくVULTRで立ち上げてみようと思い立った訳であります。

VULTRとは、すべてのストレージをSSDで提供するVPSサービスとして世界的にかなりの認知度があり、東京を含めて14の都市でリージョンを展開している注目のクラウドサービスです。

ドキュメントやサービス画面が全部英語なので英語が苦手な人は敬遠してしまいそうですが、翻訳サービス等で十分利用できるぐらい分かりやすいサービス内容ですよ。

価格的には月額で5ドル~と、結構安いです。

HourlyPricing.jpg

1時間当たりの料金、$0.007~

 

MonthlyPricing.jpg

月額料金、$5.00~

 

最小プランは 1CPUでメモリ768MB、転送量は1TBで月額5ドルです。

サーバーをデプロイする。

メニューを見ているとWordPressを運用するためのプランがあったので、これを試してみます。

DeoloyNewInstance.jpg

上から順番に選択していくだけで簡単にセットアップできます。

 サーバーがデプロイ出来たら、「Server Information」の中の「Application Information」の中に管理画面へのアクセス方法が出ています。

Basic認証のユーザー名とパスワードも案内されています。

環境は CentOS 6.5 でwebサーバーはnginxで動いています。

実体ファイルは /var/www/html にあります。

管理画面は /var/www/html/wp-admin になります。

ブラウザからのアクセスは http://IPアドレス/wp-admin/ です。

管理画面にアクセスして、サイトのURIやタイトルなど基本的な設定を行います。

独自ドメインは適当なレジストラで取得して、レジストラのDNSにWEBサーバーのIPアドレスとして、先程デプロイしたサーバーに割り当てられたIPアドレスを指定します。

これで、立ち上げたWordPressへ独自ドメインで普通にアクセスできるようになりました。

Let’s Encrypt クライアントをインストールしてSSL証明書を取得する。

次にSSL対応ですが、無料でSSL証明書を発行してもらえるサービス「Let’s Encrypt」を利用しました。

VULTR のサーバーにSSHでログインします。

$ git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
$ cd /opt/letsencrypt

インストール先を /opt にしたのは特に意味はありません。

次に証明書の発行を行います。この時点では nginx は動作中ですので、webrootで行います。

$ ./letsencrypt-auto certonly --webroot -w /var/html/wordpress -d laughingbeans.org

コマンドを送信すると、メールアドレスの入力と規約への同意を確認するステップがあります。

完了すると証明書の発行が完了しています。すごく簡単です。

そして、nginx のファイルを修正します。

$ vi /etc/nginx/conf.d/wordpress_https.conf

下記の部分を書き換えます。

ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;

↓ ↓ ↓

 ssl_certificate /etc/letsencrypt/live/laughingbeans.org/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/laughingbeans.org/privkey.pem;

保存後、nginxを再起動すれば完了です。

証明書は90日で期限が切れますので、その前に証明書の更新を行います。

これも更新コマンドを送信するだけなので簡単です。

忘れちゃいそうですので、cron に登録して毎月1回実行するようにします。

nginxが動いていると更新できないようですので、一旦nginxを停止して証明書の更新が終わってからnginxをスタートさせるようにしました。

なんだかとてもあっけなく終わりましたが、ちゃんとSSL対応が完了しました\(^o^)/

今回もお読みいただきありがとうございました。