最終目標

  1. dockerコマンドで一発でワードプレスを展開可能
  2. 独自テーマを導入している。
  3. 可能であれば、フォーム送信などもしたい。つまり、独自のapiとのやり取りを可能にしたい。

まず知りたいのが、独自テーマを使うと、フロントエンドも自分の好きなように改変できるのか?という話。これは気になる。

dockerでワードプレスを使えるようにする。

まずは、公式docker hubこちらになります。 ふむふむ。簡単だな。こちらののdocker composeコマンドで一発で行けるか??

version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - wordpress:/var/www/html

  db:
    image: mysql:8.0
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db:/var/lib/mysql

volumes:
  wordpress:
  db:

docker composeが使えないdockerもあるのよね。これが一番だるい。dockerの公式サイトからインストールするのが一番いい。

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

で、あとは、適当に、

docker compose -f ./docker-compose.yaml up -d

8080ポートで動いてますからね。ちゃんとフォワーディングしてくだせーね。

This is an image 話変わるが、hugoでこんな感じで写真を出すためには、static/imagesを作って、こんな感じで、

![This is an image](/images/hogehoge.png)

をやればいける。

はい、こんな感じでインストール画面が出てきます。ってことで軽くインストールしていきます。

ログイン画面のURLはここ

http://japancampers-booking.com:8080/wp-login.php

okay普通にできたね。

1.5 ちょっと色々触ってみる。ってのと、なんかおすすめのプラグインがないか調べてみる。

話変わるけど、このテーマもいい感じだよね。 テーマ

サイドバーがこんな感じである

んー、簡単なハンズオンとかをYouTubeで受けたほうがいい気がしてきた。

powered by wordpressのけしかた このカルーセルはあったほうが便利な気がする

1.9. Wordpressのディレクトリの方を見てみようか

root@ac368114b351:/var/www/html# ls -la
total 264
drwxr-xr-x  5 www-data www-data  4096 Aug 18 08:34 .
drwxr-xr-x  1 root     root      4096 Aug 13 00:56 ..
-rw-r--r--  1 www-data www-data   261 Aug 18 08:53 .htaccess
-rw-r--r--  1 www-data www-data   405 Feb  6  2020 index.php
-rw-r--r--  1 www-data www-data 19915 Jan  1  2024 license.txt
-rw-r--r--  1 www-data www-data  7409 Jun 18 11:59 readme.html
-rw-r--r--  1 www-data www-data  7387 Feb 13  2024 wp-activate.php
drwxr-xr-x  9 www-data www-data  4096 Jul 23 15:15 wp-admin
-rw-r--r--  1 www-data www-data   351 Feb  6  2020 wp-blog-header.php
-rw-r--r--  1 www-data www-data  2323 Jun 14  2023 wp-comments-post.php
-rw-r--r--  1 www-data www-data  5512 Aug 13 04:00 wp-config-docker.php
-rw-r--r--  1 www-data www-data  3033 Mar 11 14:08 wp-config-sample.php
-rw-r--r--  1 www-data www-data  5616 Aug 18 08:34 wp-config.php
drwxr-xr-x  7 www-data www-data  4096 Aug 18 09:31 wp-content
-rw-r--r--  1 www-data www-data  5638 May 30  2023 wp-cron.php
drwxr-xr-x 30 www-data www-data 16384 Jul 23 15:15 wp-includes
-rw-r--r--  1 www-data www-data  2502 Nov 26  2022 wp-links-opml.php
-rw-r--r--  1 www-data www-data  3937 Mar 11 10:05 wp-load.php
-rw-r--r--  1 www-data www-data 51238 May 28 11:13 wp-login.php
-rw-r--r--  1 www-data www-data  8525 Sep 16  2023 wp-mail.php
-rw-r--r--  1 www-data www-data 28774 Jul  9 15:43 wp-settings.php
-rw-r--r--  1 www-data www-data 34385 Jun 19  2023 wp-signup.php
-rw-r--r--  1 www-data www-data  4885 Jun 22  2023 wp-trackback.php
-rw-r--r--  1 www-data www-data  3246 Mar  2 13:49 xmlrpc.php

あとね、コンテナないで動いているプロセス見てみたんだけど、

root@ac368114b351:/# ps aux  
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  1.8 239840 37016 ?        Ss   08:37   0:00 apache2 -DFOREGROUND
www-data      23  0.0  3.5 352928 71924 ?        S    08:37   0:01 apache2 -DFOREGROUND
www-data      24  0.0  3.4 350268 68896 ?        S    08:37   0:02 apache2 -DFOREGROUND
www-data      47  0.0  3.4 349468 69960 ?        S    08:55   0:01 apache2 -DFOREGROUND
www-data      62  0.0  2.6 317204 53112 ?        S    09:07   0:00 apache2 -DFOREGROUND
www-data      63  0.0  2.5 315164 51720 ?        S    09:08   0:00 apache2 -DFOREGROUND
www-data      71  0.0  2.7 317272 54680 ?        S    09:14   0:00 apache2 -DFOREGROUND
www-data      86  0.0  2.9 318296 58260 ?        S    09:26   0:00 apache2 -DFOREGROUND
www-data     108  0.0  2.8 243192 56496 ?        S    09:30   0:00 apache2 -DFOREGROUND
www-data     110  0.0  0.5 240368 10912 ?        S    09:31   0:00 apache2 -DFOREGROUND
www-data     111  0.0  2.3 240776 46796 ?        S    09:31   0:00 apache2 -DFOREGROUND
root         114  0.0  0.1   4188  3416 pts/0    Ss   09:34   0:00 /bin/bash
root         128  0.0  0.1   8100  3936 pts/0    R+   09:36   0:00 ps aux
root@ac368114b351:/# 

って感じで、マジでphpってプロセス動いてないんか?apache2は動いているみたいだけど、どういうことなんだろう、、 テーマのデータ自体はデータベースに入っているんだろうな。なるほどな。

2. 独自テーマをインストールする

3. 独自のapiと通信させる。

これはできるのか??

ワードプレスに関する情報を色々集める

テーマについて

独自のテーマの作り方: https://www.youtube.com/watch?v=-h7gOJbIpmo ーー>これに従えばどんなのでも作れる。よって、ワードプレスで行くのがいいと思われる。問題ない。進めていこう。

テーマもたくさんある:https://wordpress.org/themes/

プラグイン

おすすめのぷらぐいん;https://www.youtube.com/watch?v=QYD8wp3qb54