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)
phpMyAdmin의 설정 파일에 복어 암호를 추가해야합니다. /etc/webapps/phpmyadmin/config.inc.php를 편집하고 임의의 복어 "암호"를 줄에 삽입하십시오
$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
당신이 나는 경우, 사용자가 루트이고 그룹은 설정 파일이있는 위치를 찾을 수) apache
파일 및 디렉토리. 이로 인해 PHPMyAdmin이 구성 파일을 읽을 수 없습니다. 이 문제를 해결하려면 chown
그룹을 웹 서버를 실행하는 그룹으로 변경하십시오 (필자의 경우 그룹은 nginx
). 디렉토리와 구성 파일의 소유자를 변경해야합니다 (아래 참조).
chown -R root.nginx /etc/phpMyAdmin/
PHPMyAdmin이 업데이트 된 경우이 작업을 다시 수행해야 할 수도 있습니다. SELinux가 사용 가능한 경우 권한에 대한 추가 문제점이있을 수도 있습니다.
/etc/phpmyadmin/config.inc.php
: : * 참고 : 수행중인 작업을 실제로 알지 않는 한이 파일에 보안 관련 데이터를 추가하지 마십시오 (예 : 비밀번호). 그렇게하면 웹 서버에서 PHP 또는 CGI를 실행할 수있는 모든 사용자가 읽을 수 있습니다. 그래도이 작업을 수행하려면 * 파일 시스템 수준에서도이 파일에 대한 액세스를 올바르게 보호해야합니다. * /`
include('/var/lib/phpmyadmin/blowfish_secret.inc.php');
그래서 거기 가서 해당 파일의 그룹을 웹 서버 사용자로 변경 했습니다 . 작동하지만 비밀번호를에 넣는 것보다 더 안전하지는 않습니다 /etc/phpmyadmin/config.inc.php
. PHP를 실행할 수없는 것 같습니다. 그래도 문제가 해결되었습니다. 그래서 나는 그것을 얻을 때 핵 공격 다리를 건너 것 같아요.
./config/config.inc.php
입니다. 이 디렉토리 외부에이 파일이 있으므로 버전을 더 쉽게 교환 할 수 있으므로이 파일에 대한 심볼릭 링크를 내 위치로 만들어야했고 메시지가 사라졌습니다. ln -s ../../../config.inc.php config.inc.php
/etc/phpMyAdmin
뿐만 아니라 디렉토리 에 대한 권한을 설정해야 config.inc.php
합니다.
phpmyadmin의 최신 버전은 설치 후 구성 파일을 작성하지 않습니다. 폴더 트리에는 사용 가능한 구성 파일 예제와 실제 기본 구성 파일이 더 있습니다.
복어 비밀의 길이는 정확히 32 자 여야합니다. 그렇지 않으면 적용되지 않습니다.
예제 파일을 복사하여 기본값을 대체하는 실제 사용 된 파일을 작성하십시오. 아래에 표시된 디렉토리는 예일 뿐이므로 적용되는 phpmyadmin 설치에 대한 디렉토리 / 경로를 사용하십시오.
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
파일 맨 위에는 설정해야하는 복어 변수가 있습니다. 변수 값에 32 개의 임의의 문자를 추가 한 다음 파일을 저장하십시오.
$cfg['blowfish_secret'] = 'KLS$vbc91Lkja$vc@opGbxA278EWopdc';
이 스레드에서 32 자 규칙을 언급 한 사람은 읽지 않았습니다. 아마도 그것은 OP의 문제 일 것입니다.
필자의 경우 repo의 버전이 PHP 7.2에서 제대로 작동하지 않기 때문에 PHPMyAdmin을 수동으로 업그레이드했습니다. 온라인에서 모든 단계를 수행했지만 /usr/share/phpmyadmin/libraries/vendor_config.php에서 실수를했습니다.
선은 : define('CONFIG_DIR', '/etc/phpmyadmin/');
누락 된 /
말. 의 I 수동으로 편집 라이브러리 / 클래스 / Config.php에 의해 시작 부분에이를 발견 function load($source)
나는했다 die($source)
. 거기에서 구성 소스가 잘못되었음을 알았습니다.
http (웹 서버) 그룹의 실행 권한을 확인하는 것 외에도 php.ini의 'open_basedir'항목에 config.inc.php가있는 디렉토리가 포함되어 있는지 확인하는 것이 좋습니다. 이것은 나를 위해이 문제를 해결했습니다.
이 단계를 따르세요:
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 내의 다른 파일을 찾도록 도와주었습니다.
phpmyadmin 수동 설치 데비안 9 + ispconfig 사용
필자의 경우 주 웹 사이트 중 하나에서 symlink를 수동으로 생성 /usr/share/phpmyadmin/
하여 FQDN https://myserver.mydomain.com/changedphpmyadmin 에서 IP로만 액세스 할 수 있기 때문에 소유자 / 권한 문제였습니다 . 그러나 그렇게하면 웹 사용자도 바뀌었다. 기본 도메인이 아닌 경우 IP를 통한 탐색은 FQDN을 통한 탐색과 다릅니다.
따라서 필자의 경우 FQDN의 웹 사용자가 읽을 수 없으므로이 경우 /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