Ubuntu 12.04에서 phpMyAdmin을 설치하고 보호하는 방법
상태: 더 이상 사용되지 않음
이 문서에서는 더 이상 지원되지 않는 Ubuntu 버전에 대해 설명합니다. 현재 Ubuntu 12.04를 실행하는 서버를 운영 중인 경우 지원되는 Ubuntu 버전으로 업그레이드하거나 마이그레이션하는 것이 좋습니다.
- Ubuntu 14.04로 업그레이드합니다.
- Ubuntu 14.04에서 Ubuntu 16.04로 업그레이드
- 서버 데이터를 지원되는 버전으로 마이그레이션
이유:
대신 참조:
phpMyAdmin 정보
phpMyAdmin은 웹에서 MySQL과 함께 작동하는 무료 웹 소프트웨어로, MySQL 기능에 대한 편리한 시각적 프런트 엔드를 제공합니다.
설정
이 자습서의 단계를 수행하려면 사용자에게 가상 사설 서버에 대한 루트 권한이 있어야 합니다. 설정 방법은 3단계와 4단계에서 확인할 수 있습니다.
phpMyAdmin으로 작업하기 전에 서버에 LAMP를 설치해야 합니다. 서버에 Linux, Apache, MySQL, PHP 스택이 없는 경우 여기에서 설정에 대한 자습서를 찾을 수 있습니다.
사용자와 필수 소프트웨어가 있으면 VPS에 phpMyAdmin 설치를 시작할 수 있습니다!
phpMyAdmin 설치
phpmyadmin을 설치하는 가장 쉬운 방법은 apt-get을 사용하는 것입니다.
sudo apt-get install phpmyadmin apache2-utils
설치하는 동안 phpMyAdmin이 기본 구성을 안내합니다. 프로세스가 시작되면 다음 단계를 따르십시오.
- 서버에 대해 Apache2 선택
- dbconfig-common을 사용하여 phpmyadmin에 대한 데이터베이스를 구성할지 여부를 물으면 예를 선택하십시오.
- 메시지가 표시되면 MySQL 비밀번호를 입력하세요.
- phpmyadmin에 로그인하는 데 사용할 암호를 입력하십시오.
설치가 완료되면 Apache 구성에 phpmyadmin을 추가합니다.
sudo nano /etc/apache2/apache2.conf
파일에 phpmyadmin 구성을 추가합니다.
Include /etc/phpmyadmin/apache.conf
아파치를 다시 시작하십시오.
sudo service apache2 restart
그런 다음 youripaddress/phpmyadmin으로 이동하여 phpmyadmin에 액세스할 수 있습니다. 화면은 다음과 같아야 합니다.
보안
불행하게도 이전 버전의 phpMyAdmin에는 원격 사용자가 결국 기본 가상 사설 서버에서 루트를 악용할 수 있는 것을 포함하여 심각한 보안 취약점이 있었습니다. 간단한 프로세스를 통해 이러한 공격의 대부분을 방지할 수 있습니다. Apache의 기본 사용자/비밀번호 제한으로 전체 디렉토리를 잠그면 이러한 원격 사용자가 이전 버전의 phpMyAdmin을 악용하려는 시도조차 할 수 없습니다.
.htaccess 파일 설정
이를 설정하려면 .htaccess 파일이 phpmyadmin 디렉토리 내에서 작동하도록 허용하여 시작하십시오. phpmyadmin 구성 파일에서 이 작업을 수행할 수 있습니다.
sudo nano /etc/phpmyadmin/apache.conf
디렉토리 섹션에서 "Directory Index\ 아래에 "AllowOverride All\ 줄을 추가하여 섹션을 다음과 같이 만듭니다.
<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All [...]
.htaccess 파일 구성
.htaccess 파일이 허용되면 phpmyadmin 로그인 페이지에 액세스하기 위해 로그인이 필요한 기본 사용자 설정을 진행할 수 있습니다.
phpmyadmin 디렉토리에 .htaccess 페이지를 생성하여 시작하십시오.
sudo nano /usr/share/phpmyadmin/.htaccess
.htaccess 파일 내에서 사용자 인증을 설정하여 후속 조치를 취하십시오. 다음 텍스트를 복사하여 붙여넣습니다.
AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/apache2/.phpmyadmin.htpasswd Require valid-user
아래에서 각 줄에 대한 간단한 설명을 볼 수 있습니다.
- AuthType: 비밀번호 확인에 사용되는 인증 유형을 나타냅니다. 비밀번호는 HTTP를 통해 확인되며 Basic 키워드는 변경하면 안 됩니다.
- AuthName: 암호 프롬프트에 표시될 텍스트입니다. 여기에 무엇이든 넣을 수 있습니다.
- AuthUserFile: 이 줄은 암호 파일의 서버 경로를 지정합니다(다음 단계에서 만들 것입니다.)
- Require valid-user: 이 줄은 암호 파일에 정의된 사용자만 phpMyAdmin 로그인 화면에 액세스할 수 있음을 .htaccess 파일에 알려줍니다.
htpasswd 파일 생성
이제 유효한 사용자 정보를 생성하겠습니다.
htpasswd 파일을 생성하여 시작합니다. htpasswd 명령을 사용하고 브라우저에서 액세스할 수 없는 한 원하는 디렉토리에 파일을 저장합니다. 암호 파일의 이름은 원하는 대로 지정할 수 있지만 일반적으로 이름은 .htpasswd입니다.
sudo htpasswd -c /etc/apache2/.phpmyadmin.htpasswd username
암호를 제공하고 확인하라는 프롬프트가 표시됩니다.
사용자 이름과 암호 쌍이 저장되면 파일에서 암호가 암호화된 것을 볼 수 있습니다.
Apache를 다시 시작하여 완료하십시오.
sudo service apache2 restart
phpMyAdmin에 액세스
인증된 사용자만 로그인 페이지에 액세스할 수 있으므로 phpMyAdmin은 이제 훨씬 더 안전해집니다. youripaddress/phpmyadmin에 액세스하면 다음과 같은 화면이 표시됩니다.
생성한 사용자 이름과 비밀번호를 입력합니다. 로그인 후 MySQL 사용자 이름과 암호를 사용하여 phpmyadmin에 액세스할 수 있습니다.