Ubuntu環境でのphpMyAdmin導入とアップロード容量制限の設定方法

前提環境の構築

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/ 配下の設定ファイルを編集してください。

タグ: phpMyAdmin MySQL Apache PHP Ubuntu

8月11日 19:14 投稿