【Oracle Cloud】LAMP 環境で WordPress を構築してみた

# 構成図
パブリック・サブネットに配置した作業用サーバのバックエンドに、MySQL をプライベート・サブネットに配置
![名称未設定ファイル.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430519/0771cb78-cd26-6c83-6de2-ee35fb05016f.png)


# 作業用サーバの設定
## Apache のインストール
root ユーザーに切り替え後、`dnf コマンド`で Apache をインストールする。
```bash
[root@wp-vm ~]# dnf install -y httpd
Ksplice for Oracle Linux 9 (x86_64)                                                                                3.0 MB/s | 254 kB     00:00    
Oracle Linux 9 OCI Included Packages (x86_64)                                                                       81 MB/s |  71 MB     00:00    
Oracle Linux 9 BaseOS Latest (x86_64)                                                                               52 MB/s |  20 MB     00:00    
Oracle Linux 9 Application Stream Packages (x86_64)                                                                 71 MB/s |  29 MB     00:00    
Oracle Linux 9 Addons (x86_64)                                                                                     4.1 MB/s | 349 kB     00:00    
Oracle Linux 9 UEK Release 7 (x86_64)                                                                               72 MB/s |  27 MB     00:00    
依存関係が解決しました。
===================================================================================================================================================
 パッケージ                            アーキテクチャー          バージョン                             リポジトリー                         サイズ
===================================================================================================================================================
インストール:
 httpd                                 x86_64                    2.4.57-5.0.1.el9                       ol9_appstream                         65 k
依存関係のインストール:
 apr                                   x86_64                    1.7.0-12.el9_3                         ol9_appstream                        131 k
 apr-util                              x86_64                    1.6.1-23.el9                           ol9_appstream                         99 k
 apr-util-bdb                          x86_64                    1.6.1-23.el9                           ol9_appstream                         12 k
 httpd-core                            x86_64                    2.4.57-5.0.1.el9                       ol9_appstream                        1.8 M
 httpd-filesystem                      noarch                    2.4.57-5.0.1.el9                       ol9_appstream                         12 k
 httpd-tools                           x86_64                    2.4.57-5.0.1.el9                       ol9_appstream                         94 k
 oracle-logos-httpd                    noarch                    90.2-1.0.4.el9                         ol9_baseos_latest                     37 k
弱い依存関係のインストール:
 apr-util-openssl                      x86_64                    1.6.1-23.el9                           ol9_appstream                         14 k
 mod_http2                             x86_64                    1.15.19-5.el9                          ol9_appstream                        157 k
 mod_lua                               x86_64                    2.4.57-5.0.1.el9                       ol9_appstream                         59 k

トランザクションの概要
===================================================================================================================================================
インストール  11 パッケージ

ダウンロードサイズの合計: 2.4 M
インストール後のサイズ: 6.0 M
パッケージのダウンロード:
(1/11): apr-util-1.6.1-23.el9.x86_64.rpm                                                                           1.8 MB/s |  99 kB     00:00    
(2/11): oracle-logos-httpd-90.2-1.0.4.el9.noarch.rpm                                                               638 kB/s |  37 kB     00:00    
(3/11): apr-1.7.0-12.el9_3.x86_64.rpm                                                                              2.1 MB/s | 131 kB     00:00    
(4/11): apr-util-bdb-1.6.1-23.el9.x86_64.rpm                                                                       1.5 MB/s |  12 kB     00:00    
(5/11): apr-util-openssl-1.6.1-23.el9.x86_64.rpm                                                                   1.8 MB/s |  14 kB     00:00    
(6/11): httpd-2.4.57-5.0.1.el9.x86_64.rpm                                                                          6.4 MB/s |  65 kB     00:00    
(7/11): httpd-filesystem-2.4.57-5.0.1.el9.noarch.rpm                                                               1.6 MB/s |  12 kB     00:00    
(8/11): httpd-tools-2.4.57-5.0.1.el9.x86_64.rpm                                                                     16 MB/s |  94 kB     00:00    
(9/11): mod_http2-1.15.19-5.el9.x86_64.rpm                                                                          22 MB/s | 157 kB     00:00    
(10/11): mod_lua-2.4.57-5.0.1.el9.x86_64.rpm                                                                        11 MB/s |  59 kB     00:00    
(11/11): httpd-core-2.4.57-5.0.1.el9.x86_64.rpm                                                                     55 MB/s | 1.8 MB     00:00    
---------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                25 MB/s | 2.4 MB     00:00     
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                                                           1/1 
  インストール中   : apr-1.7.0-12.el9_3.x86_64                                                                                                1/11 
  インストール中   : apr-util-bdb-1.6.1-23.el9.x86_64                                                                                         2/11 
  インストール中   : apr-util-openssl-1.6.1-23.el9.x86_64                                                                                     3/11 
  インストール中   : apr-util-1.6.1-23.el9.x86_64                                                                                             4/11 
  インストール中   : httpd-tools-2.4.57-5.0.1.el9.x86_64                                                                                      5/11 
  scriptletの実行中: httpd-filesystem-2.4.57-5.0.1.el9.noarch                                                                                 6/11 
  インストール中   : httpd-filesystem-2.4.57-5.0.1.el9.noarch                                                                                 6/11 
  インストール中   : httpd-core-2.4.57-5.0.1.el9.x86_64                                                                                       7/11 
  インストール中   : mod_lua-2.4.57-5.0.1.el9.x86_64                                                                                          8/11 
  インストール中   : oracle-logos-httpd-90.2-1.0.4.el9.noarch                                                                                 9/11 
  インストール中   : mod_http2-1.15.19-5.el9.x86_64                                                                                          10/11 
  インストール中   : httpd-2.4.57-5.0.1.el9.x86_64                                                                                           11/11 
  scriptletの実行中: httpd-2.4.57-5.0.1.el9.x86_64                                                                                           11/11 
  検証             : oracle-logos-httpd-90.2-1.0.4.el9.noarch                                                                                 1/11 
  検証             : apr-1.7.0-12.el9_3.x86_64                                                                                                2/11 
  検証             : apr-util-1.6.1-23.el9.x86_64                                                                                             3/11 
  検証             : apr-util-bdb-1.6.1-23.el9.x86_64                                                                                         4/11 
  検証             : apr-util-openssl-1.6.1-23.el9.x86_64                                                                                     5/11 
  検証             : httpd-2.4.57-5.0.1.el9.x86_64                                                                                            6/11 
  検証             : httpd-core-2.4.57-5.0.1.el9.x86_64                                                                                       7/11 
  検証             : httpd-filesystem-2.4.57-5.0.1.el9.noarch                                                                                 8/11 
  検証             : httpd-tools-2.4.57-5.0.1.el9.x86_64                                                                                      9/11 
  検証             : mod_http2-1.15.19-5.el9.x86_64                                                                                          10/11 
  検証             : mod_lua-2.4.57-5.0.1.el9.x86_64                                                                                         11/11 

インストール済み:
  apr-1.7.0-12.el9_3.x86_64      apr-util-1.6.1-23.el9.x86_64       apr-util-bdb-1.6.1-23.el9.x86_64         apr-util-openssl-1.6.1-23.el9.x86_64
  httpd-2.4.57-5.0.1.el9.x86_64  httpd-core-2.4.57-5.0.1.el9.x86_64 httpd-filesystem-2.4.57-5.0.1.el9.noarch httpd-tools-2.4.57-5.0.1.el9.x86_64 
  mod_http2-1.15.19-5.el9.x86_64 mod_lua-2.4.57-5.0.1.el9.x86_64    oracle-logos-httpd-90.2-1.0.4.el9.noarch

完了しました!
[root@wp-vm ~]#
```

インストール後、`httpd`の起動と自動起動の有効化を行う
```bash
[root@wp-vm ~]# systemctl start httpd
[root@wp-vm ~]# 
[root@wp-vm ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; preset: disabled)
     Active: active (running) since Tue 2024-03-05 10:41:59 JST; 4s ago
       Docs: man:httpd.service(8)
   Main PID: 45662 (httpd)
     Status: "Started, listening on: port 80"
      Tasks: 213 (limit: 74257)
     Memory: 29.7M
        CPU: 36ms
     CGroup: /system.slice/httpd.service
             ├─45662 /usr/sbin/httpd -DFOREGROUND
             ├─45663 /usr/sbin/httpd -DFOREGROUND
             ├─45664 /usr/sbin/httpd -DFOREGROUND
             ├─45665 /usr/sbin/httpd -DFOREGROUND
             └─45666 /usr/sbin/httpd -DFOREGROUND

 3月 05 10:41:59 wp-vm systemd[1]: Starting The Apache HTTP Server...
 3月 05 10:41:59 wp-vm httpd[45662]: Server configured, listening on: port 80
 3月 05 10:41:59 wp-vm systemd[1]: Started The Apache HTTP Server.
[root@wp-vm ~]# 
[root@wp-vm ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@wp-vm ~]# 
```

## PHP のインストール
以下のコマンドで利用可能な PHP のバージョンを調べる。
```bash
[root@wp-vm ~]# dnf module list php
メタデータの期限切れの最終確認: 0:08:33 前の 2024年03月05日 10時39分04秒 に実施しました。
Oracle Linux 9 Application Stream Packages (x86_64)
Name                       Stream                       Profiles                                        Summary                                    
php                        8.1                          common [d], devel, minimal                      PHP scripting language                     

ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[root@wp-vm ~]# 
```

この場合、PHP 8.1がインストール可能であるため、以下のコマンドで PHP のインストールを行う。
```bash
[root@wp-vm ~]# dnf module install -y php:8.1
メタデータの期限切れの最終確認: 0:09:51 前の 2024年03月05日 10時39分04秒 に実施しました。
依存関係が解決しました。
===================================================================================================================================================
 パッケージ                      アーキテクチャー      バージョン                                               リポジトリー                 サイズ
===================================================================================================================================================
group/moduleパッケージをインストール:
 php-cli                         x86_64                8.1.27-1.module+el9.3.0+90130+7e4e1ce0                   ol9_appstream                3.5 M
 php-common                      x86_64                8.1.27-1.module+el9.3.0+90130+7e4e1ce0                   ol9_appstream                725 k
 php-fpm                         x86_64                8.1.27-1.module+el9.3.0+90130+7e4e1ce0                   ol9_appstream                1.8 M
 php-mbstring                    x86_64                8.1.27-1.module+el9.3.0+90130+7e4e1ce0                   ol9_appstream                470 k
 php-xml                         x86_64                8.1.27-1.module+el9.3.0+90130+7e4e1ce0                   ol9_appstream                155 k
依存関係のインストール:
 nginx-filesystem                noarch                1:1.20.1-14.0.1.el9_2.1                                  ol9_appstream                8.4 k
モジュールプロファイルのインストール中:
 php/common                                                                                                                                       
モジュールストリームの有効化中:
 php                                                   8.1                                                                                        

トランザクションの概要
===================================================================================================================================================
インストール  6 パッケージ

ダウンロードサイズの合計: 6.6 M
インストール後のサイズ: 34 M
パッケージのダウンロード:
(1/6): nginx-filesystem-1.20.1-14.0.1.el9_2.1.noarch.rpm                                                           150 kB/s | 8.4 kB     00:00    
(2/6): php-fpm-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64.rpm                                                    11 MB/s | 1.8 MB     00:00    
(3/6): php-cli-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64.rpm                                                    14 MB/s | 3.5 MB     00:00    
(4/6): php-common-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64.rpm                                                2.7 MB/s | 725 kB     00:00    
(5/6): php-mbstring-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64.rpm                                              5.0 MB/s | 470 kB     00:00    
(6/6): php-xml-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64.rpm                                                   1.0 MB/s | 155 kB     00:00    
---------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                17 MB/s | 6.6 MB     00:00     
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                                                           1/1 
  インストール中   : php-common-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                  1/6 
  scriptletの実行中: nginx-filesystem-1:1.20.1-14.0.1.el9_2.1.noarch                                                                           2/6 
  インストール中   : nginx-filesystem-1:1.20.1-14.0.1.el9_2.1.noarch                                                                           2/6 
  インストール中   : php-fpm-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                     3/6 
  scriptletの実行中: php-fpm-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                     3/6 
  インストール中   : php-cli-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                     4/6 
  インストール中   : php-mbstring-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                5/6 
  インストール中   : php-xml-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                     6/6 
  scriptletの実行中: php-xml-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                     6/6 
  検証             : nginx-filesystem-1:1.20.1-14.0.1.el9_2.1.noarch                                                                           1/6 
  検証             : php-cli-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                     2/6 
  検証             : php-common-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                  3/6 
  検証             : php-fpm-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                     4/6 
  検証             : php-mbstring-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                5/6 
  検証             : php-xml-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                     6/6 

インストール済み:
  nginx-filesystem-1:1.20.1-14.0.1.el9_2.1.noarch                            php-cli-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                
  php-common-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                   php-fpm-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                
  php-mbstring-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                 php-xml-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                

完了しました!
[root@wp-vm ~]# 
```

インストール後、念の為 PHP のバージョン確認を行う。
```bash
[root@wp-vm ~]# php -v
PHP 8.1.27 (cli) (built: Dec 19 2023 20:35:55) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.27, Copyright (c) Zend Technologies
[root@wp-vm ~]# 
```

## MySQL クライアントのインストール
ここでは以下のサイトの、RPM パッケージを使用して MySQL クライアントのインストールを行う。
※この方法で行う場合は、Oracle のアカウントが必要となる。

https://dev.mysql.com/downloads/repo/yum/
![スクリーンショット 2024-03-05 11.13.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430519/0eba7aef-c26a-dc48-069e-a48bc3e51a08.png)

インストール後、`scp コマンド`等を使用して作業用サーバに転送、
以下のコマンドで rpm パッケージのインストールを実行する。
```bash
[root@wp-vm ~]# dnf install /home/opc/mysql80-community-release-el9-5.noarch.rpm 
Ksplice for Oracle Linux 9 (x86_64)                                                                                2.8 MB/s | 254 kB     00:00    
Oracle Linux 9 OCI Included Packages (x86_64)                                                                       79 MB/s |  71 MB     00:00    
Oracle Linux 9 BaseOS Latest (x86_64)                                                                               60 MB/s |  20 MB     00:00    
Oracle Linux 9 Application Stream Packages (x86_64)                                                                 75 MB/s |  29 MB     00:00    
Oracle Linux 9 Addons (x86_64)                                                                                     3.8 MB/s | 349 kB     00:00    
Oracle Linux 9 UEK Release 7 (x86_64)                                                                               71 MB/s |  27 MB     00:00    
依存関係が解決しました。
===================================================================================================================================================
 パッケージ                                      アーキテクチャー             バージョン                  リポジトリー                       サイズ
===================================================================================================================================================
インストール:
 mysql80-community-release                       noarch                       el9-5                       @commandline                        13 k

トランザクションの概要
===================================================================================================================================================
インストール  1 パッケージ

合計サイズ: 13 k
インストール後のサイズ: 12 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                                                           1/1 
  インストール中   : mysql80-community-release-el9-5.noarch                                                                                    1/1 
  検証             : mysql80-community-release-el9-5.noarch                                                                                    1/1 

インストール済み:
  mysql80-community-release-el9-5.noarch                                                                                                           

完了しました!
[root@wp-vm2 ~]# 
```

実行後、今回使用する`mysql80-community`が有効化となっている事を確認する。
```bash
[root@wp-vm ~]# dnf repolist all | grep mysql80-community
mysql80-community                            MySQL 8.0 Community Server   有効化
```

`mysql80-community`が有効化されている事を確認後、
`mysql-community-server`のインストールを行う。
```bash
[root@wp-vm ~]# dnf install -y mysql-community-server
メタデータの期限切れの最終確認: 0:00:37 前の 2024年03月05日 11時09分17秒 に実施しました。
依存関係が解決しました。
===================================================================================================================================================
 パッケージ                                      アーキテクチャー        バージョン                       リポジトリー                       サイズ
===================================================================================================================================================
インストール:
 mysql-community-server                          x86_64                  8.0.36-1.el9                     mysql80-community                   49 M
依存関係のインストール:
 mysql-community-client                          x86_64                  8.0.36-1.el9                     mysql80-community                  3.4 M
 mysql-community-client-plugins                  x86_64                  8.0.36-1.el9                     mysql80-community                  1.4 M
 mysql-community-common                          x86_64                  8.0.36-1.el9                     mysql80-community                  556 k
 mysql-community-icu-data-files                  x86_64                  8.0.36-1.el9                     mysql80-community                  2.3 M
 mysql-community-libs                            x86_64                  8.0.36-1.el9                     mysql80-community                  1.4 M

トランザクションの概要
===================================================================================================================================================
インストール  6 パッケージ

ダウンロードサイズの合計: 58 M
インストール後のサイズ: 334 M
パッケージのダウンロード:
(1/6): mysql-community-client-plugins-8.0.36-1.el9.x86_64.rpm                                                       55 MB/s | 1.4 MB     00:00    
(2/6): mysql-community-common-8.0.36-1.el9.x86_64.rpm                                                               19 MB/s | 556 kB     00:00    
(3/6): mysql-community-icu-data-files-8.0.36-1.el9.x86_64.rpm                                                       86 MB/s | 2.3 MB     00:00    
(4/6): mysql-community-libs-8.0.36-1.el9.x86_64.rpm                                                                 43 MB/s | 1.4 MB     00:00    
(5/6): mysql-community-client-8.0.36-1.el9.x86_64.rpm                                                               37 MB/s | 3.4 MB     00:00    
(6/6): mysql-community-server-8.0.36-1.el9.x86_64.rpm                                                               90 MB/s |  49 MB     00:00    
---------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                97 MB/s |  58 MB     00:00     
MySQL 8.0 Community Server                                                                                         3.0 MB/s | 3.1 kB     00:00    
GPG 鍵 0xA8D3785C をインポート中:
 Userid     : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
 Fingerprint: BCA4 3417 C3B4 85DD 128E C6D4 B7B3 B788 A8D3 785C
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023
鍵のインポートに成功しました
MySQL 8.0 Community Server                                                                                         3.0 MB/s | 3.1 kB     00:00    
GPG 鍵 0x3A79BD29 をインポート中:
 Userid     : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
 Fingerprint: 859B E8D7 C586 F538 430B 19C2 467B 942D 3A79 BD29
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
鍵のインポートに成功しました
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                                                           1/1 
  インストール中   : mysql-community-common-8.0.36-1.el9.x86_64                                                                                1/6 
  インストール中   : mysql-community-client-plugins-8.0.36-1.el9.x86_64                                                                        2/6 
  インストール中   : mysql-community-libs-8.0.36-1.el9.x86_64                                                                                  3/6 
  scriptletの実行中: mysql-community-libs-8.0.36-1.el9.x86_64                                                                                  3/6 
  インストール中   : mysql-community-client-8.0.36-1.el9.x86_64                                                                                4/6 
  インストール中   : mysql-community-icu-data-files-8.0.36-1.el9.x86_64                                                                        5/6 
  scriptletの実行中: mysql-community-server-8.0.36-1.el9.x86_64                                                                                6/6 
  インストール中   : mysql-community-server-8.0.36-1.el9.x86_64                                                                                6/6 
  scriptletの実行中: mysql-community-server-8.0.36-1.el9.x86_64                                                                                6/6 
  検証             : mysql-community-client-8.0.36-1.el9.x86_64                                                                                1/6 
  検証             : mysql-community-client-plugins-8.0.36-1.el9.x86_64                                                                        2/6 
  検証             : mysql-community-common-8.0.36-1.el9.x86_64                                                                                3/6 
  検証             : mysql-community-icu-data-files-8.0.36-1.el9.x86_64                                                                        4/6 
  検証             : mysql-community-libs-8.0.36-1.el9.x86_64                                                                                  5/6 
  検証             : mysql-community-server-8.0.36-1.el9.x86_64                                                                                6/6 

インストール済み:
  mysql-community-client-8.0.36-1.el9.x86_64         mysql-community-client-plugins-8.0.36-1.el9.x86_64 mysql-community-common-8.0.36-1.el9.x86_64
  mysql-community-icu-data-files-8.0.36-1.el9.x86_64 mysql-community-libs-8.0.36-1.el9.x86_64           mysql-community-server-8.0.36-1.el9.x86_64

完了しました!
[root@wp-vm ~]# 
```

インストール後、`mysqld`の起動と自動起動の有効化を行う。
```bash
[root@wp-vm ~]# systemctl start mysqld
[root@wp-vm ~]# 
[root@wp-vm ~]# systemctl status mysqld
● mysqld.service - MySQL Server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
     Active: active (running) since Tue 2024-03-05 11:10:22 JST; 24s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
    Process: 37251 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
   Main PID: 44833 (mysqld)
     Status: "Server is operational"
      Tasks: 38 (limit: 74257)
     Memory: 486.8M
        CPU: 3.798s
     CGroup: /system.slice/mysqld.service
             └─44833 /usr/sbin/mysqld

 3月 05 11:10:15 wp-vm2 systemd[1]: Starting MySQL Server...
 3月 05 11:10:22 wp-vm2 systemd[1]: Started MySQL Server.
[root@wp-vm ~]# 
[root@wp-vm ~]# systemctl enable mysqld
[root@wp-vm ~]# 
```

MySQL クライアントをインストールした後、PHP で MySQL を使用するための拡張モジュール(`php-mysqlnd`)をインストールする。
```bash
[root@wp-vm ~]# dnf install -y php-mysqlnd
メタデータの期限切れの最終確認: 1:42:44 前の 2024年03月05日 11時23分58秒 に実施しました。
依存関係が解決しました。
===================================================================================================================================================
 パッケージ                   アーキテクチャー        バージョン                                              リポジトリー                   サイズ
===================================================================================================================================================
インストール:
 php-mysqlnd                  x86_64                  8.1.27-1.module+el9.3.0+90130+7e4e1ce0                  ol9_appstream                  149 k
依存関係のインストール:
 php-pdo                      x86_64                  8.1.27-1.module+el9.3.0+90130+7e4e1ce0                  ol9_appstream                   88 k

トランザクションの概要
===================================================================================================================================================
インストール  2 パッケージ

ダウンロードサイズの合計: 237 k
インストール後のサイズ: 666 k
パッケージのダウンロード:
(1/2): php-mysqlnd-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64.rpm                                               1.3 MB/s | 149 kB     00:00    
(2/2): php-pdo-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64.rpm                                                   353 kB/s |  88 kB     00:00    
---------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                               942 kB/s | 237 kB     00:00     
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                                                           1/1 
  インストール中   : php-pdo-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                     1/2 
  インストール中   : php-mysqlnd-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                 2/2 
  scriptletの実行中: php-mysqlnd-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                 2/2 
  検証             : php-mysqlnd-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                 1/2 
  検証             : php-pdo-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                                                                     2/2 

インストール済み:
  php-mysqlnd-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                  php-pdo-8.1.27-1.module+el9.3.0+90130+7e4e1ce0.x86_64                 

完了しました!
[root@wp-vm ~]#
```

## WordPress 用のデータベースとユーザーの作成
以下のコマンドで MySQL にログインを行う。
```bash
[root@wp-vm ~]# mysql -h 10.0.1.119 -u admin -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 318
Server version: 8.0.36-u1-cloud MySQL Enterprise - Cloud

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
```

以下のクエリで、WordPress 用のデータベース(ここでは`wp_database`)の作成を行う。
```bash
mysql> CREATE DATABASE wp_database;
Query OK, 1 row affected (0.00 sec)
```

以下のクエリを実行して、データベースが作成されている事を確認する。
```bash
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| mysql_audit        |
| performance_schema |
| sys                |
| wp_database        |
+--------------------+
6 rows in set (0.00 sec)
```

同様に以下のクエリで WordPress 用のユーザーの作成(ここでは`wp_user`)を行う。
```bash
mysql> CREATE USER 'wp_user'@'%' IDENTIFIED BY 'u9hT5E_WAv';
Query OK, 0 rows affected (0.01 sec)
```
:::note
IDENTIFIED BY ~ の後ろは任意のパスワードを使用
:::

以下のクエリを実行して、ユーザーが作成されている事を確認する。
```bash
mysql> SELECT USER, HOST FROM mysql.user;
+--------------------+-----------+
| User               | Host      |
+--------------------+-----------+
| administrator      | %         |
| ocirpl             | %         |
| root               | %         |
| wp_user            | %         |
| mysql.infoschema   | localhost |
| mysql.session      | localhost |
| mysql.sys          | localhost |
| oracle-cloud-agent | localhost |
+--------------------+-----------+
16 rows in set (0.00 sec)
```

以下のクエリで `wp_user`に、`wp_database`に関する全ての権限を付与する。
```bash
mysql> GRANT all privileges ON wp_database.* TO 'wp_user'@'%';
Query OK, 0 rows affected (0.01 sec)
```

付与後、以下のクエリで確認する。

```bash
mysql> SHOW GRANTS FOR 'wp_user'@'%';
+-----------------------------------------------------------+
| Grants for wp_admin@%                                     |
+-----------------------------------------------------------+
| GRANT USAGE ON *.* TO `wp_user`@`%`                       |
| GRANT ALL PRIVILEGES ON `wp_database`.* TO `wp_user`@`%`  |
+-----------------------------------------------------------+
2 rows in set (0.00 sec)
```

## WordPressのインストール
MySQL クライアントからログアウト後、以下のサイトにアクセスを行い、「**WordPressを入手**」を選択する。
https://ja.wordpress.org/download/
![スクリーンショット 2024-03-05 11.34.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430519/489a991f-73b2-74f4-66e6-324f95859bd3.png)

WordPress のパッケージを入手後、`scp コマンド`等で作業用サーバに転送を行い、以下のコマンドで展開を行う。
```bash
[root@wp-vm ~]# tar -xvzf /home/opc/wordpress-6.4.3.tar.gz 
wordpress/
wordpress/xmlrpc.php
wordpress/wp-blog-header.php
wordpress/readme.html
wordpress/wp-signup.php
wordpress/index.php
wordpress/wp-cron.php
wordpress/wp-config-sample.php
wordpress/wp-login.php
wordpress/wp-settings.php
wordpress/license.txt
...
wordpress/wp-admin/options-reading.php
wordpress/wp-trackback.php
wordpress/wp-comments-post.php
[root@wp-vm ~]# 
```

展開後に作られた`wordpress`を、`/var/www`へコピーする。
```bash
[root@wp-vm ~]# cp -r wordpress /var/www/
[root@wp-vm ~]# 
[root@wp-vm ~]# ls -l /var/www
合計 4
drwxr-xr-x 2 root root    6 10月 21 10:23 cgi-bin
drwxr-xr-x 2 root root    6 10月 21 10:23 html
drwxr-xr-x 5 root root 4096  3月  5 11:41 wordpress
[root@wp-vm ~]# 
```

`wordpress`の権限を、それぞれ`apache`に変更する。
```bash
[root@wp-vm ~]# chown -R apache.apache /var/www/wordpress
[root@wp-vm ~]# 
[root@wp-vm ~]# ls -l /var/www
合計 4
drwxr-xr-x 2 root   root      6 10月 21 10:23 cgi-bin
drwxr-xr-x 2 root   root      6 10月 21 10:23 html
drwxr-xr-x 5 apache apache 4096  3月  5 11:41 wordpress
[root@wp-vm ~]# 
```

Apache の設定ファイル（`/etc/httpd/conf/httpd.conf`）を以下のように編集し、
ドキュメントルートを`/var/www/wordpress`に変更する。
```diff_ruby
- DocumentRoot "/var/www/html"
+ DocumentRoot "/var/www/wordpress"
 
 #
 # Relax access to content within /var/www.
 #
- <Directory "/var/www">
+ <Directory "/var/www/wordpress">
     AllowOverride None
     # Allow open access:
     Require all granted
  </Directory>
  ```

  設定後、以下のコマンドで`httpd`の再起動を行う。
```bash
[root@wp-vm ~]# systemctl restart httpd
[root@wp-vm ~]# 
```

# WordPress の設定
作業用サーバが保持する IP アドレス、もしくは対応しているドメイン名をブラウザタブに入力する。

以下の画面が表示されるので、日本語を利用する場合は「**日本語**」を選択、「**次へ**」を選択する。
![スクリーンショット 2024-03-05 13.08.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430519/93156e51-2175-aa7c-e36f-8e80f6032268.png)

以下の画面が表示されるので、「**さあ、始めましょう！**」を選択する。
![スクリーンショット 2024-03-05 13.10.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430519/479dcb96-5f94-c84b-e503-7a683588b3d1.png)

MySQL クライアントで作成したデータベースとユーザー、MySQL のIP アドレス等を入力、「**送信**」を選択する。
![スクリーンショット 2024-03-05 13.14.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430519/15a1d081-f1f1-11ee-bd9f-df4c75053988.png)

正常に MySQL と接続できる場合は、以下の画面が表示されるので「**インストール実行**」を選択する。
![スクリーンショット 2024-03-05 13.15.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430519/cc3b1770-0279-7015-d834-df86425133be.png)

必要な情報を入力後、「**WordPress をインストール**」を選択する。
![スクリーンショット 2024-03-05 13.17.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430519/28dec38f-385e-d1ff-1aaa-4ee5dbc61e84.png)

成功した場合は以下の画面が表示されるので、「**ログイン**」を選択する。
![スクリーンショット 2024-03-05 13.18.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430519/5a25011b-78d4-ad41-f3a9-8e2acaf57d53.png)

ログイン画面が表示されるので、設定したユーザー名とパスワードを入力、「**ログイン**」を選択後、WordPress の管理画面が表示され、設定は完了となる。
![スクリーンショット 2024-03-05 13.19.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430519/66280aa6-803e-b129-254a-7beda5470333.png)
![スクリーンショット 2024-03-05 13.19.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430519/82f2bfc1-c71f-998f-8d5c-dcf385c13bd2.png)

## 参考サイト

https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html#yum-repo-disabling-mysql

https://www.cybertrust.co.jp/blog/linux-oss/linux/miraclelinux84-wordpress.html