WordPressの学習&AWSに触れるのを目的として
AWS Cloud9でWordPress環境を構築するまでの備忘録。
ここまでやったこと
- AWSアカウント登録
- Cloud9環境立ち上げ
- MySQLインストール
この記事の目次
- MySQLセットアップ
- 初期設定
- データベース作成
- サービス起動
- 最新化
- サービス起動
- スナップショット作成
- 作成手順
- 復元手順
(スナップショットを作成するのは
この後のWordPressのセットアップが上手くいかないから……)
MySQLセットアップ
初期設定
セットアップ前にログからrootのパスワードを確認する。
$ sudo cat /var/log/mysqld.log | grep "A temporary password"
2021-01-16T09:30:18.257989Z 1 [Note] A temporary password is generated for root@localhost: XXXXXXXXX
ログイン後、パスワードの変更が要求される。
デフォルトのパスワードポリシー:数字/大文字/小文字/特殊文字を各1つ以上使用、長さは8文字以上
https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html
$ mysql_secure_installation
# ログで確認したパスワード
Enter password for user root:
The existing password for the user account root has expired. Please set a new password.
# パスワードの変更を要求される
New password: (新しいパスワード)
# rootのパスワードを変更するか?
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N
# 匿名ユーザを削除するか?
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
# rootでのリモートログインを禁止するか?
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
# テストデータベースを削除するか?
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
# 今すぐ権限テーブルを読み込むか?
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
All done!
文字コードをUTF-8に、
パスワードの有効期限は無期限に変更しておく。2行追加。
$ sudo vi /etc/my.cnf
[mysqld]
(省略)
character-set-server = utf8
default_password_lifetime = 0
# サービス再起動しておく
$ sudo service mysqld restart
データベース作成
rootでMySQLにログイン、WordPress用のデータベース&ユーザを作成する。
$ mysql -u root -p
Enter password:
# WordPress用のデータベース作成
mysql> CREATE DATABASE データベース名;
Query OK, 1 row affected (0.01 sec)
# ユーザ作成
mysql> GRANT ALL PRIVILEGES ON *.* TO 'ユーザ名'@'localhost' IDENTIFIED BY '作成ユーザのパスワード';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> exit
サービス起動
最新化
MySQLよりに先に確認すべきだったかも。ただ、結果的には最新化不要。
# OS 結果:アップデート不要
$ sudo yum -y update
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
261 packages excluded due to repository priority protections
No packages marked for update
# Apache 結果:アップデート不要
$ sudo yum install -y httpd24
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00:00
261 packages excluded due to repository priority protections
No package httpd24 available.
Error: Nothing to do
# PHP 結果:アップデート不要
$ sudo yum install -y php56
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
261 packages excluded due to repository priority protections
No package php56 available.
Error: Nothing to do
サービス起動
Apache、MySQLのサービスを起動する。
# Apache起動 (起動済だったかも)
$ sudo service httpd start
$ sudo service httpd status
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
└─php-fpm.conf
Active: active (running)
# MySQL起動 (起動済だったかも)
$ sudo service mysqld start
$ sudo service mysqld status
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running)
スナップショット作成
作成手順
ここまでで一旦、EC2のスナップショットを作成しておく。
EC2 > Elastic Block Store からスナップショットを作成する。
Select resource type は Volume にする。
※ 1インスタンス、1ボリューム状態なのでどちらでも変わりなし
復元手順
復元手順は次の通り。(未実施)
- スナップショットからボリュームを作成
- インスタンスを停止
- インスタンスから復元したいボリュームをデタッチ
- アタッチするインスタンスのルートデバイスを確認
- 1で作成したボリュームをインスタンスにアタッチ
- インスタンス起動
次、WordPressインストールなど。
Cloud9でWordPress環境を構築 3
前の記事へのリンク
Cloud9でWordPress環境を構築 1