GCPの無料枠でKUSANAGI Runs on Docker使ってWordPress構築した話

2019年1月2日Wordpress

b56903ffa8f68ad106c4c1271d3363b0 800x453 - GCPの無料枠でKUSANAGI Runs on Docker使ってWordPress構築した話

こんにちは、ゆーるるです。

今回、Wordpress構築にあたり、

サーバー:GCP(Google Cloud Platform)
WordPress実行環境:KUSANAGI Runs on Docker

を初めて利用してみたので、その記録です。

実はこのサイトの前にもWordpressでブログを書いていたのですが、諸事情でデータが全部消えてしまい\(^o^)/

以前はドメイン取得〜WPインストールまで、インフラエンジニアをやってる夫に全部やってもらっていたのですが、仕事柄(WEBサービスの運営・カスタマーサポート)、一度は自分で構築から経験してみたいなーと思ったりしていたので、作り直しを機にイチから頑張ってみました!

ちなみにゆーるるのエンジニア歴は、2018年1月にProgateで本格的にコードを触り始め、産休の約2ヶ月ほど集中的に勉強しただけのかなり初心者です。(夫の指南でGitコマンドはちょっとわかっている)

参考にさせてもらった記事の紹介と、自分が引っかかった部分を中心にまとめてみました。

スポンサーリンク


GCPを使った理由

サーバーをどこにしようか検討していたときに、Wordpress構築ならエックスサーバーがおすすめ!というのを見かけたことがあったのですが、夫から

Right Caption
エックスサーバーは簡単だけどサーバー代は高いし、ロリポップとかさくらがいいかも。
でもせっかくなら、レンタルサーバーで簡単インストールとかじゃなくて、AWSとかAzureとかGCPでサーバー立てるとこから自分でやってみると経験にもなるし面白いかもね

という提案があったので素直に従ってみました( ´∀`)

その3つの中でもGCPを選んだのは、

  • AWSは夫が詳しいから、せっかくなら知らないサービスを使ってみたかった(前回のブログのサーバーは、夫がAWSを使って運用してくれていました)
  • MicrosoftよりはGoogleが好き

という単純な理由です。

サーバー準備編

ドメイン取得について

事前にドメインは半日くらい掛けて考えたものを、「お名前.com」で取得済みです。

維持費が一番安く、見た目も悪くない「.work」を選択しました。

最初は取得費が安いのもあり「.site」にしてたのですが、年間の費用が4,000円近くかかるのに気づいて、即自動更新停止しました^^;

4,000円に比べると「.com」や「.net」のほうが半額近いし、より一般的なドメインなので、「.site」にめちゃくちゃこだわりがない限りはそちらの方がいいんじゃないかなーと思います。

000000002554 - GCPの無料枠でKUSANAGI Runs on Docker使ってWordPress構築した話impression?a id=1237553&p id=109&pc id=109&pl id=2554 - GCPの無料枠でKUSANAGI Runs on Docker使ってWordPress構築した話

まずはインスタンスを作成

GCPでは最初、12か月の無料トライアルがありますが、それとは別に常時無料枠というのがあります。

Compute Engine

スケーラブルで高性能な仮想マシン

1 f1-micro インスタンス(1 か月あたり、バージニア州北部を除く米国リージョンのみ)
30 GB の HDD(期間合計)、5 GB のスナップショット(期間合計)
1 GB の北米から全リージョン宛て下りネットワーク(1 か月あたり、中国およびオーストラリアを除く)

引用元:https://cloud.google.com/free/docs/always-free-usage-limits

上記の条件をクリアしていれば、トライアル期間が終了してもずっと無料!

せっかくなら安いに越したことはない!ということで、これでサーバーを立ててみることにしました。

インスタンスはこちらの記事を参考に作成しました。

ちなみにGCPには元々、ワードプレスを簡単にインストールする機能もあります。

こちらだと、トライアル終了後は確実に有料になりそうだったので、今回は見送りました。

SSH認証鍵をつくる

こちらの記事を見て、SSH認証鍵があったほうがよいということがわかったので、見よう見まねで設定。

記事内ではインスタンス作成前に、とありますが、インスタンスを既に作った後でも設定できました。

ed25519鍵の作成はこちらの記事を参考にしました。

cat id_ed25519.pub
で表示されたものをコピーして、メタデータ内のSSH認証鍵の場所へ入力。

念のためインスタンス内にも個別で入れています。

7e8e4470fb19b5b5d4b4a6219a36995d - GCPの無料枠でKUSANAGI Runs on Docker使ってWordPress構築した話

ポート22を閉じた

こちらを参考にポート22を閉じました。

この記事だけだとssh_configのくだりがわからなかったので調べて、以下の流れで対応しました。

  1. sudo vi /etc/ssh/sshd_configでファイルの中身を表示
  2. o でinsert modeにする
  3. Port の番号を書き換える
  4. escで終了
  5. :wq!で保存して終了
  6. sudo service sshd restartで再起動

KUSANAGI Runs on DockerでWordpressインストール編

初めに参考にしようとした記事がこちらだったのですが、

インスタンスをubuntuで立てていたので、インフラ素人のゆーるるはCentOSの環境で説明されているコマンドをubuntuで使うやり方がわからず。。

CentOSでインスタンス作り直すのもありだと思いましたが、別のアプローチがないかな、と探していたところ、「KUSANAGI Runs on Docker」でWordpress環境を構築する記事を発見。

  • 最近よく目にするDockerを使った仕組みということ
  • 前回運用していたWordPressでは読み込みの遅さが気になっていた
  • 前回のサイトはSSL未対応だったので、今回はSSL化したかった

という理由で、こちらの方法を選びました。

※記事内ではサーバログインはブラウザ上で行なっていますが、私は好みでターミナルで行いました。

docker-compose.ymlへパスワードやユーザー名の入力ができない!?

記事に従って順調に進めていたのですが、docker-compose.ymlの変更の段階でつまづきました\(^o^)/

sudo sed -i -e "s/{データベースルートパスワード}/****/g" /home/wordpress/mariadb/docker-compose.yml
をコピペで入れるも反応せず。。
なんで???ってよく見たら日本語が入力できていませんでした( ̄◇ ̄;)

ターミナルの設定を見直すも、ばっちり日本語対応だし、GCEで用意したサーバに入る前は日本語入力ができる。。

色々調べて、どうやらubuntu上に日本語パッケージが入ってないせいだとわかりましたので、

http://momijiame.tumblr.com/post/70901914418/ubuntu-で-cannot-change-locale-って怒られるアレ

を参考に、sudo apt-get -y install language-pack-jaで日本語のパッケージをインストール。

再ログインしたところ、無事日本語入力できるようになりました。

実はこの作業の前段階でwarning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)のエラーメッセージが見えてはいたのですが、その時の作業には問題なくてスルーしてたんです。

エラーメッセージの確認は大事ですね(涙)

日本語パックで解決する前に、ターミナル上でdocker-compose.ymlファイルを開いて直接編集するやり方も試してみたのですが、一部が文字化けしていたようで、書き換えていい場所か判断がつかず、日本語パッケージダウンロードでの解決に行き着きました。

最初は原因が全くわからなくて、かなりググって頑張ったので良い経験だったなと思います。

その後無事にインストールまで完了!

a27ad5d34921aac762e22eed3cc13fd8 - GCPの無料枠でKUSANAGI Runs on Docker使ってWordPress構築した話

この画面を自分の力で見られた時は感動でした。

元記事でも言及がありますが、この方法だとインストールの流れでドメインの設定やSSL化が既にできているのが便利だなーと思います。

まとめ

以上、ゆーるる頑張りの記録でした。

まだ記事数も画像も少ないからかもしれませんが、今のところはかなり動作軽そうな印象です。

ちなみに速度テストではこんな感じ。

PageSpeed Insights

5a6c09bc907cf18de7e9910acab80c09 - GCPの無料枠でKUSANAGI Runs on Docker使ってWordPress構築した話

GTmetrix

6262f2f53c46b48133a9193cb37e7478 800x303 - GCPの無料枠でKUSANAGI Runs on Docker使ってWordPress構築した話

今後記事やアクセスが増えていったときにこれを維持できるか?っていうのは課題ですね。

プラグインのせいかもしれませんが、既にsafariだと画像の読み込みが遅い感じがあるので、現在試行錯誤中です。

→ページの読み込みを早くする「InstantClick」というプラグインを入れていたのですが、その読み込みのスピードに画像読み込みが追いついていないようでした。画像も一緒に表示されて欲しかったので、プラグインを停止しました。(2019.1.2追記)

GCEのほうはというと、1つ上の容量への切り替えを勧められているので、どんどん容量増えてくると無料枠では厳しいのかな?という感じがしてます。
容量増やすとなると、AWSの最小枠のほうが安かったはずなので、また要検討かなーと思ってます。

→(2019.1.2追記)最近は全く表示されなくなりました。環境構築をしていたタイミングだったので、一時的に高負荷が掛かっていたのかも?

なるべく安く簡単にWordpressを作ってみたいエンジニア初心者の方の助けになれたら幸いですヽ(・∀・)ノ

メール設定を後日行いました!合わせて読んでいただけたら嬉しいです。>>>「WP Mail SMTPをGmailで設定するには2段階認証が必要だった!

The following two tabs change content below.
fd55ec4e6247fee6f7a22e07ca3df73d?s=80&d=mm&r=g - GCPの無料枠でKUSANAGI Runs on Docker使ってWordPress構築した話

ゆーるる

2018年5月に男の子を出産した一児の母。2019年4月から職場復帰するワーママです。
このブログは、日々の勉強や子育てのアウトプットのために更新していますが、誰かの助けになったらいいなぁと思いながら「わかりやすくまとめる」を心がけています。
育休中にFP2級とGaiq取得。最近pythonの勉強はじめました。
お問い合わせはこちらから

ブログ村参加してます!

ブログランキング・にほんブログ村へ

にほんブログ村 子育てブログへ

にほんブログ村 子育てブログ 2018年4月〜19年3月生まれの子へ

にほんブログ村 OL日記ブログ 既婚OL(子供あり)へ