phpMyAdmin은 웹 기반 인터페이스를 통해 MySQL 및 MariaDB 서버의 관리를 처리하도록 설계된 오픈 소스 PHP 응용프로그램입니다.
phpMyAdmin을 사용하면 MySQL 데이터베이스, 사용자 계정 및 권한을 관리하고 SQL 상태를 실행하며 다양한 데이터 형식으로 데이터를 가져오고 내보낼 수 있습니다.
튜토리얼에서는 Ubuntu 18.04에서 Apache를 사용하여 phpMyAdmin을 설치하고 보호하는 데 필요한 단계를 설명합니다.
필수 구성 요소
이 튜토리얼을 계속하기 전에 다음 필수 구성 요소를 충족했는지 확인합니다.
- Ubuntu 서버에 LAMP(Linux, Apache, MySQL 및 PHP)가 설치되어 있어야 합니다.
- sudo 권한을 가진 사용자로 로그인했습니다.
필요하지는 않지만 HTTPS를 통해 phpMyAdmin 설치에 액세스하는 것이 좋습니다. SSL에 의해 도메인이 아직 보호되지 않은 경우 이 안내서에 따라 Ubuntu 18.04에서 암호화로 Apache를 보호할 수 있습니다.
phpMyAdmin 설치
Ubuntu 18.04 서버에 phpMyAdmin을 설치하려면 다음 단계를 수행합니다.
01. 패키지 인덱스를 업데이트하고 시스템 패키지를 최신 버전으로 업그레이드합니다.
sudo apt update && sudo apt upgrade
02. 다음 명령을 사용하여 기본 Ubuntu 리포지토리에서 phpMyAdmin 패키지를 설치합니다.
sudo apt install phpmyadmin
설치 관리자가 phpMyAdmin을 실행하도록 자동으로 구성해야 하는 웹 서버를 선택하라는 메시지를 표시하고 Space를 누른 다음 Enter 키를 눌러 apache를 선택합니다.
그런 다음 dbconfig-common을 사용하여 데이터베이스를 설정할지 여부를 묻는 메시지가 표시되고 Yes를 선택한 후 Enter 키를 누릅니다.
phpMyAdmin이 데이터베이스에 등록할 암호를 입력하고 확인을 선택한 후 Enter 키를 누릅니다.
암호를 확인하라는 메시지가 표시되고 동일한 암호를 입력한 다음 확인을 선택하고 Enter 키를 누릅니다.
03. 설치 프로세스가 완료되면 Apache를 다시 시작하여 변경 내용을 적용합니다.
sudo systemctl restart apache2
관리 MySQL 사용자 생성
MySQL 5.7 이상을 실행하는 Ubuntu 시스템에서 루트 사용자는 기본적으로 auth_socket 인증 방법을 사용하도록 설정됩니다.
auth_socket 플러그인은 로컬 호스트에서 Unix 소켓 파일을 통해 연결하는 사용자를 인증합니다. 즉, 암호를 제공하여 루트로 인증할 수 없습니다.
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
이전에 생성한 관리 사용자 로그인 자격 증명을 입력하고 이동을 클릭합니다.
로그인하면 다음과 같은 phpMyAdmin 대시보드가 표시됩니다.
phpMyAdmin 보호
보안 계층을 추가하려면 기본 인증을 설정하여 phpMyAdmin 디렉토리를 암호로 보호합니다.
먼저 Apache 패키지와 함께 제공되는 htpasswd 도구를 사용하여 사용자와 암호 파일을 만들 것입니다. .htpasswd 파일은 /etc/phpmyadmin 디렉토리에 저장됩니다.
sudo htpasswd -c /etc/phpmyadmin/.htpasswd padmin
이 예에서는 padmin이라는 사용자를 만듭니다. 원하는 사용자 이름을 선택할 수 있습니다. 관리 MySQL 사용자와 동일할 필요는 없습니다.
위 명령은 사용자의 암호를 입력하고 확인하라는 메시지를 표시합니다.
New password:
Re-type new password:
Adding password for user padmin
사용자를 추가하려는 경우 -c 플래그 없이 동일한 명령을 사용할 수 있습니다.
sudo htpasswd /etc/phpmyadmin/.htpasswd padmin2
다음 단계는 phpMyAdmin 디렉토리를 암호로 보호하고 .htpasswd 파일을 사용하도록 Apache를 구성하는 것입니다.
이렇게 하려면 phpMyAdmin 설치 중에 자동으로 생성된 phpmyAdmin.conf 파일을 엽니다.
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
그리고 노란색으로 강조 표시된 다음 줄을 편집/삽입합니다.
# /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
기본 인증을 입력하면 MySQL 관리 사용자 로그인 자격 증명을 입력해야 하는 phpMyAdmin 로그인 페이지로 이동합니다.
/phpmyadmin 별칭을 보다 독특하고 안전한 것으로 변경하는 것도 좋습니다.
'SW > 리눅스' 카테고리의 다른 글
Ubuntu 18.04 : Tomcat 9 설치하는 방법, 예제, 명령어 (0) | 2021.01.02 |
---|---|
Debian 9 : PostgreSQL 설치하는 방법, 예제, 명령어 (0) | 2021.01.01 |
Debian 9 : Apache Virtual Hosts 설정하는 방법, 예제, 명령어 (0) | 2020.12.30 |
Linux : 압축 파일을 푸는 방법, 명령어, 예제 (0) | 2020.12.29 |
Ubuntu 18.04 : Sublime Text 3 설치하는 방법, 예제, 명령어 (0) | 2020.12.28 |