웹사이트 검색

RHEL 시스템에서 Apache와 함께 PhpMyAdmin을 설치하는 방법


이 도움말에서는 CentOS Stream과 같은 RHEL 기반 배포판에 Apache 웹 서버와 함께 최신 버전의 PhpMyAdmin을 설치하는 과정을 단계별로 안내합니다. >, Fedora, Rocky LinuxAlma Linux.

PhpMyAdmin이 무엇인가요?

PhpMyAdmin은 인기 있고 강력한 웹 기반 데이터베이스 관리 도구이며 최신 버전을 사용하면 최신 기능과 향상된 보안 기능에 액세스할 수 있습니다. 이 가이드가 끝나면 PhpMyAdmin을 사용하여 MySQL 또는 MariaDB 데이터베이스를 쉽게 관리할 수 있게 됩니다.

전제 조건

시작하기 전에 다음 사항이 있는지 확인하세요.

  • RHEL, CentOS Stream, Fedora, Rocky Linux 또는 AlmaLinux 시스템에 액세스합니다.
  • 소프트웨어를 설치하려면 루트 사용자로 로그인하거나 sudo 권한이 있는지 확인하십시오.
  • Apache, MySQL/MariaDB 및 PHP를 포함하는 기존 LAMP 스택. LAMP가 없으면 다음 단계에 따라 설정할 수 있습니다.

1단계: 시스템 업데이트

소프트웨어를 설치하기 전에 다음 dnf 명령을 실행하여 시스템이 최신 상태인지 확인하는 것이 중요합니다.

sudo dnf update

이렇게 하면 시스템의 모든 패키지가 최신 버전으로 업데이트됩니다.

2단계: Apache 웹 서버 설치

PhpMyAdmin은 웹 기반 도구로, 이를 사용하려면 다음 명령을 사용하여 Apache 웹 서버를 설치해야 합니다.

sudo dnf install httpd

설치가 완료되면 Apache 서비스를 시작하고 부팅 시 시작되도록 활성화합니다.

sudo systemctl start httpd
sudo systemctl enable httpd

3단계: MariaDB 또는 MySQL 설치

데이터베이스 서버도 필요합니다. MariaDB 또는 MySQL을 설치하도록 선택할 수 있지만 이 예에서는 MariaDB를 선택하겠습니다.

sudo dnf install mariadb-server

설치가 완료되면 MariaDB 서비스를 시작하고 부팅 시 시작되도록 활성화합니다.

sudo systemctl start mariadb
sudo systemctl enable mariadb

그런 다음 루트 사용자의 비밀번호를 입력하고 원격 루트 로그인을 허용하지 않으며 익명 사용자를 제거하라는 메시지를 표시하는 스크립트를 실행하여 MariaDB 설치를 보호합니다. 또한 기본적으로 익명 사용자가 액세스할 수 있는 테스트 데이터베이스도 제거됩니다.

sudo mysql_secure_installation

4단계: PHP 설치

PhpMyAdminPHP로 구축되었으므로 다음 명령을 사용하여 PHP 및 일부 필수 확장 기능을 설치해야 합니다.

sudo dnf install php php-mysqlnd php-json php-mbstring

5단계: PhpMyAdmin 설치

이제 표시된 대로 웹 서버의 문서 루트 디렉터리 /var/www/html로 이동하여 Linux 시스템에 PhpMyAdmin 설치를 진행하겠습니다.

cd /var/www/html

그런 다음 표시된 대로 다음 wget 명령을 사용하여 PhpMyAdmin의 최신 버전을 다운로드합니다.

sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

다운로드한 후에는 다운로드한 아카이브를 추출하고 편의를 위해 디렉터리 이름을 바꿉니다.

sudo tar -xvzf phpMyAdmin-latest-all-languages.tar.gz
sudo mv phpMyAdmin-*/ phpmyadmin

PhpMyAdmin에 대한 구성 파일을 만듭니다.

sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php

구성 파일을 편집합니다.

sudo nano /var/www/html/phpmyadmin/config.inc.php

다음 줄을 찾아 자신만의 Blowfish_secret을 설정하세요.

$cfg['blowfish_secret'] = 'your_secret';

파일을 저장하고 종료합니다.

6단계: 방화벽에서 Apache 포트 열기

기본적으로 Apache는 일반적으로 HTTPHTTPS에 포트 80443을 사용합니다. 각기. Apache 포트를 열고 서버에서 PhpMyAdmin에 대한 액세스를 허용하려면 다음을 실행하세요.

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --reload

이 명령은 지정된 포트에서 들어오는 트래픽을 허용하고 방화벽을 다시 로드하여 변경 사항을 적용하는 규칙을 추가합니다.

7단계: Apache 웹 서버 다시 시작

마지막으로 Apache를 다시 시작하여 변경 사항을 적용합니다.

sudo systemctl restart httpd

8단계: PhpMyAdmin에 액세스

이제 서버의 IP 주소나 도메인 이름 뒤에 URL에 "/phpmyadmin"이 붙으면 웹 브라우저를 통해 PhpMyAdmin에 액세스할 수 있습니다.

http://your_server_ip/phpmyadmin

MySQL 또는 MariaDB 자격 증명을 사용하여 로그인하세요.

9단계: PhpMyAdmin에서 외부 액세스 허용

PhpMyAdmin 구성 파일을 엽니다.

sudo vi /etc/httpd/conf/httpd.conf

섹션 또는 PhpMyAdmin이 구성된 섹션을 찾아 Require 지시어를 업데이트하여 허용합니다. PhpMyAdmin에 액세스하려면 모든 IP 주소를 사용하세요.

<Directory "/var/www/html/phpmyadmin">
    ...
    Require all granted
    ...
</Directory>

위 구성은 모든 IP 주소에서의 액세스를 허용하지만 특정 IP에 대한 액세스를 제한하려면 모두 부여 필요ip your_ip 필요로 바꾸세요.

변경 사항을 적용하려면 Apache를 다시 시작하십시오.

sudo systemctl restart httpd

이제 서버의 IP 주소나 도메인을 사용하여 외부에서 PhpMyAdmin에 액세스할 수 있습니다.

http://your_server_ip/phpmyadmin

외부에서 PhpMyAdmin에 대한 액세스를 열면 보안 위험이 발생할 수 있다는 점을 기억하세요. 강력한 인증 메커니즘이 마련되어 있는지 확인하고 암호화된 통신에 HTTPS 사용을 고려하세요. 또한 가능하면 신뢰할 수 있는 IP 주소로만 액세스를 제한하거나 PhpMyAdmin 로그인 URL을 보호하세요.

phpMyAdmin 로그인 URL 변경

phpMyAdmin의 기본 로그인 URL은 예측 가능하며 일반적으로 취약점을 악용하려는 악의적인 행위자의 표적이 됩니다. 로그인 URL을 변경하면 보안 계층이 추가되어 권한이 없는 사용자가 데이터베이스 관리 인터페이스에 액세스하는 것이 더 어려워집니다.

그렇게 하려면 /etc/httpd/conf.d/phpMyAdmin.conf 구성 파일을 생성하십시오.

vi /etc/httpd/conf.d/phpMyAdmin.conf

다음으로 다음 구성을 추가합니다.

#Alias /phpMyAdmin /var/www/html/phpmyadmin
Alias /my /var/www/html/phpmyadmin

<Directory /var/www/htm/lphpmyadmin>
    AddDefaultCharset UTF-8

    <IfModule mod_authz_core.c>
        # Apache 2.4
        <RequireAny>
            Require all granted
            # Additional IP or hostname-based access control can be added here
        </RequireAny>
    </IfModule>

    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order Deny,Allow
        Deny from All
        Allow from 127.0.0.1
        Allow from ::1
        # Additional IP or hostname-based access control can be added here
    </IfModule>

</Directory>

/my를 원하는 사용자 정의 로그인 URL로 바꾸십시오. 변경 사항을 저장하고 텍스트 편집기를 종료합니다.

구성 파일을 변경한 후 Apache를 다시 시작하여 수정 사항을 적용합니다.

systemctl restart httpd

웹 브라우저를 열고 새로운 phpMyAdmin 로그인 URL로 이동합니다.

http://yourdomain.com/my/

phpMyAdmin에 대한 SSL 설정

Apache 웹 서버와 phpMyAdmin 간의 통신을 보호하는 것은 로그인 자격 증명 및 데이터베이스 콘텐츠와 같은 민감한 정보를 보호하는 데 중요합니다. 이를 달성하는 효과적인 방법 중 하나는 Apache 웹 서버에서 phpMyAdmin에 대해 SSL(보안 소켓 계층)을 구성하는 것입니다.

이렇게 하려면 먼저 서버에 mod_ssl 모듈을 설치하세요.

yum install httpd mod_ssl openssl

다음으로, 인증서를 저장할 디렉터리를 만들고 표시된 대로 자체 서명된 SSL 인증서와 개인 키를 생성합니다.

mkdir /etc/httpd/ssl 
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt

SSL 인증서와 키를 생성한 후 Apache SSL 구성 파일을 엽니다.

vi /etc/httpd/conf.d/ssl.conf

그런 다음 구성 파일에 다음 줄을 추가합니다.

SSLEngine on
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key

변경 사항을 저장하고 Apache 웹 서버를 다시 시작합니다.

systemctl restart httpd

이제 phpMyAdmin 구성 파일을 엽니다.

vi /var/www/html/phpmyadmin/config.inc.php

phpMyAdmin에 SSL을 적용하려면 다음 줄을 추가하세요.

$cfg['ForceSSL'] = true;

변경 사항을 저장하고 텍스트 편집기를 종료합니다.

마지막으로 웹 브라우저를 열고 다음 URL로 이동하여 보안 SSL 연결을 통해 phpMyAdmin에 액세스하세요.

https://yourdomain.com/my/

안전하지 않은 연결을 나타내는 메시지는 전적으로 자체 서명된 인증서를 사용했기 때문에 발생한다는 점에 유의하세요. 계속 진행하려면 "고급"을 클릭하고 보안 예외를 확인하세요.

결론

축하해요! RHEL, CentOS Stream, Rocky Linux 또는 AlmaLinux 시스템에 Apache와 함께 PhpMyAdmin을 성공적으로 설치했습니다. 이 웹 기반 도구는 데이터베이스 관리를 단순화하여 데이터베이스 생성, 쿼리 및 데이터 관리와 같은 작업을 쉽게 만듭니다.