【CentOS8】phpMyAdminインストール手順(nginx+php+MySQL)での設定
こんにちは!インフラ関連のシステムエンジニアをやっているカユラ(@kayura_SE)です。
本記事では、CentOS8環境でnginx+php+MySQL構成のphpMyAdminをインストール・設定する手順を解説します。上から順に実施することでphpMyAdminにログインできる構成になっています。「root」ユーザーで作業しているため、必要に応じて「sudo」をつけてください。
PHP8.1対応版のインストール手順は以下の記事をご覧ください。

| 名称 | バージョン |
|---|---|
| OS | CentOS8.6 / AlmaLinux8.6 / RHEL8.6 |
| PHP | 7.2.24-1.module_el8.3.0+2010+7c76a223 |
| PHP-FPM | 7.2.24-1.module_el8.3.0+2010+7c76a223 |
| phpMyAdmin | 5.2.0-1.el8.remi |
| nginx | 1:1.14.1-9.module_el8.3.0+2165+af250afe |
| MySQL | 8.0.30 |
必要なパッケージのインストール
① nginx をインストールする
yum install -y nginx
② remiリポジトリをインストールする
このリポジトリが無いとインストールに失敗します。PHP系の最新パッケージを入手できるリポジトリです。以下のサイトでバージョンを選択できます。
http://rpms.remirepo.net/enterprise/
yum install -y http://rpms.remirepo.net/enterprise/remi-release-8.6.rpm
③ remiリポジトリを無効化する
利用するときだけ明示的に指定するため、yum と dnf の両方で無効化しておきます。
dnf config-manager --disable remi-modular remi-safe yum config-manager --disable remi-modular remi-safe
④ phpMyAdmin・PHP関連パッケージをインストールする
php-fpm は依存関係で自動的にインストールされます。「remi」リポジトリからインストールします。
yum install -y --enablerepo=remi phpMyAdmin php-mbstring php-intl php php-mysqlnd
⑤ MySQL をインストールする
yum info mysql yum install -y @mysql:8.0
サービスの起動&自動起動設定
systemctl start nginx systemctl enable nginx systemctl start php-fpm systemctl enable php-fpm systemctl start mysqld systemctl enable mysqld
Configファイルの設定
php-fpm の設定(/etc/php-fpm.d/www.conf)
デフォルトの実行ユーザーとグループが「apache」になっているため「nginx」に変更します。
■変更前
listen = ''
user = apache
group = apache
■変更後
listen = /var/run/php-fpm/php-fpm.sock
user = nginx
group = nginx
php の設定(/etc/php.ini)
PHPセッションの保存先を「/tmp」から「/var/lib/php/session」に変更します。
■変更前
;session.save_path = "/tmp"
■変更後
session.save_path = "/var/lib/php/session"
nginx の設定(/etc/nginx/conf.d/phpmyadmin.conf)
新規にファイルを作成します。「192.168.1.180」の部分はサーバー自身のIPアドレスまたはFQDNに変更してください。
Configファイルの権限変更
nginxが「/var/lib/php/session」にアクセスできるように権限を変更します。
chown -R root.nginx /var/lib/php/session
サービスの再起動
systemctl restart nginx systemctl restart php-fpm systemctl restart mysqld
MySQLの初期設定とユーザー作成
① 初期設定コマンドを実行する
mysql_secure_installation
Press y|Y for Yes, any other key for No: y
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
New password: (rootユーザーのパスワードを入力)
Re-enter new password: (rootユーザーのパスワードを再入力)
Do you wish to continue with the password provided? : y
Remove anonymous users? : y
Disallow root login remotely? : y
Remove test database and access to it? : y
Reload privilege tables now? : y
② root ユーザーで MySQL にログインする
mysql -u root -p
Enter password: (rootユーザーに設定したパスワード)
③ 全権限のあるユーザーを作成する
黄色の部分は任意の値を設定してください。
mysql> CREATE USER 'ユーザー名'@'localhost' IDENTIFIED BY 'パスワード'; mysql> GRANT ALL ON *.* TO 'ユーザー名'@'localhost' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES; mysql> exit
④ 作成したユーザーでログインできることを確認する
mysql -u ユーザー名 -p Enter password: (全権限のあるユーザーのパスワード)
phpMyAdmin へのログイン
「192.168.1.180」の部分はサーバー自身のIPアドレスまたはFQDNに変更してください。
http://192.168.1.180/index.php

作成したMySQLのユーザー名とパスワードを入力してログインします。

phpMyAdmin を HTTPS 化する
phpMyAdminをHTTPS化する手順は以下の記事にまとめています。

まとめ
本記事ではCentOS8環境でnginx+php+MySQL構成のphpMyAdminをインストール・設定する手順を解説しました。パッケージのインストールからMySQL設定、phpMyAdminへのログインまでを順番通りに実施することで確実に構築できます。同様の構築で困っている方はTwitterでご連絡ください。
カユラ(@kayura_SE)

コメント