【WSL 2 + Docker】WordPress 環境の構築手順

WordPress

コンテナ型仮想化環境を使って WordPress 環境を構築

前回、投稿した記事で Docker Desktop for Windows の構築手順と httpd イメージを使って簡単な Web サイトの構築手順を解説いたしました。


その中では、hello-world イメージを使った簡単な検証や httpd イメージを使った簡単な Web サイトの検証といった、ごく簡単な Docker の解説でした。

それでは実用的と呼ぶには程遠いので、今回は、WSL 2 + Docker 環境で Docker Compose を使用し WordPress の実行環境を構築する手順を解説いたします。

なお、使用する環境は WSL 2 + Docker Desktop for Windows となりますが、環境構築手順に関しては割愛いたします。WSL 2 + Docker Desktop for Windows の環境構築手順をご覧になりたい方はこちらをクリックしてください。
また、WSL 2 の環境構築手順に関しても割愛いたします。WSL 2 の環境構築手順をご覧になりたい方はこちらをクリックしてください。



スポンサーリンク

スポンサーリンク

スポンサーリンク

前提条件

本稿を読み進めていくうえで、2つほど前提条件があります。

まず1つ目は、以前、投稿した「【Windows 10】Windows Subsystem for Linux 2 セットアップガイ【Ubuntu 20.04】」で解説した通り、Linux OS のインストールが必要になります。



続いて2つ目は、Visual Studio Code(以下、VSCode と呼びます)が必要になります。
なお、VSCode は Microsoft の公式サイトから入手が可能です。

画像クリックで拡大画像を表示します

環境にあわせたインストーラーをダウンロードしてください。


VSCode は Microsoft の公式サイトから入手が可能です。



なお、VSCode の拡張機能から Remote Development のインストールが必要になります。

画像クリックで拡大画像を表示します

検索ボックスに「Remote Development」と入力することで、Remote Development が表示されます。



なお、Remote Development には、以下の機能が含まれています。

Remote – Containers コンテナへの接続機能
Remote – WSL WSL への接続機能
Remote – SSH SSH での接続機能


WSL のターミナルから実行することも可能です。その場合、VSCode のインストールが不要になります。



WordPress の構築

では、Docker を使用した WordPress の構築手順を解説いたします。


docker-compose.yml の作成

まず、「docker-compose.yml」の作成手順を解説いたします。

なお、本稿では「docker-compose.yml」の作成は VSCode から実施します。


Ubuntu をターミナルから開きます。
作業用のディレクトリ作成と VSCode から作成したディレクトリにアクセスするため、以下のコマンドを実行します。

mkdir wp-test
cd wp-test
code .
画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します


作業用のディレクトリ名は「wp-test」としています。

また「code .」を実行することで、VSCode で現在のディレクトリを開くことができます。




VSCode の起動時、作成者の信頼確認が表示された場合、[すべてのファイルの作成者を信頼します] をチェックし [はい、作成者を信頼します] をクリックします。すると、VSCode から作業用のディレクトリが開かれます。

画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します




次に、「docker-compose.yml」を作成および編集を実施した後、「docker-compose.yml」を保存します。

画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します


以下は「docker-compose.yml」の編集例です。

version: '3.8'
services:
  wordpress:
    image: wordpress:latest
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: tamao
      WORDPRESS_DB_PASSWORD: tamaopassword
      WORDPRESS_DB_NAME: DB_WordP
    volumes:
      - wordpress:/var/www/html

  db:
    image: mysql:latest
    restart: always
    environment:
      MYSQL_DATABASE: DB_WordP
      MYSQL_USER: tamao
      MYSQL_PASSWORD: tamaopassword
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db:/var/lib/mysql

volumes:
  wordpress:
  db:


「docker-compose.yaml」の編集方法は、dockerhub のサイト情報を参考にしています。

また、version の記載方法に関しては、docker docs のサイト情報を参考にしています。



docker-compose の実行

「docker-compose.yml」が準備できたら、続いては、docker-compose の実行手順を解説いたします。


VSCode から「docker-compose.yml」を選択します。

画像クリックで拡大画像を表示します

ポップアップメニューから [総合ターミナルで開く] をクリックします。



次に、以下のコマンドを実行し、イメージとコンテナを作成します。

docker-compose up -d
画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します



コマンドが正常に完了すると、イメージとコンテナが作成されています。

画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します



Web サイトの接続検証

続いて、Web サイトへの接続を検証いたします。


Web ブラウザから「http://localhost:8080」に接続します。

画像クリックで拡大画像を表示します

WordPress の初期構築ページが表示されますので、インストールウィザードに従い進めていきます。



正常に、WordPress のインストールウィザードが完了すると、Web サイトが表示されます。

画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します




テーマを変更するため、あらかじめ準備していた WordPress テーマファイルをアップロードします。

画像クリックで拡大画像を表示します

準備していた WordPress のテーマは、無料のテーマ Cocoon です。


Cocoon のテーマは、Cocoon のサイトから入手が可能です。




なお、アップロードはエラーとなりました。

画像クリックで拡大画像を表示します

エラーメッセージ「辿ったリンクは期限が切れています。」が表示されました。



以前、投稿した記事の中で解説いたしましたが、PHP のデフォルトの制限でアップロードエラーになりました。PHP のデフォルト制限の変更手順をご覧になりたい方はこちらをクリックしてください。

PHPのアップロードサイズのデフォルト値は「2M」です。



アップロード制限の変更

テーマファイルがアップロードできませんでしたので PHP の設定変更と docker-compose の実行手順をあわせて解説いたします。


php.ini の作成

「php.ini」の作成手順を解説します。


デフォルトでは「php.ini」がありません。

画像クリックで拡大画像を表示します

アップロードサイズを設定した「php.ini」を作成します。


以下は「php.ini」の編集例です。

memory_limit = 128MB
upload_max_filesize = 128MB
ost_max_size = 128MB


memory_limit メモリ使用量の上限
upload_max_filesize 1ファイルのアップロード最大サイズ
post_max_size POSTデータ最大サイズ



本稿の例では、作業用ディレクトリ「wp-test」の配下に「php」ディレクトリを作成し、そのディレクトリに「php.ini」を作成しています。




docker-compose.yml の変更

続いて、「docker-compose.yml」の変更手順を解説いたします。


docker-compose の実行時の設定を追加します。

画像クリックで拡大画像を表示します

docker-compose の実行時に「php.ini」にアクセスするため、PHP からアクセスできるように、「php.ini」の配置定を追加しています。


以下は「docker-compose.yml」の編集例です。

version: '3.8'
services:
  wordpress:
    image: wordpress:latest
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: tamao
      WORDPRESS_DB_PASSWORD: tamaopassword
      WORDPRESS_DB_NAME: DB_WordP
    volumes:
      - wordpress:/var/www/html
      - ./php/php.ini:/usr/local/etc/php/php.ini

  db:
    image: mysql:latest
    restart: always
    environment:
      MYSQL_DATABASE: DB_WordP
      MYSQL_USER: tamao
      MYSQL_PASSWORD: tamaopassword
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db:/var/lib/mysql

volumes:
  wordpress:
  db:



docker-compose の実行

「docker-compose.yml」の修正が完了したら、続いては、docker-compose を実行します。


ターミナルにて、以下のコマンドを実行し、イメージとコンテナを作成します。

docker-compose up -d
画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します



アップロード制限の検証

イメージとコンテナの作成と同時に「php.ini」が配置できましたので、テーマのアップロードを検証しいたします。


Web サイトの接続検証」でアップロードエラーとなったテーマファイルを選択し、再度、アップロードを実行します。
テーマファイルがアップロードでき、テーマのインストールも完了しました。

画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します





テーマの変更後 Web サイトに接続すると、テーマは Cocoon に切り替わっています。

画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します




まとめ

以上が、WSL 2 + Docker 環境で Docker Compose を使用し WordPress の実行環境を構築する手順となります。

いかがでしたでしょうか?

Windows や Ubuntu などの Linux OS の場合、データベースの設定や Web サーバの設定、また、PHP の設定など、WordPress 用の Web サイトを表示するまで、環境を構築する手順が多かったと思います。



しかし、Dcoker ならば、既存の Dcoker イメージを使用し WordPress 用の Web サイトを簡単に構築することが可能です。追加する設定に関しても「php.ini」の内容を追加するだけです。

また、VSCode をインストールすれば Windows からも操作ができますので、使いやすいと感じました。

Dcoker に興味があり、また、Docker Compose を試してみたいとお考えの方の手助けになれれば幸いです。

次回は、Ubuntu イメージに Nginx インストールし、オリジナルの Docker イメージの作成手順を解説いたします。


また、Dockerfile を使って自動的にオリジナルの Docker イメージを作成する手順も解説していますので、よろしければこちらもご覧ください。





本稿をご覧になっていただいている読者様の中で、もし、インフラエンジニアを目指している方、もしくはインフラエンジニアに興味がある方がいらっしゃれば、スクールで学ぶことも「あり 」です。
いくつかインフラ系の技術が学べるスクールをピックアップいたしましたので、ご検討の一助となれば幸いです。

 スクール  受講料  受講期間  ポイント
ササエル 19,800円 14レッスン 初級のインフラエンジニアに特化したオンラインスクールです。インフラエンジニアを目指すなら、まずはここから!?
98,000円 15レッスン 初級の次は中級も学べます。
TechAcademy [テックアカデミー] 174,900円(※1) 4週間プラン コースにより、若干、インフラ要素あり。また、学べる言語が細分化されているので、目的に合ったコースが選べます。
【CCNAコース ウズウズカレッジ】 33,000円/月 1ヶ月~ 応募資格を満たしていれば、無料特待プランで受講料が無料!?
初心者OK!KENスクール 187,000円(※2) 50時間 ネットワークコースのLinuxレベル1取得講座。Webサーバーの構築まで学べます。
119,900円(※2) 30時間 ネットワークコースのWindows Server構築講座。クライアントOSの管理操作を学べます。
※1.フロントエンドコースの料金です。学生の場合、料金は163,900円と割引があります。
※2.スクール提携企業特別割引の場合、受講料が10~15% OFF、入会金無料。学生割引特典の場合、全講座料金 20% OFF。




最後までお読みいただきありがとうございました。


では。


スポンサーリンク

スポンサーリンク

WordPress
スポンサーリンク
たまおをフォローする
スポンサーリンク
たまーのテクノロジー
タイトルとURLをコピーしました