CentOS7にphpMyAdminをパッケージで手動インストールする方法

どうも、Tです。

phpMyAdminはあまり好きでないので、避けていたんですが仕事で使うことになってしまったので、導入方法忘れないように備忘録です。

とりあえず動く環境が欲しかったので、セキュリティ度外視です。本番環境に使う場合は、セキュリティの設定も行いましょう。
スポンサーリンク
アドセンス1

前提事項

下記のバージョンにインストールしています。

  • 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の導入を終わらせておきます。

CentOS7+Apache+PHP+MariaDBにWordpressをインストールする
どうも、Tです。 WordPressの検証が必要になり、簡単なところはローカルで行いたいのでインストール方法についてまとめてみました。...

phpMyAdminインストール

ダウンロード

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文字のランダムな文字列を入れました。ランダム生成してくれるサイトを利用してみました。

https://util.geo.jp/tools/rand_text/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
~~~~以下略

これでエラーはなくなりました。

参考

下記のサイトを参考にさせていただきました。

http://nanisore-nikki.hatenablog.com/entry/2015/03/03/152305

まとめ

とりあえず、動かすまでは苦もなく動かせる印象です。

設定やらセキュリティやらいじるところは結構あるので、機会があればおいおい・・・。

まぁでも本番環境で入れてるのって見たことないんだよなあ・・・・。

スポンサーリンク
アドセンス1
アドセンス1
ブログランキング・にほんブログ村へ

シェアする

フォローする