RadarURL
Skip to content
조회 수 20 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

CentOS 8 에 MariaDB 및 phpMyAdmin 설치하기

 
해당 문서는 MySQL과 호환되는 데이터베이스인 MariaDB와 
PHP로 개발되어 웹 환경에서 DB를 관리할 수 있는 도구인 phpMyAdmin을 
CentOS 8버전에 설치하는 방법을 설명합니다.
 
학습 및 실습 중 작성된 문서이므로 문서에 오류가 존재할 수 있습니다. 잘못된 점에 대한 지적은 언제나 환영합니다.
 

MariaDB

시스템 업데이트

MariaDB를 설치하기 전 다음 명령어로 CentOS 시스템을 업데이트 합니다.
 
sudo dnf -y update
 

MariaDB 서버 설치

아래의 명령어로 Repository에 MariaDB가 존재하는지, 어느 버전인지 확인합니다.
 
dnf info mariadb
 
01.png

 

확인 시점 기준 최신버전은  10.3.11버전이며, AppStream Repository에 포함되어 있습니다.
 
다음 명령어로 MariaDB를 설치합니다.
 
sudo dnf module install mariadb
 

설치 확인

설치가 완료되면 다음 명령어로 MariaDB 설치 여부와 설치 버전 등의 정보를 확인할 수 있습니다.
 
rpm -qi mariadb-server
02.png

 

 

MariaDB 실행하기

설치된 MariaDB를 실행하고 서버가 시작될 때 같이 실행될 수 있도록 시작프로그램에 등록합니다.
다음의 명령어를 이용하여 시작프로그램에 등록합니다.
 
sudo systemctl enable --now mariadb
 
다음 명령어로 시작프로그램에 등록되었는지, 서비스가 실행중인지 확인할 수 있습니다.
 
systemctl status mariadb
03.png

 

 

기본 보안 설정

서버가 정상적으로 등록되고 실행되었다면 아래의 명령어를 이용해서 기본 보안설정을 실시합니다.
 
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 콘솔을 확인할 수 있습니다.
04.png

 

여기까지 성공하였다면 MariaDB 설치와 설정은 끝났습니다.
 

phpMyAdmin

phpMyAdmin은 PHP로 작성 되어있기 때문에 PHP와 Apache를 설치한 뒤 phpMyAdmin을 설치하는 방법을 설명합니다.

PHP 설치하기

다음 명령어로 설치 가능한 PHP모듈을 확인합니다.

dnf module list | grep php
05.png

 


PHP 7.2 버전이 제공되는 것을 확인할 수 있습니다.
아래의 명령어로 PHP를 설치합니다.

sudo dnf module install php

설치 후 php -v 명령어로 설치된 PHP버전을 확인할 수 있습니다.
06.png

 


다음의 명령어로 php-mysqlnd 확장기능을 설치합니다.

sudo dnf install php-mysqlnd

설치 후 다음의 명령어로 mysqlnd가 설치되어있는지 확인할 수 있습니다.

php -m | grep mysqlnd
 

Apache Web Server 설치

Apache 웹 서버 패키지인 httpd를 설치합니다.
아래의 명령어로 Apache 서버 패키지인 httpd를 설치 가능한지 확인합니다.
dnf module list | grep httpd
07.png

 


아래의 명령어로 httpd 모듈의 상세정보를 확인할 수 있습니다.
dnf module info httpd
08.png

 


아래의 명령어로 httpd를 설치합니다.
sudo dnf module install httpd

설치가 완료되면 httpd를 실행시키고 시작프로그램에 등록하기 위해 아래의 명령어로 실행합니다.

sudo systemctl enable --now httpd
 

phpMyAdmin 설치

다운로드

phpMyAdmin 다운로드 페이지에 접속하여 최신버전의 phpMyAdmin tar.gz 압축 파일의 다운로드 URL을 복사합니다.
09.png

 

 
복사한 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 로그인 페이지를 확인할 수 있습니다.
10.png

 

 MariaDB 계정과 비밀번호로 로그인하면 접속이 가능하며, phpMyAdmin 기능을 이용할 수 있습니다.
11.png

 

 
여기까지 완료 되었다면 이제 phpMyAdmin을 이용할 수 있습니다.
 
테스트용으로 사용한다면 지금 상태로도 충분히 사용 가능하지만
민감한 정보를 다루거나 실 사용을 위한 DB로 활용하려면 
꼭 환경에 맞게 추가적인 보안 작업을 진행 한 후 사용하시길 바랍니다.

 

출처 : https://gsggb.blogspot.com/2019/09/centos-8-mariadb-phpmyadmin.html

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
194 Centos 8에 Apache, php, MariaDB 설치하기 JAESOO 2020.09.13 21
193 아파치 2.4.34 버전에서 mod_rewrite 활성화 하기 JAESOO 2020.09.13 23
» CentOS 8 에 MariaDB 및 phpMyAdmin 설치하기 JAESOO 2020.09.13 20
191 CentOS 8 / Apache, PHP, MariaDB 설치하는 방법 JAESOO 2020.09.13 16
190 CentOS 8 Firewall 설정하기 JAESOO 2020.09.13 20
189 [CentOS] LVM /home 용량을 줄이고 / 용량을 늘리기 JAESOO 2020.09.13 20
188 [Linux] CentOS DVD, Everything, Minimal, Netinstall 차이 JAESOO 2020.09.08 20
187 [서버보안정책가이드] 2. Unix / Linux 수퍼유저(root) 및 어플리케이션 관리자 계정 권한 분리 정책 JAESOO 2020.03.12 122
186 [서버보안정책가이드] 1. Unix / Linux 운영체제의 계정 통제 정책 JAESOO 2020.03.12 126
185 Btrfs vs EXT4 - 파일시스템 비교 1 JAESOO 2019.01.24 938
184 당장 firewall과 SELinux에 대해 설정하는 법을 모르니 최초 CentOS를 스터디할 땐 이 두 가지는 꺼버리자. JAESOO 2017.12.02 749
183 Linux syslog-ng를 이용하여 로그서버 구축 JAESOO 2017.10.27 431
182 [UNIX / Linux] 특수 권한(setuid, setgid, sticky bit) JAESOO 2017.10.24 645
181 [unix 시스템 기초] 리눅스 의 기초 이론인 TTY와 PTS, PTY에 대해서 알아보자 JAESOO 2017.10.18 595
180 Linux에서 터미널, 콘솔, 쉘, tty, pty, pts 차이 정리 JAESOO 2017.10.18 408
179 CentOS 7 리눅스 방화벽(firewalld) 포트 포워딩(Port Forwarding) JAESOO 2017.06.20 1354
178 리눅스 방화벽 firewalld (CentOS 7) JAESOO 2017.06.20 792
177 [CentOS] 7으로 버전업된 방화벽관리(firewall-cmd) JAESOO 2017.06.20 233
176 CentOS 7 초기 서버 세팅 / WordPress 설치하기 JAESOO 2017.06.20 315
175 AIX 5.3 TL07이상에서 MD5 패스워드 사용하기 JAESOO 2017.06.13 373
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10

PageViews   Today : 1,396   Yesterday : 4,193   Total : 21,778,830  /  Counter Status   Today : 239   Yesterday : 355   Total : 1,776,587
Site Info   Member : 252  /  Total documents : 1,270   New documents : 0  /  Total comments : 26

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소