サーバ構築・管理

AWS EC2でサーバを構築 5 – MySQL + phpMyAdmin

AWSのEC2でセキュアなサーバ構築をするシリーズその5です。MySQLとphpMyAdminの設定を行います。

記事一覧

  1. Amazon Linux 2 準備編
  2. 各種インストール編
  3. Apache + Let's Ecnrypt + PHP-FPM編 (脆弱性診断「A+」を狙う)
  4. Nginx + Let's Ecnrypt + PHP-FPM編 (脆弱性診断「A+」を狙う)
  5. MySQL + phpMyAdmin
  6. PostfixとDovecot (SSL対応とSPAM対策)
  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 -uroot -p phpmyadmin < ./sql/create_tables.sql
mkdir tmp
chmod 777 tmp
ABOUT ME
りゅう・д・
愛知のWeb系エンジニア/クリエイターです。 サーバ構築・管理からシステム開発、Webデザイン、WordPress構築からヘルプデスクまで、割と手広く手掛けています。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です