phpMyAdminを使用して複数のMySQLサーバーを管理できるようにUbuntuを構成する方法は何ですか?データベースパラメータはで設定され/etc/dbconfig-common/phpmyadmin.conf
ますが、単一のサーバーの接続パラメータ用のスペースしかありません。私はにそれをハック可能性/etc/phpmyadmin/config-db.php
と/etc/phpmyadmin/config.inc.php
、私はもっとエレガントな方法がなければならないと仮定します。
phpMyAdminを使用して複数のMySQLサーバーを管理できるようにUbuntuを構成する方法は何ですか?データベースパラメータはで設定され/etc/dbconfig-common/phpmyadmin.conf
ますが、単一のサーバーの接続パラメータ用のスペースしかありません。私はにそれをハック可能性/etc/phpmyadmin/config-db.php
と/etc/phpmyadmin/config.inc.php
、私はもっとエレガントな方法がなければならないと仮定します。
回答:
かなり古い質問ですが、検索に関連しています。
phpMyAdminは$cfg['Servers']
、構成ファイルにプレーンなPHPを使用し、配列を使用して構成済みのサーバーを取得します。
したがって、適切な方法は、追加する/etc/phpmyadmin/conf.d
サーバーごとに新しい構成ファイルを追加することです。ファイル名を終了するだけでファイル.php
が含まれるようになりますが、your_new_server.inc.php
一貫性を保つために使用することをお勧めします。
特定の構成ファイルの最小限の内容は次のとおりです。
<?php // let the interpreter know this is code
$cfg['Servers'][2]['host'] = 'THE_HOST';
$cfg['Servers'][2]['user'] = 'THE_USER';
$cfg['Servers'][2]['password'] = 'THE_PASSWORD';
別の回答で述べたように、/ usr / share / doc / phpmyadmin / examples / config.manyhosts.inc.phpファイルでその他のパラメーターを確認できます。
重要:新しいファイルごとに配列のインデックス(2)を増やす必要があり、localhostへの接続を維持する場合は1を使用しないでください。
phpMyAdminパッケージを使用している人がそれを考えてい$i
た場合、conf.d
ディレクトリからのファイルを含むforeachに増分変数を追加できたので、それをインデックスとして使用でき、心配する必要はありません。手動で増やしますが、悲しいことにそうではありません。ただし、自分で行うことができます。
[2019]:新しいPHPバージョンでは、このより簡潔な代替構文が許可されています。
<?php $cfg['Servers'][] = ['host'=>'my_host', 'user'=>'my_user', 'password'=>'my_pass'];
<?php
他のPHPスクリプトのように、で始まる必要があります。
これが最も正確な方法だと思います:
最初にパスワードを設定します:
sudo htpasswd -c /etc/phpmyadmin/htpasswd.setup admin
次に、セキュリティを無効にします。
sudo pma-configure
次に、http:// yourserver / phpmyadmin / setupにアクセスします(ここで、ブラウザーは認証を要求し、ユーザーはadminであり、パスワードは最初のコマンドで記述したものです)。そのウィザードでサーバーを構成し、再びセキュリティ:
sudo pma-secure
私は次のことを想定しています:
/etc/phpmyadmin/
構成を追加する最も論理的な場所になります/etc/phpmyadmin/config-db.php
デフォルト(ローカル?)構成の場所です。これは、デフォルトであるため、1つのdbのみです/etc/phpmyadmin/config.inc.php
デフォルトのデータベースを読み取り、1つにします。少なくともこれが使用されるため、データベースがあります。設定で何かが変更された場合config-db.php
、変更されるため、ファイルの「ローカル」変更は変更されません。したがって、私の結論は、この部分の下に余分なサーバーを追加することでした:
/* Configure according to dbconfig-common if enabled */
if (!empty($dbname)) {
//reading from config-db.php
}
//$i++ was allready done in if above
//Adding extra servers
$cfg['Servers'][$i]['host'] = 'serverhost.host.tld';
$cfg['Servers'][$i]['extension'] = 'mysqli';
//...etc
これは最高の場所のようです。
phpMyAdminのドキュメントによると、ファイルで$cfg['Servers']
定義された配列に複数のサーバーを定義できconfig.inc.php
ます。
You can regenerate it using: dpkg-reconfigure -plow phpmyadmin
。私はあなたがそれを試したと思いますか?(現在、実稼働システムでは実行しません)それ以外...手動で変更されたファイルは、上書きされる前に更新時にプロンプトが出される必要があります。
メインの設定ファイルはに保存され/etc/phpmyadmin/config.inc.php
ます。このファイルには
/var/lib/phpmyadmin/blowfish_secret.inc.php
/var/lib/phpmyadmin/config.inc.php
/etc/phpmyadmin/config-db.php
生成されるDB値
。を使用して変更できます/etc/dbconfig-common/phpmyadmin.conf
/usr/sbin/dbconfig-generate-include
/etc/dbconfig-common/phpmyadmin.conf
dpkg-reconfigure -plow phpmyadmin
/etc/phpmyadmin/conf.d/*.php
構成スニペットの例には、が/usr/share/doc/phpmyadmin/examples
含まれていconfig.manyhosts.inc.php
ます。このファイルはに追加できます/etc/phpmyadmin/conf.d
。i
ホストを作成する前に変数を1にリセットすることで機能し、で設定されたホストをオーバーライドします/etc/phpmyadmin/config.inc.php
。
より高度な設定を行う場合は、おそらく/etc/phpmyadmin/config.inc.php
ファイルを変更し、を使用して他の設定拡張子を追加することをお勧めします/etc/phpmyadmin/conf.d
。
古い構成ファイルに追加の構成のサポートを追加するには、ディレクトリ/etc/phpmyadmin/conf.d
を作成してから、以下のPHPコードを下部に追加します/etc/phpmyadmin/config.inc.php
。
/* Support additional configurations */
foreach (glob('/etc/phpmyadmin/conf.d/*.php') as $filename) {
include($filename);
}