phpmyadminのインストール後、「構成ファイルには秘密のパスフレーズが必要です」というエラーが表示され続けます。パスフレーズを設定し、https://serverfault.com/questions/291490/phpmyadmin-not-allowing-users-to-log-onに記載されている指示に従いましたが、機能していないようです。私はAMIを使用していますが、所有者と権限もチェックしました。親切に助けてください。
phpmyadminのインストール後、「構成ファイルには秘密のパスフレーズが必要です」というエラーが表示され続けます。パスフレーズを設定し、https://serverfault.com/questions/291490/phpmyadmin-not-allowing-users-to-log-onに記載されている指示に従いましたが、機能していないようです。私はAMIを使用していますが、所有者と権限もチェックしました。親切に助けてください。
回答:
これが役立つ場合があります、 https://wiki.archlinux.org/index.php/PhpMyAdmin#Add_blowfish_secret_passphrase
最初に/ phpmyadminにログインしたときに(以前にセットアップしたMySQLユーザー名とパスワードを使用して)ページの下部に次のエラーメッセージが表示される場合:
ERROR: The configuration file now needs a secret passphrase (blowfish_secret)
blowphpのパスワードをphpMyAdminの構成ファイルに追加する必要があります。/etc/webapps/phpmyadmin/config.inc.phpを編集し、行にランダムなblowfish「パスワード」を挿入します
$cfg['blowfish_secret'] = ; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
次のようになります。
$cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
これはすべて、設定ファイルがすでに適切に作成されていることを前提としています。
cp config.sample.inc.php config.inc.php
config.sample.inc.php
ファイルを変更し、config.inc.php
言及された$cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz';
設定を追加しましたが、phpMyAdminインデックスページにはまだ存在しないという苦情があります!別のファイルを読み込んでいる可能性がある場合、そのファイルがどこにあるのか、なぜなのかわかりませんか?以前にこの問題を抱えていた人はいますか?
またThe configuration file now needs a secret passphrase (blowfish_secret)
、構成ファイルが$cfg['blowfish_secret']
設定されたときにエラーが発生していました。CentOS v6を使用しており、を使用してEPELリポジトリからPHPMyAdminをインストールしましたyum
。PHPMyAdminをホストするためにnginxをセットアップし、PHPMyAdminパッケージ(デフォルト)はApacheで動作するようにセットアップされています。設定ファイルは次の場所にあります/etc/phpMyAdmin/config.inc.php
(あなたがチェックすることができますCONFIG_DIR
でlibraries/vendor_config.php
、あなたの設定ファイルが置かれている場所を見つけるために)、あなたが気づいた場合、ユーザーはrootで、グループがありapache
、ファイルやディレクトリの。これにより、PHPMyAdminが構成ファイルを読み取れなくなります。この問題を修正するにchown
は、グループを使用して、ウェブサーバーを実行しているグループに変更します(私の場合、グループはですnginx
)。ディレクトリと構成ファイルの両方の所有者を変更する必要があります(以下を参照)。
chown -R root.nginx /etc/phpMyAdmin/
PHPMyAdminが更新された場合、これを再度行う必要があることに注意してください。また、SELinuxが有効になっている場合は、権限にさらに問題がある可能性があります。
/etc/phpmyadmin/config.inc.php
: `*注:このファイルに(パスワードなどの)セキュリティ上重要なデータを追加しないでください。そうした場合、Webサーバー上でPHPまたはCGIを実行できるユーザーであれば誰でも読むことができます。それでもこれを行う場合は、*このファイルへのアクセスを(ファイルシステムレベルでも)適切に保護してください。* / `
include('/var/lib/phpmyadmin/blowfish_secret.inc.php');
そこで、そこに行き、そのファイルのグループをWebサーバーユーザーに変更しました。動作しますが、パスワードをに入れることほど安全ではないようです/etc/phpmyadmin/config.inc.php
。PHPを実行できないのではないでしょうか?ただし、問題は修正されました。だから、ハック攻撃の橋を渡るとすぐに渡ると思います。
./config/config.inc.php
です。このディレクトリ外にこのファイルがあるため、バージョンを簡単に交換できるため、このファイルのシンボリックリンクを自分の場所に作成するだけで、メッセージは消えてしまいました。ln -s ../../../config.inc.php config.inc.php
/etc/phpMyAdmin
ディレクトリconfig.inc.php
内のファイルだけでなく、ディレクトリに権限を設定する必要がある場合。
持っていた
define('CONFIG_DIR', '/etc/phpmyadmin');
/usr/share/phpmyadmin/libraries/vendor_config.phpにあります。
そのはず:
define('CONFIG_DIR', '/etc/phpmyadmin/');
(スラッシュが追加されました)
phpmyadminの最新バージョンは、インストール後に構成ファイルを作成しません。使用可能な設定ファイルの例と、フォルダツリーのさらに深い実際のデフォルトの設定ファイルがあります。
blowfishのシークレットの長さは正確に32文字でなければならないことに注意してください。さもないと適用されません。
サンプルファイルをコピーして、デフォルトを上書きする実際に使用されるファイルを作成します。以下に示すディレクトリは単なる例です。したがって、適用するphpmyadminインストールのディレクトリ/パスを使用してください。
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
ファイルの上部には、設定する必要があるblowfish変数があります。変数の値に32個のランダムな文字を追加して、ファイルを保存します。
$cfg['blowfish_secret'] = 'KLS$vbc91Lkja$vc@opGbxA278EWopdc';
このスレッドで32文字のルールについて言及している人はいませんでした。おそらくそれがOPの問題だったのでしょう。
私の場合、レポジトリのバージョンがPHP 7.2でうまく動作しなかったため、PHPMyAdminを手動でアップグレードしました。すべての手順をオンラインで実行しましたが、/ usr / share / phpmyadmin / libraries / vendor_config.phpでミスを犯していました。
行:終わりdefine('CONFIG_DIR', '/etc/phpmyadmin/');
にありません/
でした。手動でlibrarys / classes / Config.phpを編集することでこれを見つけ、最初にfunction load($source)
を実行しましたdie($source)
。そこで、構成ソースが正しくないことがわかりました。
次の手順を実行します:
1)に行く /etc/httpd/conf.d/phpmyadmin.conf
2)に移動して/usr/share/phpmyadmin
開きますconf.inc.php
3)blowfish_secretの値を追加します-
$cfg['blowfish_secret'] = 'mrgQxxk8C-y}U7ji2BO9o5jLf}Qhe-BI[~6SUa';/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
4)保存して終了します。
5)ブラウザのキャッシュをクリアする
6)urlでアクセスしてみてください:http : //yourserver.com/phpmyadmin/index.php
これを共有したいだけです。プット
$cfg['blowfish_secret'] = 'fill this up';
phpmyadminフォルダーに移動して検索します lint.php
を設定します
require_once 'common.inc.php';
ここでファイルを編集した場合: /usr/share/phpmyadmin/config.inc.php
問題が解決しない場合、間違ったファイルを編集している可能性があります。実行するwhereis phpmyadmin -l
と、サーバー上のphpmyadminの場所のリストが表示されます。
間違ったファイルを編集している可能性があると言ったのは、phpmyadminをインストールするvar/www/phpmyadmin
か、var/www/html/phpmyadmin
これを編集する必要がある場合ですphpmyadmin/config.sample.inc.php
。
だからこれを試してください:
$ cd var/www/html/phpmyadmin
$ cp config.sample.inc.php config.inc.php
これをあなたの方法で編集し、ログアウトしてphpmyadminにログインしてください。
角括弧内に32個のシンボルを含むパスワードを追加$ cfg ['blowfish_secret'] = ''; /usr/share/phpmyadmin/libraries/config.default.php内の別のファイルを手伝ってくれました
debian 9 + ispconfigを使用して、手動でインストールされたphpmyadmin
私の場合、それは所有者/許可の問題でした。なぜなら、プライマリWebサイトの1つでシンボリックリンクを手動で作成し、IP経由ではなく/usr/share/phpmyadmin/
FQDN https://myserver.mydomain.com/changedphpmyadminからphpMyAdminにアクセスできるようにするためです。しかし、そうすることでWebユーザーも変わりました。これがデフォルトのドメインでない場合、IPを介したブラウジングはFQDNを介したブラウジングとは異なります。
したがって、私の場合、FQDNのWebユーザーは読み取ることができなかった/var/lib/phpmyadmin/blowfish_secret.inc.php
ので、この場合、このファイルの所有者をroot:www-dataからweb1:client1に変更しました。次に、nginxをテストしてリロードします。
chown web1:client1 /var/lib/phpmyadmin/blowfish_secret.inc.php
nginx -t
systemctl reload nginx