どうも、Tです。
phpMyAdminはあまり好きでないので、避けていたんですが仕事で使うことになってしまったので、導入方法忘れないように備忘録です。
前提事項
下記のバージョンにインストールしています。
- CentOS Linux release 7.6.1810
- Apache 2.4
- PHP 7.3.2
- MariaDB 10.1
事前準備
OSのインストールと設定
下記の設定までしておきます。
- CentOS最小インストール
- IPアドレス設定
- Firewall無効化
- SELinux無効化
- 本記事の操作はrootで実施
PHPとMariaDBの設定
前に書いた記事をみて、PHPの導入とMariaDBの導入を終わらせておきます。
phpMyAdminインストール
ダウンロード
phpMyAdminのサイトからパッケージをダウンロードしておきます。
ダウンロードしたファイルは、CentOSの適応なディレクトリに保存しておきます。
インストール
ダウンロードファイルを解凍します。とりあえず、デフォルトの/var/www/htmlで作業しています。
[root@teamx html]# pwd /var/www/html [root@teamx html]# ls phpMyAdmin-4.8.5-all-languages.zip [root@teamx html]# unzip phpMyAdmin-4.8.5-all-languages.zip [root@teamx html]# ll 合計 10552 drwxr-xr-x 12 root root 4096 1月 25 22:04 phpMyAdmin-4.8.5-all-languages -rw-r--r-- 1 root root 10794370 4月 1 01:42 phpMyAdmin-4.8.5-all-languages.zip
ディレクトリ名がないので簡単な名前にします。
[root@teamx html]# mv phpMyAdmin-4.8.5-all-languages phpMyAdmin
phpMyAdmin用のデータベース作成を作成します。
解凍したディレクトリの中にSQLクエリファイルがありました。
[root@teamx sql]# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 11 Server version: 10.1.38-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> source /var/www/html/phpMyAdmin/sql/create_tables.sql Query OK, 1 row affected (0.00 sec) Database changed Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec)
データベースとテーブルが作成されている確認します。
MariaDB [phpmyadmin]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | phpmyadmin | +--------------------+ 4 rows in set (0.00 sec) MariaDB [phpmyadmin]> use phpmyadmin Database changed MariaDB [phpmyadmin]> show tables; +------------------------+ | Tables_in_phpmyadmin | +------------------------+ | pma__bookmark | | pma__central_columns | | pma__column_info | | pma__designer_settings | | pma__export_templates | | pma__favorite | | pma__history | | pma__navigationhiding | | pma__pdf_pages | | pma__recent | | pma__relation | | pma__savedsearches | | pma__table_coords | | pma__table_info | | pma__table_uiprefs | | pma__tracking | | pma__userconfig | | pma__usergroups | | pma__users | +------------------------+ 19 rows in set (0.00 sec) MariaDB [phpmyadmin]>
ここで、http://URL/phpMyAdmin/index.phpへアクセスしてみます。
ログイン画面ができました。ユーザー名とパスワードは、MariaDBのユーザーとパスワードになります。
ログインできましたが、画面下部に2つのエラーが出ていました。
気持ち悪いのでこの2つだけ消す設定を行います。
「 設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」
「$cfg[‘TempDir’] (./tmp/) にアクセスできません。phpMyAdmin はテンプレートをキャッシュすることができないため、低速になります。」
phpMyAdminを解凍したディレクトリに移動してテンプレートファイルから設定ファイルを作成します。
[root@teamx phpMyAdmin]# cd /var/www/html/phpMyAdmin [root@teamx phpMyAdmin]# cp config.sample.inc.php config.inc.php [root@teamx phpMyAdmin]# vi config.inc.php
対処1
「 設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」の対応のため下記を変更します。
変更前です。
/** * This is needed for cookie based authentication to encrypt password in * cookie. Needs to be 32 chars long. */ $cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
32文字のランダムな文字列を入れました。ランダム生成してくれるサイトを利用してみました。
変更後です。
/** * This is needed for cookie based authentication to encrypt password in * cookie. Needs to be 32 chars long. */ $cfg['blowfish_secret'] = 'bSkr8jMa3T8nJDLDuqM4Ukrnj8TRLVMN'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
これでエラーはなくなりました。
対処2
「$cfg[‘TempDir’] (./tmp/) にアクセスできません。phpMyAdmin はテンプレートをキャッシュすることができないため、低速になります。」の対策です。
ディレクトリ・ファイルともにrootになっていることが原因のようです。
[root@teamx phpMyAdmin]# ll 合計 780 -rw-r--r-- 1 root root 3216 1月 25 22:04 CODE_OF_CONDUCT.md -rw-r--r-- 1 root root 1956 1月 25 22:04 CONTRIBUTING.md -rw-r--r-- 1 root root 9015 1月 25 22:04 ChangeLog -rw-r--r-- 1 root root 1811 1月 25 22:04 DCO -rw-r--r-- 1 root root 18092 1月 25 22:04 LICENSE -rw-r--r-- 1 root root 1520 1月 25 22:04 README -rw-r--r-- 1 root root 29 1月 25 22:04 RELEASE-DATE-4.8.5 -rw-r--r-- 1 root root 1560 1月 25 22:04 ajax.php -rw-r--r-- 1 root root 1750 1月 25 22:04 browse_foreigners.php -rw-r--r-- 1 root root 3194 1月 25 22:04 changelog.php -rw-r--r-- 1 root root 856 1月 25 22:04 chk_rel.php -rw-r--r-- 1 root root 3181 1月 25 22:04 composer.json -rw-r--r-- 1 root root 93820 1月 25 22:04 composer.lock -rw-r--r-- 1 root root 4548 4月 1 02:26 config.inc.php -rw-r--r-- 1 root root 4516 1月 25 22:04 config.sample.inc.php ~~~~以下略
[root@teamx phpMyAdmin]# chown apache:apache -R /var/www/html/phpMyAdmin [root@teamx phpMyAdmin]# chown apache:apache -R /var/www/html/phpMyAdmin [root@teamx phpMyAdmin]# ll 合計 780 -rw-r--r-- 1 apache apache 3216 1月 25 22:04 CODE_OF_CONDUCT.md -rw-r--r-- 1 apache apache 1956 1月 25 22:04 CONTRIBUTING.md -rw-r--r-- 1 apache apache 9015 1月 25 22:04 ChangeLog -rw-r--r-- 1 apache apache 1811 1月 25 22:04 DCO -rw-r--r-- 1 apache apache 18092 1月 25 22:04 LICENSE -rw-r--r-- 1 apache apache 1520 1月 25 22:04 README -rw-r--r-- 1 apache apache 29 1月 25 22:04 RELEASE-DATE-4.8.5 -rw-r--r-- 1 apache apache 1560 1月 25 22:04 ajax.php -rw-r--r-- 1 apache apache 1750 1月 25 22:04 browse_foreigners.php -rw-r--r-- 1 apache apache 3194 1月 25 22:04 changelog.php ~~~~以下略
これでエラーはなくなりました。
参考
下記のサイトを参考にさせていただきました。
まとめ
とりあえず、動かすまでは苦もなく動かせる印象です。
設定やらセキュリティやらいじるところは結構あるので、機会があればおいおい・・・。
まぁでも本番環境で入れてるのって見たことないんだよなあ・・・・。