今回はAWSにWordPressを構築していく。以下の作業が完了していることが前提。
#WordPress用のDBを作成
RDSにWordPress用のDBを作成する。EC2(Webサーバー)とRDS(DBサーバー)を起動したら、SSH接続して、EC2からRDSに接続する。
$ sudo ssh -i /home/r-saiki/ダウンロード/aws-key-webserver.pem ec2-user@18.177.125.119
[sudo] r-saiki のパスワード:
Last login: Tue May 19 11:09:37 2020 from fs96f9c6f1.tkyc217.ap.nuro.jp
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
3 package(s) needed for security, out of 8 available
Run "sudo yum update" to apply all updates.
#DB接続
[ec2-user@ip-10-0-10-10 ~]$ mysql -h database-web.cnxaaqg6tow9.ap-northeast-1.rds.amazonaws.com -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.17 Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]>
##データベース作成
CREATEコマンドでWordPress用のデータベースを作成する。
DEFAULT CHARACTER SET
でデフォルトの文字コードをutf8、COLLATE
で比較文字コードをutf8で多言語対応の大文字小文字区別なしに指定。
MySQL [(none)]> CREATE DATABASE aws_wordpress_practice DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected, 2 warnings (0.01 sec)
MySQL [(none)]> SHOW DATABASES;
+------------------------+
| Database |
+------------------------+
| aws_wordpress_practice |
| information_schema |
| mysql |
| performance_schema |
+------------------------+
4 rows in set (0.01 sec)
##ユーザー作成
次にWordPress用のユーザーを作成する。@より後ろはホスト。%はどのホストでもアクセスできるという意味。
MySQL [(none)]> CREATE USER 'aws_user'@'%' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.01 sec)
作成したユーザーにWordPress用のデータベースにアクセスできる権限を与える。
MySQL [(none)]> GRANT ALL ON aws_wordpress_practice.* TO 'aws_user'@'%';
Query OK, 0 rows affected (0.00 sec)
FLUSH PRIVILEGES
でテーブルを再ロードし、ユーザーが追加されたかを確認。
MySQL [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MySQL [(none)]> SELECT user, host FROM mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| aws_user | % |
| root | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| rdsadmin | localhost |
+------------------+-----------+
6 rows in set (0.00 sec)
作成したユーザーでログインできるかを確認。
MySQL [(none)]> exit;
Bye
[ec2-user@ip-10-0-10-10 ~]$ mysql -h database-web.cnxaaqg6tow9.ap-northeast-1.rds.amazonaws.com -u aws_user -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 8.0.17 Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]>
#WordPressのインストール
次にWordPressをインストールして、Apacheが参照できるように設定する。
amazon-linux-extras
コマンドを使ってphpをダウンロードする。その後にphp php-mbstring
をインストール。
[ec2-user@ip-10-0-10-10 ~]$ sudo amazon-linux-extras install -y php7.2
[ec2-user@ip-10-0-10-10 ~]$ sudo yum install -y php php-mbstring
WordPressの最新版をダウンロードして解凍する。
[ec2-user@ip-10-0-10-10 ~]$ wget https://ja.wordpress.org/latest-ja.tar.gz
[ec2-user@ip-10-0-10-10 ~]$ ls
latest-ja.tar.gz
[ec2-user@ip-10-0-10-10 ~]$ tar xzvf latest-ja.tar.gz
[ec2-user@ip-10-0-10-10 ~]$ ls
latest-ja.tar.gz wordpress
ApacheがWordPressを参照できるように、/var/www/html/以下にファイルをコピーし、権限をapacheに変更する。
[ec2-user@ip-10-0-10-10 ~]$ cd wordpress
[ec2-user@ip-10-0-10-10 ~]$ sudo cp -r * /var/www/html/
[ec2-user@ip-10-0-10-10 ~]$ sudo chown apache:apache /var/www/html/ -R
Apacheを再起動する。
[ec2-user@ip-10-0-10-10 ~]$ sudo systemctl restart httpd.service
[ec2-user@ip-10-0-10-10 ~]$ sudo systemctl status httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
└─php-fpm.conf
Active: active (running) since 金 2020-05-22 08:42:23 UTC; 6s ago
Docs: man:httpd.service(8)
(以下略)
#WordPressの設定
ブラウザにドメイン名もしくはIPアドレスを入力して、WordPressにアクセス。
RDSのダッシュボードにアクセスしてエンドポイントをコピーしておく。
さあ、始めましょうを選択すると以下の画面になるので、DBを作成した時の情報を入力して送信を選択。
インストール実行。
WordPress用のユーザーを作成する。入力後、WordPressをインストールを選択。
ログインを選択。
ログインする。
ログイン成功!!
#終わりに
なんとかWordPressまで作成することができた。次は自分なりに環境をカスタマイズしたり、一から環境構築をしたりして、AWSをマスターしていきたい。