この記事にはプロモーションが含まれていることがあります

Ubuntu22.04LTSでWordPress環境構築

IT
スポンサーリンク

はじめに

今回は現時点で最新のUbuntuバージョン22.04-LTSWordPress環境を構築します。

WordPress実験環境をUbuntu18.04LTS上に作っていたのですが、気がつけば18.04-LTSもサポート終了(2023年6月)していましたので、今回は最新の22.04で構築します。22.04-LTSなら2027年6月までサポートがありますのでしばらく放置できますね。

必要なもの

前回はAWSでを使ったので、今回はGCPを使って作ってみます。AWSの場合はどうやるの?という人は前回の記事も合わせて読んでもらえるとわかりやすいと思います。

必要なもの
  • Googleアカウント(AWSでもOK)※この記事ではGCPで説明します
  • LinuxとDockerの知識を少々

Docker版のGitLabを使うとLinuxサーバーが一台だけあればサービスとして立ち上げることができるのでお手軽です。

おおまかな作業の流れ

前回はUbuntu20.04LTSを使いましたが、今回は最新のUbuntu22.04 LTSを使います。あとDockerdocker-composeプラグインがあるらしいのでプラグインを使ってみます。

  1. GCPGCE(Google Compute Engine)でUbuntuのバージョン22.04LTSのLinuxサーバを作成
  2. Dockerを使ってWordPressとMySQLをインストール

Linuxサーバーのインスタンスを作成

GCE画面を表示する

まずはGCPのマネジメントコンソールにログインしてCompute Engineの画面を表示します。①検索ボックスに「GCE」と入力すれば②候補が出てきますので、Compute Engineをクリックします。

Compute Engineの画面が開いたら、①でリージョンを指定して、②のインスタンスを起動ボタンを押して、Linuxのインスタンス作成画面を開きます。

①インスタンス名を入力します。わかりやすい名前がよいでしょう。

②リージョンと③ゾーンを指定します。

リージョンはどこでも良いですが、ランニングコストを下げるならアイオワ、通信速度を優先するなら東京がよいでしょう(日本在住の場合)。ゾーンはどこでもよいです。

④マシンのシリーズを選択します。ここで仮想サーバーの性能を選べます。WordPressを動かすぐらいであれば、標準的なE2シリーズで良いと思います。

選択した性能のインスタンスを一ヶ月使い続けた場合の金額が⑤に表示されるので参考にしてください。ここはAWSより親切ですね。

単位はドルなので間違えないでくださいね。

⑥マシンタイプはCPUとメモリを指定できます。e2-mediumで十分です。

ブートディスクはUbuntu22.04に変更しますので、「変更」ボタンをクリックします。

画面一番下の「作成」ボタンをクリックすればインスタンスの生成処理が始まります。

このようにインスタンスが作成されてステータスが緑チェックになれば完了です。

SSH接続

SSH接続するには、今作成したインスタンスのSSHボタンをクリックします。

このようなウインドウが開き、コマンド入力状態になれば準備完了です。

ログインしたら、最新状態にアップグレードしておきましょう。

$ sudo apt update
$ sudo apt upgrade -y

Dockerをインストール

GPGキーの追加をします。

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

次にDockerのリポジトリを登録します。

$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list

Docker本体とdocker-composeのプラグインインストールをします。

$ sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

Dockerが正しくインストールできたかバージョンを表示して確認します。

$ docker -v
Docker version 24.0.4, build 3713ee1

rootユーザ以外でもDockerを実行できるようにdockerグループに現在のユーザを追加します。

$ sudo usermod -aG docker `whoami`

グループに追加したあとは、設定を有効にするため、一度ログアウトして再ログインしてください。

WordPress環境構築用docker-compose.yaml作成

次にdocker-compose.yamlファイルを作成します。

設定内容は、dockerの公式サイトで公開されています。

以下、公式サイトからの転載(2023/06/17時点)。

作ったコンテンツ類はコンテナ外に保存するよう変更

作ったコンテンツだけコンテナ外に保存するようにしたかったので、ちょっとだけYamlファイルを書き換えました。

version: '3'

services:
   db:
     image: mysql:5.7
     volumes:
       - /docker/mysql:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     volumes:
       - /docker/wordpress/www/html:/var/www/html
     ports:
       - "80:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress

書き換えた点としては、volumes設定で、コンテナ内と外を接続するようにしました。この設定では、ホスト側の次のフォルダにWordPressのそれぞれのデータが格納されるようにしています。

  • データベース内容:/docker/mysql
  • Webコンテンツファイル類:/docker/wordpress/www/html

WordPressのバージョンを指定する場合は次のようにバージョンを指定します。

image: wordpress:6.2.2

WordPress起動

Dockerのdocker-composeプラグインを使ってMySQLとWordPressのコンテナを起動します。

$ docker compose up -d

初回はMySQLとWordPressのコンテナイメージのダウンロードがありますので時間がかかりますが、自動で起動までするのであとは待つだけです。

ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

このメッセージが表示される場合は、一度ログアウトして再ログインして試してください。

Dockerほんと便利ですよねー。docker-composeも組み合わせると気軽に環境作ったり壊せたりするので環境構築周りでは重宝します。

このようにダウンロードが始まらない場合は、ここまでの設定に何らかの問題があると思いますので再度手順を確認してください。
(2023/07/16時点では問題ないことを確認しました)

これでMySQLとWordPressのインストールと起動が完了しました。

WordPressログイン画面を表示

ブラウザから、インスタンスのグローバルIPでアクセスします。

今回の場合は、このアドレスです。http://35.224.196.35/

おおお!

WordPressがセットアップ画面が表示されました!

言語を選んで次へ進みましょう。

セットアップ画面が表示されない場合は、次のポイントを確認してみてください。

確認ポイント
  • IPアドレスが間違っていないか確認
  • ファイアウォールの設定でHTTPにチェックをつけたか確認

初期セットアップ

さて、次のセットアップ画面が表示されたら必要事項(①~⑤)を入力して、⑥のWordPressをインストールボタンを押します。

  1. サイト(ブログ)のタイトル。
  2. WordPressにログインするユーザ名。
  3. ログインする時のパスワード。
  4. メールアドレスを入力。適当なアドレスでもインストールは完了できますが、パスワードを忘れた場合などにリセットができなくなるので有効なメールアドレスをオススメします。
  5. 検索エンジンでの表示をどうするか指定できます。クローラーでインデックスしてもらいたい場合はチェックなし、メインサイト(ブログ)のミラーを作る場合は検索エンジンにはスルーして欲しいのでチェックをつけるとよいでしょう。
  6. WordPressのインストールボタンを押すとセットアップが完了します。

おお! ワードプレスでサイトが自分でゼロから構築できましたね。

スポンサーリンク

GCP上でWordPressを動かした時にできること

サイト(ブログ)の公開一時停止

WordPressコンテナ停止

一時的にWordPressを止めたい場合は、次のコマンドでWordPressのコンテナを停止できます。

$ docker compose down

WordPressコンテナ起動

WordPressのコンテナが停止している時は、次のコマンドでコンテナを起動できます。

$ docker compose up -d

WordPressをインストール直後に戻す

WordPressのコンテナを停止したあと、コンテンツ類をすべて消して再度WordPressコンテナを起動することでリセットできます。

これを実行すると、WordPress上で作成したコンテンツがすべて削除されます

$ sudo rm -rf /docker/mysql /docker/wordpress/

インスタンスを停止して課金を止める

インスタンスは起動されていると課金されます。課金を止めたい場合は、WordPressコンテナが動作しているLinuxサーバのインスタンスを停止します。

但し、ストレージは残っていますのでそれを維持コストや固定IPを割当している場合などは別途課金があるかもしれませんので詳細は料金を確認しましょう。

外部IPアドレスを固定していない状態でインスタンスを停止すると次にインスタンスを起動した時に外部IPアドレスが変わってしまいますので、IPを静的IPに切り替えて固定しておいたほうがよいでしょう。

スポンサーリンク

まとめ

いかがでしたか?

実際にLinuxのマシン上にWordPressとデータベースをインストールしていくと仕組みが分かりますね。これで簡単にWordPress環境が作ったり消したりできるようになったと思います。

私の使い方としては、テーマのお試し利用とかで使いたい時だけ起動して確認が終わったら停止しています。使った時間分だけしか課金されないのでちょっと使いの時はレンタルサーバーよりコスパいいです。

あとは、新しいデザインのテーマをお試しで適用して確認したい場合にも使えます。あまりコロコロとテーマを適用するとデザインが崩れたりすることがあるので、あまりメインブログの方ではやりたくないのでこのようなテスト用のWordPress環境があると便利だったりします。

それではまた!

おすすめ書籍の紹介コーナー

GCPは素晴らしいクラウドプラットフォームです。詳しく知りたい、使いこなしたい方にオススメ書籍を紹介します。

GCPってなんだ? とりあえずWebサービスのインフラ部分を早く作りたい、という方向けにササッと読めます。薄くて小さい本なので持ち運びも楽です。

GCPをきっちりと基礎から習得したいという方は、こちらの本がよいと思います。

コメント

タイトルとURLをコピーしました