# 前提
- RDS(MySQL)作成済み
- EC2(今回はAmazon Linux 2)作成済み
- EC2からRDSへログインできる
- Wordpressの要件
- PHP バージョン 7.3 以上。
- MySQL バージョン 5.6 以上、または MariaDB バージョン 10.1 以上。
- HTTPS 対応
https://ja.wordpress.org/about/requirements/
手順
1)EC2にPHPインストール
- yum -y installだとPHP 5系がインストールされる
$ sudo su -
$ sudo yum -y update
$ sudo yum -y install php
$ php -v
PHP 5.4.16 (cli) (built: Sep 1 2018 05:47:37)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
- PHP 7.3以上をインストールしたいので、amazon-linux-extrasを使ってインストールする
- Extras でインストール可能なソフトウェア一覧確認
$ sudo amazon-linux-extras list | grep php
15 php7.2 available \
16 php7.1 available \
17 lamp-mariadb10.2-php7.2 available \
31 php7.3 available \
- PHP 7.3インストール
$ sudo amazon-linux-extras install php7.3
$ sudo amazon-linux-extras list | grep php
_ php7.2 available \
_ php7.1 available \
_ lamp-mariadb10.2-php7.2 available \
31 php7.3=latest enabled \
- PHPのバージョン確認
$ php -v
PHP 7.3.6 (cli) (built: Jun 12 2019 20:40:46) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.6, Copyright (c) 1998-2018 Zend Technologies
2)Apacheをインストール
- インストール
$ sudo yum -y install httpd
- Apacheを起動
$ sudo systemctl status httpd
$ sudo systemctl start httpd
$ sudo systemctl status httpd
→「Active: active (running)」になればいい
- Apacheの自動起動設定
$ sudo systemctl is-enabled httpd
disabled
$ sudo systemctl enable httpd
$ sudo systemctl is-enabled httpd
enabled
3)EC2にWordPressをインストール
- wgetコマンドをつかってwordpressのサイトからインストール
$ sudo su -
# cd /var/www/html
# wget http://ja.wordpress.org/latest-ja.zip
# ll
total 12508
-rw-r--r-- 1 root root 12806154 Jul 24 14:00 latest-ja.zip
# unzip -q latest-ja.zip
# ll
total 12508
-rw-r--r-- 1 root root 12806154 Jul 24 14:00 latest-ja.zip
drwxr-xr-x 5 root root 4096 Jul 24 14:00 wordpress
- wordpressディレクトリの中のファイルを/var/www/htmlディレクトリに移動
# cd /var/www/html/wordpress
# mv * ..
# cd ..
# pwd
/var/www/html
# ll
total 12708
-rw-r--r-- 1 root root 420 Nov 30 2017 index.php
-rw-r--r-- 1 root root 12806154 Jul 24 14:00 latest-ja.zip
-rw-r--r-- 1 root root 19935 Jan 1 2019 license.txt
-rw-r--r-- 1 root root 10319 Jul 24 14:00 readme.html
drwxr-xr-x 2 root root 6 Aug 20 08:45 wordpress
-rw-r--r-- 1 root root 6919 Jan 12 2019 wp-activate.php
drwxr-xr-x 9 root root 4096 Jul 24 14:00 wp-admin
-rw-r--r-- 1 root root 369 Nov 30 2017 wp-blog-header.php
-rw-r--r-- 1 root root 2283 Jan 21 2019 wp-comments-post.php
-rw-r--r-- 1 root root 3900 Jul 24 14:00 wp-config-sample.php
drwxr-xr-x 5 root root 69 Jul 24 14:00 wp-content
-rw-r--r-- 1 root root 3847 Jan 9 2019 wp-cron.php
drwxr-xr-x 20 root root 8192 Jul 24 14:00 wp-includes
-rw-r--r-- 1 root root 2502 Jan 16 2019 wp-links-opml.php
-rw-r--r-- 1 root root 3306 Nov 30 2017 wp-load.php
-rw-r--r-- 1 root root 39551 Jun 10 13:34 wp-login.php
-rw-r--r-- 1 root root 8403 Nov 30 2017 wp-mail.php
-rw-r--r-- 1 root root 18962 Mar 28 19:04 wp-settings.php
-rw-r--r-- 1 root root 31085 Jan 16 2019 wp-signup.php
-rw-r--r-- 1 root root 4764 Nov 30 2017 wp-trackback.php
-rw-r--r-- 1 root root 3068 Aug 17 2018 xmlrpc.php
- htmlディレクトリのユーザとグループををapacheに変更
# ll /var/www/ | grep html
drwxr-xr-x 6 root root 4096 Aug 20 08:45 html
# chown -R apache:apache /var/www/html
# ll /var/www/ | grep html
drwxr-xr-x 6 apache apache 4096 Aug 20 08:45 html
- wordpressの設定ファイルを編集(wp-config.phpを編集)
- 設定を間違えると、サイト接続時に「データベース接続確立エラー」が出る
# ll /var/www/html | grep wp-config
-rw-r--r-- 1 apache apache 3900 Jul 24 14:00 wp-config-sample.php
# cp -p /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
# ll /var/www/html | grep wp-config
-rw-r--r-- 1 apache apache 3900 Jul 24 14:00 wp-config.php
-rw-r--r-- 1 apache apache 3900 Jul 24 14:00 wp-config-sample.php
# vi /var/www/html/wp-config.php
(略) # MySQLで設定したDBの名前、ユーザ名、パスワードを記載
/** WordPress のためのデータベース名 */
define('DB_NAME', 'mysqltest1');
/** MySQL データベースのユーザー名 */
define('DB_USER', 'admin');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'xxxx');
/** MySQL のホスト名 */
define('DB_HOST', 'mysqltest.xxxx.us-west-2.rds.amazonaws.com');
/** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8');
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');
(略) ↓ ユニークキーを記載
ユニークキー生成サイト(https://api.wordpress.org/secret-key/1.1/salt/)をコピーし貼り付け
define('AUTH_KEY', 'xxxxx');
define('SECURE_AUTH_KEY', 'xxxxx');
define('LOGGED_IN_KEY', 'xxxxx');
define('NONCE_KEY', 'xxxxx');
define('AUTH_SALT', 'xxxxx');
define('SECURE_AUTH_SALT', 'xxxxx');
define('LOGGED_IN_SALT', 'xxxxx');
define('NONCE_SALT', 'xxxxx');
(略)
4)接続確認
-
WordPressの管理画面にアクセス
- ブラウザから「http:///wp-admin/」 にアクセス
-
以下のような画面がでればOK