phpMyAdminをインストール(Debian Stretch+Nginx+MariaDB環境)

2017/08/20[公開] 2018/12/09[最終更新]

 Debian 9 Stretch を新規インストールしたNginx WEBサーバーにphpMyAdminをインストールする方法です。前提として、こちらの記事(Debian 9 StretchでNginx+PHP7.0+MariaDBをインストール)の通り構築した自宅サーバーでのインストール方法です。

 Stretchでは、MariaDBが標準のSQLサーバーになりましたが、新規インストールしたMariaDBではunix_socketプラグインありのrootユーザーが作成されるので、phpMyAdminではrootでログインできません。代わりにunix_socketプラグイン無しのログイン可能なユーザーを作成します。

このページの目次

スポンサー リンク

unix_socket プラグイン

 新規インストールしたMariaDBのrootは、パスワード無し、unix_socketプラグイン有りで作成されます。(Jessieからのアップグレードの場合を除く)

 OSのrootで直接操作するしか、DBのrootも使えない仕様のようです。その方がセキュリティ的に安全だしパスワード無しで操作も簡単ということのようです。そのため、外部のphpMyAdminからはrootでログインできないようになっています。

 DBのrootがunix_socketプラグインで作成されているかどうかは、下記コマンドで確認できます。

# mysql -u root

MariaDB [(none)]> use mysql

MariaDB [mysql]> select Host,User,plugin from mysql.user where User='root';
+-----------+------+-------------+
| Host      | User | plugin      |
+-----------+------+-------------+
| localhost | root | unix_socket |
+-----------+------+-------------+
1 row in set (0.01 sec)

MariaDB [mysql]> exit

インストール

 phpmyadminをインストールします。途中でWEBサーバーと連携するか聞いてきますが、nginxはリストに出てこないので未選択のまま進みます。phpmyadmin用のデータベースも不要なので<いいえ>で進みます。

# apt install phpmyadmin
phpmyadmin2-1
apache、lighttpdの両方チェックを入れずに<了解>
phpmyadmin3-1
phpmyadmin用でデータベースとユーザーは作らないので<いいえ>

ユーザー作成

 rootの代わりのユーザーを作成します。全権限を与えていますが、それでもrootと全く同じ権限を与えるのは無理なようです。

 dbuserというユーザーをパスワード:password で作成してphpmyadmin用のユーザーにする例がこちらです。

# mysql -u root

MariaDB [(none)]> use mysql

MariaDB [mysql]> grant all on *.* to "dbuser"@localhost identified by 'password';

MariaDB [mysql]> exit

シンボリックリンク作成

 ブラウザーで、サイトurl~/phpmyadmin と入力してphpMyAdminを開くことができるように、シンボリックリンクを作成します。

 下記は、nginxの初期公開ディレクトリで設定した例です。

# ln -s /usr/share/phpmyadmin /usr/share/nginx/html

phpmyadminを隠す

 セキュリティ的にサイトurl~/phpmyadmin で開くままだと、誰でも推測でログイン画面を出すことができるので心配な場合、サイトurl~/origina-myadmin-urlというように、URLを変更する方法です。作成したシンボリックリンクの名前を変更します。

# cd /usr/share/nginx/html

# mv phpmyadmin origina-myadmin-url

WordPressのユーザーが作れない

 以上で、Debian StretchのMariaDBでphpMyAdminをインストールできました。しかしこれでは、WrodPressを新規インストールするときに、新規データベースは作成できますが、データベース固有のユーザーに権限譲渡ができないです。

 そうなると、OSにrootでログインしてコマンド操作することになり、phpMyAdminはいらない気もします。それでも、それ以外の操作をブラウザーでGUIで利用したい場合もあるでしょう。

スポンサー リンク

コメントを残す

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