【Ubuntu20】phpMyAdminを導入する

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【Ubuntu20】phpMyAdminを導入する

2022-5-27 | ,

Ubuntu20にphpMyAdminをインストールしたい!

概要

この記事では、Ubuntu20にphpMyAdminをインストールする手順を掲載する。

DBでごにょごにょするのにGUIがあると楽です。というか、ないと辛い。

CentOS7版は書きを参照して下さい。

仕様書

環境

  • Ubuntu 20.04 LTS
  • MariaDB 15.1
  • PHP 8.0.19
  • phpMyAdmin 5.1.3

手順書

MySQL(MariaDB)を導入する

  1. phpMyAdminに対応してるバージョンのMySQLをインストールする。phpMyAdmin 5.1.*では、MySQL 5.5以上に対応してる。今回はMariaDB 15.1をインストールした。MariaDBをインストール手順については、下記の記事を参照して下さい。

PHPと必要な拡張を導入する

  1. phpMyAdminに対応してるバージョンのPHPをインストールする。phpMyAdmin 5.1.*では、PHP 7.1以上に対応してる。PHPをインストール手順については、下記の記事を参照して下さい。
  2. phpMyAdminに必要なPHPの拡張をインストールする。
    sudo apt install php8.0-mbstring php8.0-mysqli

phpMyAdminを導入する

  1. phpMyAdminの公式サイトからphpMyAdminをダウンロードする。
  2. zipを解答して、中身をサーバーにアップロードする。(例として、ドキュメントルートが\var\www\html\、phpMyAdminのアップロード先が\var\www\html\phpmyadmin\として話を進める)
  3. サイトのアップロードしたディレクトリにアクセスしてphpMyAdminのログイン画面が表示されれば、導入完了。取りあえず使える状態になった。

設定ファイルにパスフレーズを設定する

phpMyAdminにログインすると、「設定ファイルに、暗号化(blowfish_secret)用の非公開パスフレーズの設定を必要とするようになりました。」という警告が表示されてる。セキュリティ的にも対応すべし。

  1. \var\www\html\phpmyadmin\にあるconfig.sample.inc.phpconfig.inc.phpにリネームする。
  2. config.inc.phpを開き、下記にパスフレーズを32文字以上で入力する。こちらのようなランダムな文字列を生成してくれるサービスを使うのがオススメ。
    $cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

    設定後は下記のような感じ。

    $cfg['blowfish_secret'] = 'IAi2bNVZjb2JuRvIC42AwsMPBIQv520Wpd9LWdXJHcUTJB1Qo1SYimCgnWCDhk2R'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
  3. ファイルを保存し、phpMyAdminにログインすると該当の警告が消えてる。(まだ別の警告が残ってるので次節で対応する)

TempDirへの権限を設定する

$cfg[TempDir](/var/www/html/phpmyadmin/tmp/)にアクセスできません。phpMyAdminはテンプレートをキャッシュすることができないため、低速になります。」という警告が表示されてる。低速を回避するために設定するべし。

  1. シェルで下記のコマンドを実行して、apacheがtmpにアクセスできるよう権限を設定する。
    chown -R www-data:www-data /var/www/html/phpmyadmin/tmp
  2. phpMyAdminにログインすると該当の警告が消えてる。

環境保管領域を設定する

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

  1. phpMyAdmin上で「インポート」タブを開く・
  2. 「アップロードファイル」からphpMyAdminのzipの中に含まれてるsql\create_tables.sqlを選択する。
  3. 「実行」をクリックする。「インポートは正常に完了しました。」と表示されればOKだ。
  4. \var\www\html\phpmyadmin\config.inc.phpを開き、下記のコメントを解除する。
    /* Storage database and tables */
    // $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
    // $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
    // $cfg['Servers'][$i]['relation'] = 'pma__relation';
    // $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
    // $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
    // $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
    // $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
    // $cfg['Servers'][$i]['history'] = 'pma__history';
    // $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
    // $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
    // $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
    // $cfg['Servers'][$i]['recent'] = 'pma__recent';
    // $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
    // $cfg['Servers'][$i]['users'] = 'pma__users';
    // $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
    // $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
    // $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
    // $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
    // $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
    // $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

    コメントを解除すると下記のような感じ。

    /* Storage database and tables */
    $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
    $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
    $cfg['Servers'][$i]['relation'] = 'pma__relation';
    $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
    $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
    $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
    $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
    $cfg['Servers'][$i]['history'] = 'pma__history';
    $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
    $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
    $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
    $cfg['Servers'][$i]['recent'] = 'pma__recent';
    $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
    $cfg['Servers'][$i]['users'] = 'pma__users';
    $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
    $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
    $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
    $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
    $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
    $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
  5. ファイルを保存する。
  6. phpMyAdminにログインすると該当の警告が消えてる。

まとめ(感想文)

テスト環境なんかでDBをごにょごにょするのに便利かもね!

もうGUIがないとDBを触れない体になってしまった今日この頃。