[AWS] WordPress環境の構築 (2)

WordPress環境の構築 (1)のつづきで、WordPressパッケージをセットアップしていきます。

【構築環境】


1.WordPressに必要なPHP拡張機能確認

WordPressのサイトからPHPで必要とされる拡張機能を確認

WordPress サイトが動作するには、以下にリストされている PHP 拡張機能が必要です。
 json (8.0.0 以降にバンドル) – 他のサーバーとの通信やJSON形式のデータの処理に使用されます。
 mysqli (>=5.0.0 にバンドル) またはmysqlndのいずれか-データベースのやり取りのためにMySQLに接続します。
https://make.wordpress.org/hosting/handbook/server-environment/#php-extensions

2.現状のPHP拡張機能(モジュール)の確認

php -m

[ec2-user@ip-172-31-33-34 ~]$ php -m
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mbstring
openssl
pcntl
pcre
PDO
pdo_sqlite
Phar
posix
random
readline
Reflection
session
shmop
SimpleXML
sockets
sodium
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zlib

[Zend Modules]
Zend OPcache

[ec2-user@ip-172-31-33-34 ~]$ 

3.不足しているPHP拡張機能のインストール

sudo dnf install -y php-mysqli

[ec2-user@ip-172-31-33-34 ~]$ sudo dnf install -y php-mysqli
Amazon Linux 2023 Kernel Livepatch repository               34 kB/s | 2.9 kB     00:00    
Dependencies resolved.
===========================================================================================
 Package               Architecture  Version                      Repository          Size
===========================================================================================
Installing:
 php8.3-mysqlnd        x86_64        8.3.10-1.amzn2023.0.1        amazonlinux        147 k

Transaction Summary
===========================================================================================
Install  1 Package

Total download size: 147 k
Installed size: 441 k
Downloading Packages:
php8.3-mysqlnd-8.3.10-1.amzn2023.0.1.x86_64.rpm            1.6 MB/s | 147 kB     00:00    
-------------------------------------------------------------------------------------------
Total                                                      1.1 MB/s | 147 kB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                   1/1 
  Installing       : php8.3-mysqlnd-8.3.10-1.amzn2023.0.1.x86_64                       1/1 
  Running scriptlet: php8.3-mysqlnd-8.3.10-1.amzn2023.0.1.x86_64                       1/1 
  Verifying        : php8.3-mysqlnd-8.3.10-1.amzn2023.0.1.x86_64                       1/1 

Installed:
  php8.3-mysqlnd-8.3.10-1.amzn2023.0.1.x86_64                                              

Complete!
[ec2-user@ip-172-31-33-34 ~]$

“Complete!”と表示されたらインストール完了

4.Apacheサービスのリスタート

sudo systemctl restart httpd

[ec2-user@ip-172-31-33-34 ~]$ sudo systemctl restart httpd
[ec2-user@ip-172-31-33-34 ~]$ 

5.PCのブラウザを更新し、”次へ”をクリック

6.”さぁ、始めましょう!”をクリック

7.データベース接続画面まで表示されることを確認

〜〜 WordPress用のデータベースの作成 (URL) 〜〜

8.Rootパスワードの確認

sudo grep 'temporary password' /var/log/mysqld.log

[ec2-user@ip-172-31-33-34 ~]$ sudo grep 'temporary password' /var/log/mysqld.log
2025-02-24T08:44:05.415658Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ,Yqx2u54kzwq

※デフォルトでパスワードが有効

9.Rootアカウントに”項目8”で取得したパスワードでログイン

mysql -uroot -p

[ec2-user@ip-172-31-33-34 ~]$ mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.4.4

Copyright (c) 2000, 2025, 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>

10.Rootパスワードの変更、再ログイン

新しいパスワードを設定する(SET PASSWORD 文、ALTER USER文)
https://www.javadrive.jp/mysql/user/index2.html

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassWord';

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '_52KVsjdGLbj';
Query OK, 0 rows affected (0.09 sec)

mysql> 
mysql> quit
Bye
[ec2-user@ip-172-31-33-34 ~]$ mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.4.4 MySQL Community Server - GPL

Copyright (c) 2000, 2025, 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> 

11.WordPress用のデータベース作成

SHOW DATABASES 文:現在作成されているデータベースの一覧を取得する
https://www.javadrive.jp/mysql/database/index2.html#section1

CREATE DATABASE:指定した名前のデータベースを作成
https://www.javadrive.jp/mysql/database/index1.html#section1

SHOW DATABASES;
CREATE DATABASE wordpressdb;

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.04 sec)

mysql> 
mysql> CREATE DATABASE wordpressdb;
Query OK, 1 row affected (0.01 sec)

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| wordpressdb        |
+--------------------+
5 rows in set (0.00 sec)

mysql> 

12.WordPress用のユーザを作成

select user, host from mysql.user;
すべてのデータを取得して作成済みのユーザー一覧を確認
https://www.javadrive.jp/mysql/user/index11.html#section1

CREATE USER 文:ユーザーを作成
https://www.javadrive.jp/mysql/user/index1.html#section1

select user, host from mysql.user;
CREATE USER 'wordpress-user'@'localhost' IDENTIFIED BY 'MyPassWord';

mysql> select user, host from mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)

mysql> CREATE USER 'wordpress-user'@'localhost' IDENTIFIED BY 'xD3EerKJipzB';
Query OK, 0 rows affected (0.01 sec)

mysql> 
mysql> select user, host from mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
| wordpress-user   | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)

mysql> 

13.WordPressユーザに権限の確認・設定

SHOW GRANTS 文:ユーザーに設定されている権限を確認
https://www.javadrive.jp/mysql/user/index11.html#section4

USAGE:「権限なし」
https://dev.mysql.com/doc/refman/8.0/ja/grant.html#grant-overview

grant all on *.* to kirin@localhost;
ALL 権限(または ALL PRIVILEGES 権限)は GRANT OPTION 権限と PROXY 権限以外の全ての権限を与える場合に使用
https://www.javadrive.jp/mysql/user/index6.html#section7

grant create on mydb.* to kitsune@localhost;
データベースレベルは指定したデータベースが対象
https://www.javadrive.jp/mysql/user/index6.html#section4

SHOW GRANTS FOR 'wordpress-user'@'localhost';
GRANT ALL ON `wordpressdb`.* TO 'wordpress-user'@'localhost';

mysql> SHOW GRANTS FOR 'wordpress-user'@'localhost';
+----------------------------------------------------+
| Grants for wordpress-user@localhost                |
+----------------------------------------------------+
| GRANT USAGE ON *.* TO `wordpress-user`@`localhost` |
+----------------------------------------------------+
1 row in set (0.00 sec)

mysql> 
mysql> GRANT ALL ON `wordpressdb`.* TO 'wordpress-user'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW GRANTS FOR 'wordpress-user'@'localhost';
+-------------------------------------------------------------------------+
| Grants for wordpress-user@localhost                                     |
+-------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `wordpress-user`@`localhost`                      |
| GRANT ALL PRIVILEGES ON `wordpressdb`.* TO `wordpress-user`@`localhost` |
+-------------------------------------------------------------------------+
2 rows in set (0.00 sec)

mysql> quit
Bye
[ec2-user@ip-172-31-33-34 ~]$

14.WordPressユーザでMySQLのアクセス確認

mysql -u wordpress-user -D wordpressdb -p

ユーザ名:wordpress-user (項目12で設定したユーザ名)
データベース名:wordpressdb(項目11で設定したデータベース名)
パスワード:(項目12で設定したパスワード)

mysql> quit
Bye
[ec2-user@ip-172-31-33-34 ~]$ mysql -u wordpress-user -D wordpressdb -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 8.4.4 MySQL Community Server - GPL

Copyright (c) 2000, 2025, 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> 
mysql> quit

15.WordPressのデータベース接続画面(項目7)で必要項目の入力し、”送信”をクリック

データベース名:wordpressdb(項目11で設定したデータベース名)
ユーザー名:wordpress-user (項目12で設定したユーザ名)
パスワード:(項目12で設定したパスワード)
データベースのホスト名:”localhost” (default)

16.”インストール実行”をクリック

17.”WordPressをインストール”をクリック

サイトのタイトル:デモサイト (WordPressサイトで表示するタイトル)
ユーザー名:demo (WordPressで使用するユーザー名)
パスワード:(WordPressで使用するパスワード)
メールアドレス:demo@demo.com(WordPressで使用するメールアドレス)

18.”ログイン”をクリック

19.”ログイン”をクリック

ユーザ名またはメールアドレス:demo@demo.com(項目17で入力したメールアドレス)
パスワード:(項目17で入力したパスワード)

20.WordPressのダッシュボードにアクセスできることを確認

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA