웹사이트 검색

Rocky Linux에 phpMyAdmin을 설치하는 방법


이 페이지에서

  1. httpd 및 MariaDB 설치
  2. Rocky Linux에 PHP 설치하기
  3. MariaDB 배포 보안
  4. phpMyAdmin 소스 코드 다운로드
  5. phpMyAdmin 구성
  6. phpMyAdmin용 새 데이터베이스 만들기
  7. phpMyAdmin에 대한 Apache/Httpd 구성 추가
  8. phpMyAdmin 설치 확인
  9. 결론

phpMyAdmin은 웹 브라우저에서 MySQL 및 MariaDB 데이터베이스를 관리할 수 있는 무료 오픈 소스 도구입니다. phpMyAdmin은 웹을 통해 MySQL/MariaDB 관리를 처리하는 것이 주 목적인 PHP로 작성된 완전한 기능의 웹 애플리케이션입니다. 데이터베이스, 테이블, 데이터베이스 사용자, 기본 crud 작업(생성, 읽기, 업데이트, 삭제) 등을 관리하기 위한 강력하고 사용자 친화적인 인터페이스를 제공합니다.

phpMyAdmin은 Windows, macOS, Linux 및 BSD를 포함한 모든 운영 체제에서 실행할 수 있는 PHP 웹 응용 프로그램입니다. phpMyAdmin을 설치하기 전에 설치해야 하는 주요 구성 요소는 PHP 패키지와 웹 서버이며 Apache, Nginx 등이 될 수 있습니다.

이 가이드에서는 Rocky Linux에서 LAMP 스택과 함께 phpMyAdmin을 설치하는 방법을 배웁니다. 이 가이드는 기존 LAMP Stack이 설치된 서버 또는 LAMP Stack 패키지가 없는 새로운 서버에 적용할 수 있습니다.

전제 조건

  • Rocky Linux 시스템
  • 루트 또는 sudo 권한이 있는 사용자. 이 사용자는 새 패키지를 설치하고 시스템 전체를 변경하는 데 사용됩니다.

httpd 및 MariaDB 설치

먼저 Apache 또는 httpd 웹 서버와 MariaDB 데이터베이스 서버를 설치합니다. 이미 이러한 패키지를 모두 설치한 경우 이 단계를 건너뛸 수 있습니다.

sudo dnf install httpd mariadb mariadb-server

'y'를 입력하고 'Enter'를 눌러 패키지를 확인하고 설치합니다.

2. 설치가 완료되면 다음 명령을 실행하여 httpd 및 mariadb 서비스가 시스템 부팅 중에 자동으로 실행될 수 있도록 합니다.

sudo systemctl enable mariadb
sudo systemctl enable httpd

3. 이제 아래 명령을 사용하여 httpd 및 mariadb 서비스를 시작합니다.

sudo systemctl start mariadb
sudo systemctl start httpd

4. 그런 다음 다음 명령을 실행하여 httpd 및 mariadb 서비스를 확인합니다.

sudo systemctl status mariadb
sudo systemctl status httpd

mariadb 서비스가 활성화되어 실행 중인 경우 아래와 유사한 출력이 표시됩니다.

httpd 서비스가 활성화되어 실행 중인 경우 아래와 유사한 출력이 표시됩니다.

Rocky Linux에 PHP 설치하기

httpd 및 MariaDB 패키지를 설치한 후 Rocky Linux에 PHP 패키지를 설치하게 됩니다. 이 가이드에서는 Remi 저장소에서 PHP 패키지를 설치합니다. 이미 PHP 패키지를 설치했다면 이 단계를 건너뛸 수 있습니다.

1. 다음 명령을 실행하여 Rocky Linux에 EPEL 리포지토리를 추가합니다.

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

이제 'y'를 입력하고 'Enter'를 눌러 EPEL 저장소를 추가합니다.

2. 그런 다음 아래 명령을 사용하여 Rocky Linux 시스템에 remi 저장소를 추가합니다.

sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

'y'를 입력하고 'Enter'를 눌러 remi 저장소를 추가합니다.

3. PHP 패키지를 설치하기 전에 PHP 모듈 저장소를 재설정하고 remi 저장소에서 PHP 모듈을 활성화해야 합니다.

다음 명령을 실행하여 php 모듈을 재설정하십시오.

sudo dnf module reset php

이제 remi 저장소의 GPG 키를 추가하라는 메시지가 표시됩니다. 모든 GPG 관련 질문에 'y'를 입력하고 'Enter'를 누릅니다.

이제 다음 명령을 사용하여 PHP remi 저장소를 활성화할 수 있습니다.

sudo dnf module enable php:remi-7.4

특히 PHP 버전 7.4의 경우 'y'를 입력하고 'Enter'를 눌러 PHP Remi 저장소를 활성화합니다.

4. 이제 아래 명령을 사용하여 PHP 패키지를 설치할 수 있습니다.

sudo dnf install -y php php-common php-mysqlnd php-curl php-gd php-bcmath php-mcrypt php-mbstring php-xml php-zip

5. 설치가 완료되면 httpd 서비스를 다시 시작하여 새 구성을 적용합니다.

sudo systemctl restart httpd

MariaDB 배포 보안

이 설치에 새로운 시스템을 사용하는 경우 mariadb 배포를 보호하기 위해 이 단계를 따르는 것이 좋습니다. 그러나 현재 시스템에 이전에 mariadb가 있는 경우 이 단계를 건너뛸 수 있습니다.

1. 다음 명령을 실행하여 mariadb의 루트 암호를 설정하고 배포를 보호합니다.

sudo mysql_secure_installation

이제 mariadb 루트 사용자의 새 암호를 입력하고 mariadb 배포의 기본 보안과 관련된 모든 질문에 'Y'를 입력합니다.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y
New password: TYPE NEW PASSWORD for mariadb root user
Re-enter new password:REPEAT
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

이제 다음 단계로 계속 진행할 수 있습니다.

phpMyAdmin 소스 코드 다운로드

1. 작업 디렉토리를 '/var/www'로 변경하고 아래와 같이 wget 명령을 사용하여 phpMyAdmin의 소스 코드를 다운로드합니다.

cd /var/www/
wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip

2. 이제 phpMyAdmin 소스 코드를 추출하면 'phpMyAdmin-VERSION-NUMBER'라는 새 디렉터리 이름을 얻게 됩니다. 이제 디렉터리 이름을 아래와 같이 'phpmyadmin'으로 바꿉니다.

unzip phpMyAdmin-5.1.1-all-languages.zip
mv phpMyAdmin-5.1.1-all-languages phpmyadmin

3. 다음으로 아래와 같이 chown 명령어를 사용하여 'phpmyadmin' 디렉토리의 소유자를 'apache' 사용자로 변경합니다.

sudo chown -R apache:apache phpmyadmin

이제 phpMyAdmin 구성을 위한 다음 단계로 이동합니다.

phpMyAdmin 구성

이 단계에서는 phpMyAdmin 설치를 구성합니다.

1. 작업 디렉토리를 '/var/www/phpmyadmin' 디렉토리로 변경하고 샘플 구성을 'config.inc.php'에 복사한 다음 구성 파일의 소유자를 'apache' 사용자로 변경합니다.

cd /var/www/phpmyadmin/

cp config.sample.inc.php config.inc.php
chown apache:apache config.inc.php

2. 다음으로 아래의 openssl 명령을 사용하여 임의의 강력한 숫자(비밀)를 생성합니다.

openssl rand -hex 16

생성된 비밀을 메모에 복사합니다.

3. nano 편집기를 사용하여 phpMyAdmin 구성 'config.inc.php'를 편집합니다.

nano config.inc.php

\$cfg['blowfish_secret'] = '.....';\의 값을 아래와 같이 생성된 비밀로 변경하십시오.

$cfg['blowfish_secret'] = 'e5c4d8f3e2569dab102873a67481c8bb'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

이제 'Ctrl+x'를 누르고 'y'를 입력한 다음 'Enter'를 눌러 구성을 저장하고 종료합니다.

phpMyAdmin용 새 데이터베이스 만들기

이 단계에서는 phpMyAdmin에 대한 새 데이터베이스와 사용자를 생성합니다. 이 데이터베이스는 phpMyAdmin 구성을 저장하는 데 사용됩니다.

1. 아래의 mysql 명령을 사용하여 mariadb 셸에 로그인합니다.

mysql -u root -p

mariadb 루트 암호를 입력하고 'Enter'를 누릅니다.

2. 아래 쿼리를 사용하여 새 데이터베이스 이름 'phpmyadmin'을 생성합니다.

CREATE DATABASE phpmyadmin;

3. 다음 쿼리를 사용하여 암호화된 비밀번호를 생성합니다. 그리고 raw password 'mystrongpassword'를 자신의 비밀번호로 변경했는지 확인하세요.

SELECT PASSWORD('mystrongpassword');

암호화된 암호를 메모에 복사합니다.

4. 다음으로 비밀번호가 암호화된 새 사용자 이름 'pma'를 만듭니다. 그런 다음 사용자에게 데이터베이스 'phpmyadmin' 액세스 권한을 부여하고 새 변경 사항을 적용합니다.

CREATE USER 'pma'@'localhost' IDENTIFIED VIA mysql_native_password USING '*617DA9A67DC81CE28027875FA123071F038CC7CA';
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost';
FLUSH PRIVILEGES;

이제 'quit'를 입력하여 mariadb 셸을 종료합니다.

5. 데이터베이스와 사용자를 생성한 후 phpMyAdmin에 대한 데이터베이스 스키마를 가져와야 합니다.

작업 디렉토리를 '/var/www/phpmyadmin/sql'로 변경합니다.

cd /var/www/phpmyadmin/sql

다음 명령을 실행하여 데이터베이스 스키마를 'phpmyadmin' 데이터베이스로 가져옵니다.

mysql -u root -p phpmyadmin < create_tables.sql

데이터베이스 루트 비밀번호를 입력하고 'Enter'를 누르십시오.

phpMyAdmin에 대한 Apache/Httpd 구성 추가

이 단계에서는 phpMyAdmin에 대한 새로운 Apache/httpd 구성을 생성합니다. 또한 phpMyAdmin에 대한 추가 보안을 위해 Apache 기본 인증을 구성하게 됩니다.

1. 작업 디렉토리를 '/etc/httpd/conf.d'로 변경하고 nano 편집기를 사용하여 새 구성 'phpmyadmin.conf'를 만듭니다.

cd /etc/httpd/conf.d/
nano phpmyadmin.conf

다음 구성을 복사하여 붙여넣습니다.

# Alias for accessing phpmyadmin
Alias /phpmyadmin /var/www/phpmyadmin

# document root phpmyadmin
<Directory /var/www/phpmyadmin>

# Enable Basic authentication
    AuthType Basic
    AuthName "Please Enter Your Password"
    AuthUserFile /var/www/phpmyadmin/.htpasswd
    Require valid-user

#    If you're paranoid - use this and allow a specific IP address
#    Order deny,allow
#    Deny from all
#    Allow from 127.0.0.1
#    Allow from ::1

</Directory>

'Ctrl+x'를 누르고 'y'를 입력한 다음 'Enter'를 눌러 저장하고 종료합니다.

2. 다음 명령을 실행하여 새로운 apache 기본 인증 암호를 생성합니다. 사용자 이름으로 사용자 'johndoe'를 변경합니다.

htpasswd -c /var/www/phpmyadmin/.htpasswd johndoe

사용자의 암호를 입력하고 반복합니다.

3. 다음으로 작업 디렉토리를 '/var/www/phpmyadmin'으로 변경하고 nano 편집기를 사용하여 새 구성 '.htaccess'를 만듭니다.

cd /var/www/phpmyadmin/
nano .htaccess

다음 구성을 복사하여 붙여넣습니다.

AuthUserFile /var/www/phpmyadmin/.htpasswd
AuthGroupFile /dev/null
AuthName "Secret"
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
    deny from all
</Files>

'Ctrl+x'를 누르고 'y'를 입력한 다음 'Enter'를 눌러 저장하고 종료합니다.

4. 다음으로 다음 명령을 사용하여 구성 파일 '.htaccess' 및 '.htpasswd'(htpasswd 명령으로 생성)의 소유권을 'apache'로 변경합니다.

chown apache:apache .htaccess .htpasswd

5. httpd 구성을 확인하고 오류가 없는지 확인한 다음 httpd 서비스를 다시 시작하여 새 변경 사항을 적용해야 합니다.

sudo apachectl configtest
sudo systemctl restart httpd

phpMyAdmin 설치 확인

1. 웹 브라우저를 열고 '/phpmyadmin' 디렉터리 경로 뒤에 서버 IP 주소를 입력합니다.

http://SERVER-IP/phpmyadmin/

Apache/httpd 기본 인증의 사용자 및 암호를 입력합니다.

사용자와 암호가 정확하면 phpMyAdmin 로그인 페이지가 나타납니다. 그렇지 않으면 동일한 페이지로 리디렉션되거나 '401 Unauthorhized' 액세스 페이지가 표시됩니다.

2. phpMyAdmin 로그인 페이지에서 데이터베이스 사용자 'root'와 비밀번호를 입력한 다음 '이동'을 클릭하여 phpMyAdmin에 로그인합니다.

이제 아래와 같이 phpMyAdmin 대시보드가 나타납니다.

상단 스크린샷에서 MariaDB 데이터베이스 서버의 세부 정보를 볼 수 있습니다. 또한 '웹 서버' 섹션에서 LAMP 스택의 세부 정보를 볼 수 있습니다.

결론

축하합니다! 이제 Rocky Linux에 phpMyAdmin을 성공적으로 설치했습니다. 다음 단계에서는 phpMyAdmin을 사용하여 데이터베이스를 쉽게 관리할 수 있습니다. 기존 데이터베이스를 가져오거나 웹 애플리케이션용 새 데이터베이스를 만들거나 phpMyAdmin SQL 쿼리를 통해 MySQL 쿼리를 사용하여 일부 데이터를 업데이트할 수 있습니다.