【phpMyAdmin】導入手順

ネコニウム研究所

PCを利用したモノづくりに関連する情報を掲載するブログ

【phpMyAdmin】導入手順

2022-3-25 |

phpMyAdminをVPSとかに導入したい!

概要

この記事では、phpMyAdminをVPSなどに導入する手順を掲載する。

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

仕様書

環境

  • phpMyAdmin 5.1.3
  • CentOS Linux release 7.9.2009 (Core)

手順書

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 apache. /var/www/html/phpmyadmin/tmp

    apacheではなくningxを使ってる場合は下記のコマンドを実行する。

    chown ningx. /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を触れない体になってしまった今日この頃。