この説明は既にAmazon Linux 2023のaws ec2が構築されていることを前提とします。次の公式サイトの手順に従い、WordPressをインストールしてみました。
ERROR: The request could not be satisfied
公式サイトには詳しいインストール手順が記載されていますのでここでは実際に実行したコマンドを実行順に追記することにします。公式サイトに記載されたコマンドにはsudoを付けずに実行する箇所があります。もしも権限問題の実行失敗が発生したらsudoを先頭につけてコマンドを実行してください。
WordPress パッケージをダウンロード&インストール
$ sudo dnf install wget php-mysqlnd httpd php-fpm php-mysqli mariadb105-server php-json php php-devel -y
$ cd /tmp
$ sudo wget https://wordpress.org/latest.tar.gz
$ ls
latest.tar.gz
$ sudo tar -xzf latest.tar.gz
$ ls
latest.tar.gz wordpress
$ sudo systemctl start mariadb httpd
$ ps -ef | grep -e httpd -e mariadbd
ERROR: The request could not be satisfied
$ sudo mysql_secure_installation
Enter キー
Y
Y
************ <-password
************ <-password comfirm
Y
Y
Y
Y
$ sudo systemctl stop mariadb
$ sudo systemctl start mariadb
$ mysql -u root -p
MariaDB [(none)]> CREATE USER dbadmin@localhost IDENTIFIED BY '************';
MariaDB [(none)]> SELECT user, host FROM mysql.user;
MariaDB [(none)]> CREATE DATABASE wpdb;
MariaDB [(none)]> SHOW DATABASES;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON wpdb.* TO dbadmin@localhost;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
$ pwd
/tmp
$ sudo cp wordpress/wp-config-sample.php wordpress/wp-config.php
$ sudo vi wordpress/wp-config.php
$ diff wordpress/wp-config-sample.php wordpress/wp-config.php
23c23
< define( 'DB_NAME', 'database_name_here' );
---
> define( 'DB_NAME', 'wpdb' );
26c26
< define( 'DB_USER', 'username_here' );
---
> define( 'DB_USER', 'dbadmin' );
29c29
< define( 'DB_PASSWORD', 'password_here' );
---
> define( 'DB_PASSWORD', '************' );
https://api.wordpress.org/secret-key/1.1/salt/からランダムに生成されるキーセット値を取得し以下の箇所を書き換えます。
$ sudo vi wordpress/wp-config.php
**********中間省略**********
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
**********中間省略**********
ランダムに生成されるキーセット値の取得例
$ pwd
/tmp
$ ls /var/www/html/
$ sudo cp -r wordpress/* /var/www/html/
$ ls /var/www/html/
$ sudo cp -p /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_20230716
$ ls /etc/httpd/conf/httpd.*
$ sudo vi /etc/httpd/conf/httpd.conf
**********中間省略**********
<Directory "/var/www/html">
**********中間省略**********
#AllowOverride None
AllowOverride All
</Directory>
**********中間省略**********
$ diff /etc/httpd/conf/httpd.conf_20230716 /etc/httpd/conf/httpd.conf
156c156
< AllowOverride None
---
> AllowOverride All
$ sudo dnf install php-gd
$ sudo dnf list installed | grep php
$ ls -la /var/www
$ sudo chown -R apache /var/www
$ sudo chgrp -R apache /var/www
$ sudo chmod 2775 /var/www
$ find /var/www -type d -exec sudo chmod 2775 {} \;
$ find /var/www -type f -exec sudo chmod 0644 {} \;
$ ls -la /var/www
$ sudo systemctl restart httpd
$ sudo systemctl enable httpd && sudo systemctl enable mariadb
$ sudo systemctl status mariadb
$ sudo systemctl status httpd
ウェブブラウザで WordPress ブログの 「http://グローバルIPアドレス」 を入力
サイトURLの変更
固定IP割り当てとwww.sample.co.jpのようなアドレスの割り当てによりブログURLの変更時には以下の手順に従って変更します。
$ sudo mysql -u root -p
Enter password:************
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| wp |
| information_schema |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.002 sec)
MariaDB [(none)]> use wp
MariaDB [wp]> SELECT * FROM wp_options WHERE option_name IN ('home','siteurl');
+-----------+-------------+----------------------------------------+----------+
| option_id | option_name | option_value | autoload |
+-----------+-------------+----------------------------------------+----------+
| 2 | home | http://ec2-xxxxx.compute.amazonaws.com | yes |
| 1 | siteurl | http://ec2-xxxxx.compute.amazonaws.com | yes |
+-----------+-------------+----------------------------------------+----------+
2 rows in set (0.000 sec)
MariaDB [wp]> UPDATE wp_options SET option_value = 'http://www.sample.com' where option_name IN ('home','siteurl');
MariaDB [wp]> SELECT * FROM wp_options WHERE option_name IN ('home','siteurl');
+-----------+-------------+-----------------------+----------+
| option_id | option_name | option_value | autoload |
+-----------+-------------+-----------------------+----------+
| 2 | home | http://www.sample.com | yes |
| 1 | siteurl | http://www.sample.com | yes |
+-----------+-------------+-----------------------+----------+
2 rows in set (0.000 sec)
MariaDB [wp]> exit
(注意)cocoonテーマのスキンを使用している場合スキンを再設定する必要があります。再設定しないとcssのURLなどが変更前のURLのままになっているので表示されない場合があるようです。
ファイルアップロード制限変更
php.iniのオリジナルをphp.ini_yyyymmddに退避してオリジナルと比較し以下の結果になるように修正します。
$ diff php.ini_20230717 php.ini
698c698
< post_max_size = 8M
---
> post_max_size = 30M
850c850
< upload_max_filesize = 2M
---
> upload_max_filesize = 20M
コメント