웹사이트 검색

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에 액세스할 수 있습니다.