phpMyAdmin 오류-구성 파일에 비밀 암호가 필요합니다.


답변:


39

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

내가 말했듯이, 나는 이미 암호를 설정했지만 여전히 작동하지 않습니다.
jax

1
편집 한 구성 파일이 활성화되지 않았습니까? 오류는 암호 문구가 설정되지 않았 음을 나타냅니다.
user16081-JoeT

2
나는이 같은 문제가 있습니다 ... 내 config.sample.inc.php파일을 변경 config.inc.php하고 언급 된 $cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz';설정을 추가 했지만 phpMyAdmin 색인 페이지가 여전히 누락되었다고 불평합니다! 다른 파일을로드 할 가능성이 있다면 파일의 위치 또는 이유를 모릅니다. 전에이 문제가있는 사람이 있습니까?
JasonDavis

1
@jasondavis는 다른 답변을 확인하십시오. 권한 문제가있을 수 있으며 phpMyAdmin 구성 폴더의 소유권 / 그룹을 변경해야합니다.
user16081-JoeT

2
question-defense.com/tools/phpmyadmin-blowfish-secret-generator 의 "비밀 생성기"를 사용하여 작동해야하는 임의의 코드를 얻을 수 있습니다. user16081-JoeT 게시물의 호출기에 연결되어 있습니다. 그런 다음 그의 지시를 따르십시오.
WebLuke

8

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를 실행할 수있는 모든 사용자가 읽을 수 있습니다. 그래도이 작업을 수행하려면 * 파일 시스템 수준에서도이 파일에 대한 액세스를 올바르게 보호해야합니다. * /`
Buttle Butkus

그 아래에는 다음 행이 있습니다. include('/var/lib/phpmyadmin/blowfish_secret.inc.php');그래서 거기 가서 해당 파일의 그룹을 웹 서버 사용자로 변경 했습니다 . 작동하지만 비밀번호를에 넣는 것보다 더 안전하지는 않습니다 /etc/phpmyadmin/config.inc.php. PHP를 실행할 수없는 것 같습니다. 그래도 문제가 해결되었습니다. 그래서 나는 그것을 얻을 때 핵 공격 다리를 건너 것 같아요.
Buttle Butkus

CONFIG_DIR 아래의 기본 위치는 ./config/config.inc.php입니다. 이 디렉토리 외부에이 파일이 있으므로 버전을 더 쉽게 교환 할 수 있으므로이 파일에 대한 심볼릭 링크를 내 위치로 만들어야했고 메시지가 사라졌습니다. ln -s ../../../config.inc.php config.inc.php
MECU

+1 파일 /etc/phpMyAdmin뿐만 아니라 디렉토리 에 대한 권한을 설정해야 config.inc.php합니다.
jxmallett

5

나는했다

define('CONFIG_DIR', '/etc/phpmyadmin'); 

/usr/share/phpmyadmin/libraries/vendor_config.php에 있습니다.

그것은해야한다:

define('CONFIG_DIR', '/etc/phpmyadmin/'); 

(슬래시 추가)


2

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의 문제 일 것입니다.


2

필자의 경우 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). 거기에서 구성 소스가 잘못되었음을 알았습니다.


1

http (웹 서버) 그룹의 실행 권한을 확인하는 것 외에도 php.ini의 'open_basedir'항목에 config.inc.php가있는 디렉토리가 포함되어 있는지 확인하는 것이 좋습니다. 이것은 나를 위해이 문제를 해결했습니다.


1

phpmyadmin 폴더로 이동하여 ' lint.php '를 검색 하고 = 'require_once'libraries / config.inc.php ';

문제를 명확하게 해결합니다.

그것이 당신의 문제를 해결한다면 저에게 감사합니다.


1

이 단계를 따르세요:

1)로 이동 /etc/httpd/conf.d/phpmyadmin.conf

  • (디렉토리 태그에서 phpMyAdmin의 경로 확인)

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


1

이것을 공유하고 싶습니다. 놓다

$cfg['blowfish_secret'] = 'fill this up';

phpmyadmin 폴더로 이동하여 lint.php

그리고 설정

require_once 'common.inc.php';

1

여기에서 파일을 편집 한 경우 : /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에 로그인하면 괜찮을 것입니다.


0

괄호 안에 32 개의 기호로 암호 추가 $ cfg [ 'blowfish_secret'] = ''; /usr/share/phpmyadmin/libraries/config.default.php 내의 다른 파일을 찾도록 도와주었습니다.

phpmyadmin 수동 설치 데비안 9 + ispconfig 사용


0

필자의 경우 주 웹 사이트 중 하나에서 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

nginx를 다시로드 할 필요가 없었을 것입니다. PHP 코드 실행과는 아무런 관련이 없습니다.
울림
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.