PHP로 개발되어 웹 환경에서 DB를 관리할 수 있는 도구인 phpMyAdmin을
CentOS 8버전에 설치하는 방법을 설명합니다.
학습 및 실습 중 작성된 문서이므로 문서에 오류가 존재할 수 있습니다. 잘못된 점에 대한 지적은 언제나 환영합니다.
MariaDB
시스템 업데이트
MariaDB를 설치하기 전 다음 명령어로 CentOS 시스템을 업데이트 합니다.
sudo dnf -y update
MariaDB 서버 설치
아래의 명령어로 Repository에 MariaDB가 존재하는지, 어느 버전인지 확인합니다.
dnf info mariadb
확인 시점 기준 최신버전은 10.3.11버전이며, AppStream Repository에 포함되어 있습니다.
다음 명령어로 MariaDB를 설치합니다.
sudo dnf module install mariadb
설치 확인
설치가 완료되면 다음 명령어로 MariaDB 설치 여부와 설치 버전 등의 정보를 확인할 수 있습니다.
rpm -qi mariadb-server
MariaDB 실행하기
설치된 MariaDB를 실행하고 서버가 시작될 때 같이 실행될 수 있도록 시작프로그램에 등록합니다.
다음의 명령어를 이용하여 시작프로그램에 등록합니다.
sudo systemctl enable --now mariadb
다음 명령어로 시작프로그램에 등록되었는지, 서비스가 실행중인지 확인할 수 있습니다.
systemctl status mariadb
기본 보안 설정
서버가 정상적으로 등록되고 실행되었다면 아래의 명령어를 이용해서 기본 보안설정을 실시합니다.
mysql_secure_installation
명령어를 실행 후 출력되는 스크립트에 따라 보안 설정을 합니다.
Enter current password for
root (enter for none):
OK, successfully used
password, moving on...
Secure Installation을 수행하기 위해 root 비밀번호를 입력합니다.
초기 root비밀번호는 없기 때문에 공백 상태로 Enter를 누릅니다.
Set root password? [Y/n]
y
New password:
Re-enter new password:
Password updated
successfully!
Reloading privilege
tables..
... Success!
새로운 root비밀번호와 비밀번호 확인을 입력합니다.
Remove anonymous users?
[Y/n] y
... Success!
보안을 위해 익명 사용자를 제거합니다.
Disallow root login
remotely? [Y/n] y
... Success!
원격에서 root계정으로 접속할 수 없도록 합니다.
Remove test database and
access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
test데이터베이스를 삭제합니다.
Reload privilege tables
now? [Y/n] y
... Success!
권한 테이블을 리로드 합니다.
MariaDB서버에 접속하기
테스트를 위해 root계정으로 데이터베이스 서버에 접속해봅니다.
아래의 명령어를 이용하여 접속합니다.
mysql -u root -p
접속을 성공하면 환영메세지와 함게 MariaDB 콘솔을 확인할 수 있습니다.
여기까지 성공하였다면 MariaDB 설치와 설정은 끝났습니다.
phpMyAdmin
phpMyAdmin은 PHP로 작성 되어있기 때문에 PHP와 Apache를 설치한 뒤 phpMyAdmin을 설치하는 방법을 설명합니다.
PHP 설치하기
다음 명령어로 설치 가능한 PHP모듈을 확인합니다.
dnf module list | grep php
PHP 7.2 버전이 제공되는 것을 확인할 수 있습니다.
아래의 명령어로 PHP를 설치합니다.
sudo dnf module install php
설치 후 php -v 명령어로 설치된 PHP버전을 확인할 수 있습니다.
다음의 명령어로 php-mysqlnd 확장기능을 설치합니다.
sudo dnf install php-mysqlnd
설치 후 다음의 명령어로 mysqlnd가 설치되어있는지 확인할 수 있습니다.
php -m | grep mysqlnd
dnf module list | grep php
PHP 7.2 버전이 제공되는 것을 확인할 수 있습니다.
아래의 명령어로 PHP를 설치합니다.
sudo dnf module install php
설치 후 php -v 명령어로 설치된 PHP버전을 확인할 수 있습니다.
다음의 명령어로 php-mysqlnd 확장기능을 설치합니다.
sudo dnf install php-mysqlnd
설치 후 다음의 명령어로 mysqlnd가 설치되어있는지 확인할 수 있습니다.
php -m | grep mysqlnd
Apache Web Server 설치
Apache 웹 서버 패키지인 httpd를 설치합니다.
아래의 명령어로 Apache 서버 패키지인 httpd를 설치 가능한지 확인합니다.
dnf module list | grep httpd
아래의 명령어로 httpd 모듈의 상세정보를 확인할 수 있습니다.
아래의 명령어로 httpd를 설치합니다.
sudo dnf module install httpd
설치가 완료되면 httpd를 실행시키고 시작프로그램에 등록하기 위해 아래의 명령어로 실행합니다.
sudo systemctl enable --now httpd
아래의 명령어로 Apache 서버 패키지인 httpd를 설치 가능한지 확인합니다.
dnf module list | grep httpd
아래의 명령어로 httpd 모듈의 상세정보를 확인할 수 있습니다.
dnf module info httpd
아래의 명령어로 httpd를 설치합니다.
sudo dnf module install httpd
설치가 완료되면 httpd를 실행시키고 시작프로그램에 등록하기 위해 아래의 명령어로 실행합니다.
sudo systemctl enable --now httpd
phpMyAdmin 설치
다운로드
phpMyAdmin 다운로드 페이지에 접속하여 최신버전의 phpMyAdmin tar.gz 압축 파일의 다운로드 URL을 복사합니다.
복사한 URL을 wget명령어로 다운받습니다.
cd ~
wget https://www.phpmyadmin.net/downloads/
압축 해제
phpMyAdmin 폴더를 생성한 뒤 다운받은 압축파일을 압축해제합니다.
sudo mkdir /usr/share/phpmyadmin
sudo tar xvf phpMyAdmin-4.9.1-all-languages.tar.gz -C /usr/share/phpmyadmin/ --strip-components=1
임시파일 디렉토리 생성
임시파일이 저장될 디렉토리를 생성하고 권한을 설정합니다.
sudo mkdir -p /var/lib/phpmyadmin/tmp
sudo chown -R apache:apache /var/lib/phpmyadmin
config.inc.php 파일 생성
샘플 파일을 복사하여 설정파일을 생성합니다.sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
생성한 config 파일을 수정합니다.
sudo vim /usr/share/phpmyadmin/config.inc.php
$cfg['blowfish_secret'] = ''
부분에 문자열로 된 비멀번호를 추가합니다.
설정파일 하단에
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
내용을 추가하여 임시파일 경로를 설정합니다.
Apache Web Server 설정
httpd 설정파일에 phpmyadmin 내용을 추가하여 접속이 가능하도록 설정합니다.sudo vim /etc/httpd/conf.d/phpmyadmin.conf
phpmyadmin.conf 내에 다음 내용을 추가한 뒤 저장합니다.
# Apache configuration for phpMyAdmin Alias /phpMyAdmin /usr/share/phpmyadmin/ Alias /phpmyadmin /usr/share/phpmyadmin/ <Directory /usr/share/phpmyadmin/> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 Require all granted </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory>
httpd를 재시작 해줍니다.
sudo systemctl restart httpd
방화벽 설정
다음 명령어로 방화벽 예외에 http 서비스를 추가해줍니다.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
phpMyAdmin 접속
웹 브라우저에서 http://{서버IP}/phpMyAdmin 으로 접속하면 아래와같은 phpMyAdmin 로그인 페이지를 확인할 수 있습니다.
MariaDB 계정과 비밀번호로 로그인하면 접속이 가능하며, phpMyAdmin 기능을 이용할 수 있습니다.
여기까지 완료 되었다면 이제 phpMyAdmin을 이용할 수 있습니다.
테스트용으로 사용한다면 지금 상태로도 충분히 사용 가능하지만
민감한 정보를 다루거나 실 사용을 위한 DB로 활용하려면
꼭 환경에 맞게 추가적인 보안 작업을 진행 한 후 사용하시길 바랍니다.
댓글 없음:
댓글 쓰기