SW/리눅스

Devian 9 : phpMyAdmin with Apache 설치, 구성 방법, 예제, 명령어

얇은생각 2021. 3. 17. 07:30
반응형

phpMyAdmin은 웹 기반 인터페이스를 통해 MySQL 및 MariaDB 서버의 관리를 단순화하도록 설계된 무료 오픈 소스 PHP 기반 애플리케이션입니다.

phpMyAdmin을 사용하면 MySQL 데이터베이스, 사용자 계정 및 권한을 관리하고, SQL 문을 실행하고, 다양한 데이터 형식으로 데이터를 가져오고 내보낼 수 있습니다. 

이 튜토리얼에서는 Apache 웹 서버를 사용하여 Debian 9에 phpMyAdmin을 설치하고 보호하는 데 필요한 단계를 설명합니다.

 

 

 

전제조건

이 자습서를 진행하기 전에 다음 요구 사항을 충족했는지 확인하십시오.

- Debian 서버에 LAMP(Linux, Apache, MySQL 및 PHP)가 설치

- sudo 권한을 가진 사용자로 로그인

 

선택 사항이지만 HTTPS를 통해 phpMyAdmin 설치에 액세스하는 것이 좋습니다. 도메인이 아직 SSL로 보호되지 않은 경우 이 안내서에 따라 Devian 9에서 Let's Encrypt를 사용하여 Apache를 보호할 수 있습니다.

 

 

 

phpMyAdmin 설치

Debian 9에 phpMyAdmin을 설치하려면 다음 단계를 수행하십시오.

패키지 인덱스를 업데이트하고 시스템 패키지를 최신 버전으로 업그레이드합니다.

sudo apt update && sudo apt upgrade

 

 

다음을 입력하여 기본 Debian 리포지토리에서 phpMyAdmin 패키지를 설치합니다.

sudo apt install phpmyadmin

 

 

설치 관리자는 사용자에게 phpMyAdmin을 실행하도록 자동으로 구성되어야 하는 웹 서버를 선택하라는 메시지를 표시하고 Space를 누른 다음 Enter 키를 눌러 apache를 선택합니다.

Devian 9 : phpMyAdmin with Apache 설치, 구성 방법, 예제, 명령어 1

 

 

그런 다음 dbconfig-common을 사용하여 데이터베이스를 설정할지 여부를 묻는 메시지가 나타나고 예를 선택한 후 Enter 키를 누릅니다.

Devian 9 : phpMyAdmin with Apache 설치, 구성 방법, 예제, 명령어 2

 

 

데이터베이스에 등록할 phpMyAdmin의 비밀번호를 입력하고 확인을 선택한 후 Enter 키를 누릅니다.

Devian 9 : phpMyAdmin with Apache 설치, 구성 방법, 예제, 명령어 3

 

 

암호를 확인하고 확인을 선택한 다음 Enter 키를 누릅니다.

Devian 9 : phpMyAdmin with Apache 설치, 구성 방법, 예제, 명령어 4

 

 

설치 프로세스가 완료되면 Apache를 다시 시작하여 변경 내용을 적용합니다.

sudo systemctl restart apache2

 

 

 

관리 MySQL 사용자 생성

MariaDB 10.1 이상을 실행하는 데비안 시스템에서는 루트 사용자가 기본적으로 auth_socket 인증 방법을 사용하도록 설정되어 있습니다. 

auth_socket 플러그인은 로컬 호스트에서 유닉스 소켓 파일을 통해 연결하는 사용자를 인증합니다. 즉, 암호를 입력하여 루트로 인증할 수 없습니다.

 MySQL 사용자 루트의 인증 방법을 변경하는 대신 새 관리 MySQL 사용자를 생성하겠습니다. 이 사용자는 루트 사용자와 동일한 권한을 가지며 mysql_native_password 인증 방법을 사용하도록 설정됩니다.

 이 사용자를 사용하여 phpMyAdmin 대시보드에 로그인하고 MySQL 또는 MariaDB 서버에서 관리 작업을 미리 수행합니다.

 먼저 MySQL 서버에 루트 사용자로 로그인합니다.

sudo mysql

 

 

 

MySQL 셸 내에서 다음 명령을 실행하여 새 관리 사용자를 생성하고 적절한 사용 권한을 부여합니다.

CREATE USER 'padmin'@'localhost' IDENTIFIED BY 'super-strong-password';
GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;

 

 

관리 사용자 이름을 padmin으로 지정했습니다. 원하는 이름을 사용할 수 있습니다. 강력한 암호를 설정해야 합니다.

 

 

 

phpMyAdmin 액세스

phpMyAdmin 인터페이스에 액세스하려면 즐겨찾기 브라우저를 열고 서버의 도메인 이름 또는 공용 IP 주소와 /phpmyadmin을 차례로 입력합니다.

https://your_domain_or_ip_address/phpmyadmin

 

 

이전에 만든 관리 사용자 로그인 자격 증명을 입력하고 이동을 클릭합니다.

Devian 9 : phpMyAdmin with Apache 설치, 구성 방법, 예제, 명령어 5

 

 

로그인하면 다음과 같은 모양의 phpMyAdmin 대시보드가 표시됩니다.

Devian 9 : phpMyAdmin with Apache 설치, 구성 방법, 예제, 명령어 6

 

 

 

phpMyAdmin 보호

추가 보안 계층을 추가하기 위해 기본 인증을 설정하여 phpMyAdmin 디렉토리를 암호로 보호합니다.

먼저 Apache 패키지와 함께 제공되는 htpasswd 도구를 사용하여 사용자와 함께 암호 파일을 생성하겠습니다. .htpasswd 파일을 /etc/phpmyadmin 디렉토리에 저장합니다.

sudo htpasswd -c /etc/phpmyadmin/.htpasswd padmin

# New password:
# Re-type new password:
# Adding password for user padmin

 

 

이 예에서는 padmin이라는 사용자를 만듭니다. 사용자 이름을 선택할 수 있습니다. 관리 MySQL 사용자와 동일할 필요는 없습니다.

위의 명령은 사용자의 암호를 입력하고 확인하라는 메시지를 표시합니다.

사용자를 추가하려는 경우 -c 플래그 없이 동일한 명령을 사용할 수 있습니다.

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

 

 

다음 단계는 Apache가 phpMyAdmin 디렉토리를 암호로 보호하고 .htpasswd 파일을 사용하도록 구성하는 것입니다.

이렇게 하려면 phpMyAdmin.conf 파일을 여십시오. 이 파일은 phpMyAdmin 설치 중에 자동으로 생성됩니다.

# /etc/apache2/conf-available/phpmyadmin.conf

<Directory /usr/share/phpmyadmin>
    Options  +FollowSymLinks +Multiviews +Indexes  # edit this line
    DirectoryIndex index.php

    AllowOverride None
    AuthType basic
    AuthName "Authentication Required"
    AuthUserFile /etc/phpmyadmin/.htpasswd
    Require valid-user

    <IfModule mod_php5.c>
    ...

 

 

변경 내용을 적용하려면 파일을 저장한 후 닫은 후 Apache를 다시 시작하십시오.

sudo systemctl restart apache2

 

 

이제 phpMyAdmin에 액세스할 때 이전에 생성한 사용자의 로그인 자격 증명을 입력하라는 메시지가 표시됩니다.

https://your_domain_or_ip_address/phpmyadmin

 

Devian 9 : phpMyAdmin with Apache 설치, 구성 방법, 예제, 명령어 7

 

 

기본 인증을 입력하면 phpMyAdmin 로그인 페이지로 이동하여 MySQL 관리 사용자 로그인 자격 증명을 입력해야 합니다. 

또한 /phpmyadmin 별칭을 보다 독특하고 안전한 것으로 변경하는 것도 좋습니다.

반응형