【CentOS8】phpMyAdminインストール手順(nginx+php+MySQL)での設定
こんにちは!
インフラ関連のシステムエンジニアをやっているカユラ(@kayura_SE )です。
今回は、「【CentOS8】phpMyAdminインストール手順(nginx+php+MySQL)での設定」について紹介したいと思います。
私自身いろいろと躓きましたため、上から順番に実施することで「phpMyAdmin」にログインできるような構成になっております。
「root」ユーザーで作業しているため、必要に応じて「sudo」をつけてください。
以下にPHP8.1版のインストール方法も書きました!
www.kayura-se.com名称 |
Ver |
---|---|
OS |
CentOS8.6 or Linux8.6 or 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 |
- 【CentOS8】phpMyAdminインストール手順(nginx+php+MySQL)での設定
- 必要なパッケージのインストール
- サービスの起動&自動起動設定
- Configファイルの設定
- Configファイルの権限変更
- サービスの再起動
- MySQLの初期設定とユーザー作成
- phpMyAdminへのログイン
- phpMyAdminをHTTPS化する手順を以下にまとめたため、ご覧ください。
必要なパッケージのインストール
①「nginx」をインストールします。
yum install -y nginx
②「remiリポジトリ」をインストールします。
※これが無いとインストールに失敗します。
PHP系の最新のパッケージを入手可能なリポジトリです。
以下のサイトでVerが選べるのですが、OSと同じ8.6にしてみました。
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-mbstring」、「php-intl」、「php」、「php-mysqlnd」をインストールします。
「php-fpm」は勝手に入るので大丈夫です!
「remi」リポジトリからインストールしています。
yum install -y --enablerepo=remi phpMyAdmin php-mbstring php-intl php php-mysqlnd
⑤「MySQL」をインストールします。
以下のコマンドで最新のVerを確認します。
yum info mysqlバージョン : 8.0.30
最新のVerでインストールします。
yum install -y @mysql:8.0
サービスの起動&自動起動設定
①「nginx」のサービスを起動し、自動起動を有効化インストールします。
systemctl start nginxsystemctl enable nginx
②「php-fpm」のサービスを起動し、自動起動を有効化インストールします。
systemctl start php-fpmsystemctl enable php-fpm
③「mysqld」のサービスを起動し、自動起動を有効化インストールします。
systemctl start mysqldsystemctl enable mysqld
Configファイルの設定
「php-fpm」の設定
「php-fpm」の設定vim /etc/php-fpm.d/www.conf
デフォルトの実行ユーザーとグループが「apache」になっているため、「nginx」に変更します。
■変更前listen = ''user = apachegroup = apache
↓↓↓↓↓↓変更後↓↓↓↓↓↓
■変更後listen = /var/run/php-fpm/php-fpm.sockuser = nginxgroup = nginx
「php」の設定
「php」の設定vim /etc/php.ini
デフォルトの「PHPのセッション」の保存先が「/tmp」になっているため、「/var/lib/php/session」に変更します。
■変更前;session.save_path = "/tmp"
↓↓↓↓↓↓変更後↓↓↓↓↓↓
■変更後session.save_path = "/var/lib/php/session"
「nginx」の設定
「nginx」の設定vim /etc/nginx/conf.d/phpmyadmin.conf
新規にファイルを作成します。
■変更前ファイルなし
↓↓↓↓↓↓変更後↓↓↓↓↓↓
■変更後
「192.168.1.180」の部分は、サーバー自身のIPまたはFQDNに変更してください。
Configファイルの権限変更
「/var/lib/php/session」の権限設定
「/var/lib/php/session」の権限設定
nginxが「/var/lib/php/session」にアクセスできるように権限を変更します。
chown -R root.nginx /var/lib/php/session
サービスの再起動
①「nginx」のサービスを再起動します。
systemctl restart nginx
②「php-fpm」のサービスを再起動します。
systemctl restart php-fpm
③「mysqld」のサービスを再起動します。
systemctl restart mysqld
MySQLの初期設定とユーザー作成
①初期設定用のコマンドを実行します。
mysql_secure_installation
■対話形式の応答:Press y|Y for Yes, any other key for No: yPlease enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0New password:(rootユーザーのパスワードを入力)Re-enter new password:(rootユーザーのパスワードを再入力)Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : yRemove anonymous users? (Press y|Y for Yes, any other key for No) : yDisallow root login remotely? (Press y|Y for Yes, any other key for No) : yRemove test database and access to it? (Press y|Y for Yes, any other key for No) : yReload privilege tables now? (Press y|Y for Yes, any other key for No) : y
②「root」ユーザーでMySQLにログインします。
mysql -u root -pEnter password:(rootユーザーに設定したパスワード)
③「全権限のあるユーザー」を作成します。
黄色の部分は任意のものを設定してください。
mysql>CREATE USER 'ユーザー名'@'localhost' IDENTIFIED BY 'パスワード';
mysql>GRANT ALL ON *.* TO 'ユーザー名'@'localhost' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
mysql>exit
④「全権限のあるユーザー」でログインできることを確認します。
mysql -u ユーザー名 -pEnter password:(全権限のあるユーザーに設定したパスワード)
phpMyAdminへのログイン
「192.168.1.180」の部分は、サーバー自身のIPまたはFQDNに変更してください。
①Webブラウザで以下のURLにアクセスします。http://192.168.1.180/index.php
②作成したMySQLのユーザー名とパスワードを入力してログインします。
phpMyAdminをHTTPS化する手順を以下にまとめたため、ご覧ください。
www.kayura-se.com【CentOS8】phpMyAdminインストール手順(nginx+php+MySQL)での設定の手順は以上となります。
次回はphpMyAdminの活用方法について説明したいと思います。
現在悩んでいる方はTwitterでご連絡ください。
私も辛い日々を経験したのであなたの助けになりたいです。
カユラ(@kayura_SE )