記事一覧
- AWS EC2でサーバを構築 1 - Amazon Linux 2 準備編
- AWS EC2でサーバを構築 2 - 各種インストール編
- AWS EC2でサーバを構築 3 - Apache + Let's Ecnrypt + PHP-FPM編 (脆弱性診断「A+」を狙う)
- AWS EC2でサーバを構築 4 - Nginx + Let's Ecnrypt + PHP-FPM編 (脆弱性診断「A+」を狙う)
- AWS EC2でサーバを構築 5 - MySQL + phpMyAdmin
- AWS EC2でサーバを構築 6 - PostfixとDovecot (SSL対応とSPAM対策)
- AWS EC2でサーバを構築 7 - セキュリティ対策
概要
Amazon Linux 2を含むRHEL (RedHat Enterprise Linux) 系のOSでは、MySQLから派生したMariaDBがデフォルトで採用されています。これについての経緯は省きますが、Oracleによる買収後も従来通りに利用可能であるため、互換性重視でMySQLを採用します。
MySQLはサーバリソースを食うため、アクセス数や負荷が増えたらRDSへのリプレースも検討した方が良いでしょう。
MySQL
デフォルトのキャラセットを変更します。
今回、特にパフォーマンスチューニングは行いません。
/etc/my.cnf
character-set-server = utf8
以下は最初に行う儀式的なコマンドです。root@localhostのパスワードを変更します。
mysql_secure_installation
MySQLを停止します。
systemctl stop mysqld
デフォルトでは難解なパスワードしか認められずエラーになるのでこれを回避する設定です。
mysql -u root -p
> set global validate_password_policy=LOW;
> quit
改めてMySQLを起動します。
systemctl start mysqld
phpMyAdmin
設定ファイルのサンプルをコピーして設定ファイルを作成します。
cd /var/www/html/www.example1.com/public_html/phpmyadmin
cp config.sample.inc.php config.inc.php
/var/www/html/dev.netartz.com/public_html/config.inc.php
phpMyAdminはすぐにセッションが切れてしまい再ログインが手間なので、セッションが24時間持続するようにします。
$cfg['blowfish_secret'] = '{記号を含む長いランダムな文字列}'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
$cfg['LoginCookieValidity'] = 86400;
phpMyAdminにログインしてphpmyadmin
データベースを作成し、SQL文をインポートします。
mysql -u root -p phpmyadmin < ./sql/create_tables.sql
mkdir tmp
chmod 777 tmp