phpMyAdminをインストールする 20200401更新 20170704

MySQLをコマンドラインとスクリプトだけで操作するのはあまりに手工業的である。
Webブラウザで,MySQL全体を管理できるようにするためのツールとして,phpMyAdminを使う。

前提:
 MySQL,PHP7.3,PHP7.3-mysqli,PHP7.3-mbstring がインストールされていること。
 もしPHPのバージョンが7.1などの場合には,そのように読み替えてください。

標準インストールでは最後のところが面倒だがあえてやってみるなら

標準のまま
$sudo apt-get -y install phpmyadmin
では,設定ファイルが不親切なので,起動時の警告への対処が面倒である。
また,sudo apt show phpmyadminで調べたら古いバージョンのようです。
しかしこのコマンドでインストールした場合は「3.phpMyAdminをエイリアスとしてApacheに登録」へ進むことができる。

$sudo apt-get -y install phpmyadmin

PhpMyAdmin は /usr/share/にインストールされ,
/usr/share/phpmyadmin/index.php
が先頭ファイルである。

1.phpMyAdminのダウンロード先の確認

https://www.phpmyadmin.net/downloads/
で最新版を調べておく。
「phpMyAdmin 5.0.2 最新バージョン,Released 2020-03-21 PHP 7.1以降およびMySQL 5.5以降と互換性のある現在のバージョン。」が最新であることが判った。

そして
https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip
でダウンロードできることを調べた。


2.PhpMyAdminのインストール

PhpMyAdmin は /usr/share/ に置くのが標準とされているので,それに従うことにする。

・「unzip」を使うのでもしインストールされていなかったらインストール
・「/usr/share/」をカレントディレクトリにして,ここで以下を作業
・「phpMyAdmin-5.0.2-all-languages.zip」をダウンロード
・「phpMyAdmin-5.0.2-all-languages.zip」を解凍
・解凍してできたディレクトリ「phpMyAdmin-5.0.2-all-languages」を「phpmyadmin」に変更
 (「/usr/share/phpmyadmin」ができる)
・「phpmyadmin」フォルダのパーミッションを755に変更

($ sudo apt-get install unzip) 「unzip」がインストールされていない場合のみ
$ cd /usr/share/
$ sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip
$ sudo unzip phpMyAdmin-5.0.2-all-languages.zip
$ sudo mv phpMyAdmin-5.0.2-all-languages phpmyadmin
$ sudo chmod -R 0755 phpmyadmin

3.phpMyAdminをエイリアスとしてApacheに登録

phpMyAdminをApacheに登録すると,ブラウザで http://localhost/phpmyadmin でアクセスできるようにしたい。
phpmyadminがエイリアスであることをapacheにを知らせておく必要がある。

Apache2の設定ファイルは,「/etc/apache2/sites-available/000-default.conf」だったので,

$ sudo nano /etc/apache2/sites-available/000-default.conf
で書き換え

</VirtualHost>の直前に以下を挿入

        Alias /phpmyadmin "/usr/share/phpmyadmin/"
        <Directory "/usr/share/phpmyadmin/">
            Order allow,deny
            Allow from all
            Require all granted
        </Directory>


●設定ファイルを変更したので,apacheを再起動
$ sudo service apache2 restart


4.ブラウザから表示テスト

mysqlサーバが起動していなかったら起動
$ sudo service mysql start
mysqlサーバが起動したのでapacheを再起動 (起動していなかったら起動)
$ sudo service apache2 restart
($ sudo service apache2 start)

ブラウザから http://localhost/phpmyadmin/ にアクセス

もしここで,「The mbstring extension is missing. Please check your PHP configuration.」
と怒られたら,mbstringの設定がphpにできていなかったことになる。
$ sudo apt-get install PHPX.Y-mbstring
(phpはphp.iniの設定は見ていないようだ)

phpMyAdminの画面が出てくる。
ユーザ名:root、パスワード:mysql の root ユーザに設定したパスワード でログインできる。

2つほど警告が出てくる

(1) phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。
代わりにデータベースの操作タブを使って設定することもできます。

→Create a database named 'phpmyadmin' and setup the phpMyAdmin configuration storage there.
  そのままリンク「Create」で中に入って設定してOK

 (標準インストールの場合はこんなに簡単に解決できない)

(2) 設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。
(mcrypt 拡張がありません。PHP の設定をチェックしてみてください。)

テスト環境では放置してもOK?

設定する場合
phpmyadminをインストールしたディレクトリ(/usr/share/phpmyadmin)に
「config.sample.inc.php」があるので、複製を作って,名前を「config.inc.php」に変更
「config.inc.php」ファイルをnanoで開いて、
ファイルの先頭付近の

/**
 * 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文字の文字列を与えればよい。
与えてもこの後、再度入力を求められることはないので覚えておく必要はない。

あとは使い方を研究してね。
最初の画面に見えているデータベースは,MySQL本体がが管理しているものが多いので,壊さないようにする。
あらかじめ,手作業で小さなデータベース例を作っておいて,この画面で見ると,自分で作ったデータベースがどのように見えるかわかって,動作を理解するのに役立つ。


★終わり方
phpMyAdminの画面の左側にログアウトボタンがある。

ubuntsuコンソールでmysqlサーバ終了
$ sudo service mysql stop
apacheも終了したかったら
$ sudo service apache2 stop