리눅스서버

데이터베이스 MariaDB & phpMyAdmin 설치



1. 설치

설치는 yum을 통해 진행됩니다. MariaDB는 그 전용 저장소를 운영하고 있습니다. MariaDB가 운영하는 저장소를 추가하면 최신버전을 설치할 수 있습니다.


MariaDB 저장소 추가

/etc/yum.repos.d/mariadb.repo 파일을 생성하여 아래 내용을 넣으면 됩니다.


# vi /etc/yum.repos.d/mariadb.repo


[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.1/centos7-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

enabled=1


@ CentOS 7 기준의 저장소 URL 입니다. 다른 OS버전을 사용한다면 http://yum.mariadb.org/10.1/에서 선택하면 됩니다.


MariaDB 설치

서버와 클라이언트를 설치해줍니다.


# yum install MariaDB-server MariaDB-client


* mariadb 서비스 활성화

재부팅시 자동으로 실행될 수 있게 서비스를 활성화합니다.


# systemctl enable mariadb


* mariadb 서비스 시작


# systemctl start mariadb



2. 설정


* 외부 접속을 위한 방화벽 설정 (선택)

외부에서 데이터베이스에 접속하기위해서는 방화벽에서 허용해줘야 합니다. 하지만 로컬에서만 사용할 경우에는 굳이 허용해줄 필요는 없습니다.


# firewall-cmd --permanent --add-service=mysql

# firewall-cmd --reload


* 데이터베이스 root 계정 비밀번호 설정 (보안설정)

초기설치시에는 데이터베이스 root 계정의 비밀번호가 없기때문에 누구나 접속할 수 있는 상태가 되버립니다. 그래서 반드시 비밀번호 설정을 해줘야 됩니다.


# mysql_secure_installation


@ 보안설정 명령어를 실행해보면 몇가지 물음과 새 비밀번호 설정이 나올텐데.. 현 비밀번호(current password)에는 그냥 엔터 치면 되고, 새 비밀번호는 그냥 설정하면 됩니다. 그리고 나머지 물음에는 [Y]를 입력하면 됩니다.



3. 데이터베이스 접속

MariaDB도 호환성을 위해 mysql와 같은 mysql 명령어를 사용합니다. 그럼 mysql 명령어로 데이터베이스에 접속해보겠습니다.


mysql -u root -p


@ 위 명령어를 실행해보면 비밀번호를 입력하라고 나옵니다. 좀전에 설정한 데이터베이스 root 비밀번호를 입력하면 데이터베이스에 접속됩니다.


* 데이터베이스 보기 (예시)

데이터베이스를 보려면 접속한 상태에서 아래명령을 실행하면됩니다. 


MariaDB [(none)]> show databases;

MariaDB [(none)]> exit;


@ 이외에도 데이터베이스 명령어가 많이 있습니다. 이런 명령어로 데이터베이스를 관리하면 됩니다.



4. phpMyAdmin

mysql 명령어로 DB에 접속하여 관리할 수 있습니다. 하지만 DB명령어도 알아야 하기때문에 즉시 마음대로 사용할 수 없어 많이 불편할 것입니다. 그러나 phpMyAdmin이라는 툴을 사용한다면 그런 불편함 해소될 수 있습니다.


phpMyAdmin는 mysql 웹 관리자로 불리며, 웹에서 DB를 관리할 수 있게 해주는 아주 좋은 도구입니다. 직접 명령어 쳐야하는 작업을 이제 클릭만으로 DB를 관리할 수 있게 되었습니다.


원래는 mysql 전용 툴이였으나, mysql와 MariaDB 밀접한 호완성으로 MariaDB에서도 사용할 수 있습니다.



* 설치

phpMyAdmin는 php 파일이므로 php가 설치되어야합니다. 그리고 phpMyAdmin 또한 유명한 툴이기때문에 yum 으로 설치할 수 있습니다. 저장소는 remi을 이용합니다.


# yum install phpMyAdmin


// 의존성있는 php 관련 모듈도 추가된 듯 하니, php-fpm도 한번 재시작해봅니다.

# systemctl restart php-fpm



* nginx 설정

이제 웹에서 볼 수 있도록 웹서버(nginx)와 연결을 시킵니다. yum으로 설치할 경우 원하는 경로에 설치할 수 없기때문에 설치경로는 모두 같습니다.


phpMyAdmin 경로 : /usr/share/phpMyAdmin


server {
	listen       80;
	server_name  phpMyAdmin.conory.com;
	
	root         /usr/share/phpMyAdmin;
	index index.php  index.html index.htm;


	location ~ \.php$ {
		fastcgi_pass    127.0.0.1:9000;
		fastcgi_index   index.php;
		fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
		fastcgi_param   PHP_ADMIN_VALUE "open_basedir=$document_root:/tmp/:/usr/share/:/etc/phpMyAdmin/:/var/lib/phpMyAdmin/";
		include         fastcgi_params;
		try_files       $uri =404;
	}
}

이런식으로 설정하면 됩니다. 그리고 설정이 반영되도록 nginx 재로드도 잊지 마세요.


* nginx 서비스 재로드


# systemctl reload nginx


phpMyAdmin 설정

설정파일 : /etc/phpMyAdmin/config.inc.php


@ 설정파일에서 blowfish_secret 부분이 있는 데.. 이 설정은 쿠기 암호화에 관련된 있습니다. 즉, 보안문제입니다. 자세한 내용은 http://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator 참조바랍니다.


또한 $cfg['Servers'][$i]['auth_type'] 부분도 보안을 위해 cookie 대신 http로 값을 변경하세요.

$cfg['Servers'][$i]['auth_type'] = 'http';


1.png


Atachment
첨부 1
?