前提環境の構築
phpMyAdminを動作させるには、事前にMySQLサーバとApache HTTPサーバのセットアップが必要です。ここでは既にインストール済みとして、PHP環境の構築に進みます。
PHPランタイムとApacheモジュールの導入
Ubuntuの場合、以下のコマンドでPHPとApache連携モジュールをインストールします。バージョンは環境に応じて読み替えてください。
sudo apt update
sudo apt install php php-mysql libapache2-mod-php
インストール後、Apacheを再起動して変更を反映させます。
sudo systemctl reload apache2
動作確認用スクリプトの作成
PHPが正常に動作しているか検証するため、ドキュメントルートにテストファイルを作成します。
sudo tee /var/www/html/check.php <<'EOF'
<?php
echo "PHP Version: " . PHP_VERSION . "\n";
echo "Loaded Extensions:\n";
print_r(get_loaded_extensions());
?>
EOF
ブラウザで http://サーバアドレス/check.php にアクセスし、バージョン情報が表示されれば成功です。
必要なPHP拡張モジュールのインストール
phpMyAdminが要求する機能を満たすため、主要な拡張モジュールを導入します。用途に応じて選択的にインストールすることも可能です。
sudo apt install php-mbstring php-zip php-gd php-json php-curl php-xml php-bz2
変更を確実に反映させるため、Apacheを再起動します。
sudo systemctl restart apache2
phpMyAdmin本体のインストール
パッケージマネージャ経由でインストールを実行します。インストール中に設定ウィザードが表示されるため、以下の点に注意してください。
sudo apt install phpmyadmin
- Webサーバの選択画面では Apache2 を選択
- dbconfig-commonの利用については環境に応じて判断(推奨:はい)
- MySQLのrootパスワードやphpMyAdmin専用ユーザーのパスワードを設定
インストール完了後、http://サーバアドレス/phpmyadmin でアクセスできることを確認してください。アクセスできない場合は、以下のコマンドで再設定を実行します。
sudo dpkg-reconfigure phpmyadmin
シンボリックリンクの確認
ApacheのドキュメントルートにphpMyAdminへのリンクが存在するか確認します。ない場合は手動で作成します。
ls -la /var/www/html/phpmyadmin
# リンクがない場合
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
複数データベースサーバへの接続設定
方法A: 任意のサーバへの接続を許可
ログイン画面で接続先を手動入力できるようにする設定です。セキュリティには注意が必要です。
sudo nano /etc/phpmyadmin/config.inc.php
以下の行を追加します。
$cfg['AllowArbitraryServer'] = true;
方法B: 固定サーバを複数登録
頻繁に利用するデータベースサーバをあらかじめ設定する方法です。設定ファイルを編集します。
sudo nano /etc/phpmyadmin/config.inc.php
既存のサーバ設定の後に、2台目以降の設定を追加します。
// 既存の設定(1台目)
$i++;
$cfg['Servers'][$i]['verbose'] = '本番DB';
$cfg['Servers'][$i]['host'] = 'db-prod.example.com';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
// 2台目の追加
$i++;
$cfg['Servers'][$i]['verbose'] = '開発DB';
$cfg['Servers'][$i]['host'] = '192.168.1.50';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
アップロードファイルサイズ制限の変更
デフォルトではSQLファイルのアップロードに厳しい制限があります。サーバ側ディレクトリを利用したインポート方法でこれを回避できます。
作業ディレクトリの作成
phpMyAdminのディレクトリ内に、インポート用とエクスポート用のフォルダを作成します。
sudo mkdir -p /usr/share/phpmyadmin/import /usr/share/phpmyadmin/export
sudo chown -R www-data:www-data /usr/share/phpmyadmin/import /usr/share/phpmyadmin/export
設定ファイルの編集
phpMyAdminのメイン設定に、作成したディレクトリのパスを指定します。
sudo nano /etc/phpmyadmin/config.inc.php
ファイル末尾付近に以下を追加します。
// サーバ上のファイルをインポートするディレクトリ
$cfg['UploadDir'] = '/usr/share/phpmyadmin/import';
// エクスポートファイルの保存先ディレクトリ
$cfg['SaveDir'] = '/usr/share/phpmyadmin/export';
設定反映後、phpMyAdminの「インポート」画面で「ファイルから選択」欄の下に「サーバー上のディレクトリから選択」という項目が追加されます。大容量のSQLファイルを事前に /usr/share/phpmyadmin/import に配置すれば、ブラウザ経由のアップロード制限を回避してインポートできます。
設定ファイルの注意点
パッケージインストールしたphpMyAdminでは、/var/www/html/phpmyadmin 内のファイルを編集しても反映されません。必ず /etc/phpmyadmin/ 配下の設定ファイルを編集してください。