Amazon Lightsail + Let’s Encrypt

こんばんは。1歳の娘も最近話がわかるようになってきて、少しは自分の作業時間が確保できるようになりました。

こちらのdotkoyi.netを含めていくつかのドメインをお名前.comやらさくらやらから購入し共有サーバで運用していましたが、そこまでトラフィックはないので月$5ではじめられるAmazon Lightsailに統合してみました。また、Let’s Encryptでなんと無料でHTTPS対応もできました!

まずは、Amazon Lightsailでインスタンスを作りました。自分で設定したいのでOSだけにしました。過去にUbuntuにLet’s Encryptを導入したこともあり、今回もUbuntu 16.04 LTSを選びました。

再起動したらグローバルIPアドレスが変わってしまってはいけないので、早速スタティックIPアドレスを作成しインスタンスにアタッチしました。作成されたスタティックIPアドレスをインスタンスにアタッチしないと有償になりますので、ぐれぐれも注意してくださいね。

HTTPSを対応させたいということで、インスタンスのネットワーク設定で、443番ポートを有効にしました。

Amazon Lightsailの設定は以上で、あとはお名前.com、さくらのDNS管理画面で各自のドメインを上記作成されたスタティックIPアドレスに指すようにしましょう。時間がかかる場合もありますのでその間はインスタンス内の作業にうつります。

UbuntuでWebサーバを設定することは久々ですが、良いチュートリアルがありましたので、手順に従えば無事にLAMPスタックを構築できました。英語ではありますがコマンドの意味がわかればそれだけみても全く問題はありません。

今回の趣旨は、複数のドメインを同じインスタンスでホスティングすることなので、ここで止まってはいけません。ApacheのVirtual Hostをセットアップする必要があります。Virtual Hostの設定はこちらの記事を参照しました。(DigitalOceanさんすごくわかりやすい記事を提供しますね。大感謝!)

WordPressをインストールする前に、Let’s Encryptの設定を済ませちゃいます。せっかくなので、ここで一旦Lightsailでスナップショットをとります。Lightsail管理画面の「スナップショット(Snapshots)」タブで行います。インスタンスを止めなくても問題ないはずですが、念のため止めましょう。

Let’s Encryptの設定は、こちらのページを従えば簡単にできてしまいます。Ubuntu+Apache以外にもいろいろなOS、Webサーバを対応していますので、適宜に組み合わせを選んでください。証明書は90日で期限切れちゃいますので、cronジョブを設定して定期的にrenewコマンドを実行するようにしましょう。

最後はWordpressをダウンロードしていつものようにインストールしたら終わります。しかし、ディレクトリの書き込み権限を正しく設定しないとプラグインのインストールでFTPのパスワードを聞かれたりするので、ファイルの許可設定をchown、chmodでwww-dataというユーザに書き込み権限を与えましょう。こちらの記事が参考になるかもしれません。

また、自分の場合は以下の設定をwp-config.phpに追加する必要もありました。

    define('FS_METHOD', 'direct');

あまり詳細に書けずにすみませんが、何か質問があればコメントに残していただけますと、できる限り回答しますのでよろしくお願いします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です