티스토리 뷰


이전 서버에서는 phpmyadmin을 tar.gz 파일로 직접 받아 필요한 디렉토리에 직접 설치했다. 이 방법도 크게 문제는 없었지만 이번에는 yum 명령어를 통해 설치해 보기로 했다.

yum으로 설치할 경우 phpmyadmin과 서버와의 의존성 검사를 통해 나머지 필요한 패키지까지 한방에 설치 가능하다. 그리고 당연히 yum 명령어 update, upgrade 명령어로 자동 업데이트를 지원한다. 이는 나같이 매뉴얼 업데이트를 귀찮아하는 닝겐에게는 매우 큰 장점이 된다.

1. 우선 phpmyadmin을 설치하기 위해 저장소를 추가하자. 요즘에는 저장소 추가도 yum에서 패키지로 지원하더라.

yum install epel-release

yum update

2. 그리고 나서 phpmyadmin을 설치해주자.

yum install phpmyadmin

매뉴얼 설치할 경우 경로를 입맛대로 지정 가능 했지만 yum 설치시는 경로 지정이 힘들다. yum 설치시 시스템에서의 phpmyadmin 기본 경로는 /usr/share/phpMyAdmin 이다.

phpmyadmin로 접속하려면 http://호스트주소/phpmyadmin 이 default다. 그런데 나는 yum으로의 설치 부작용(매뉴얼 설치했을 때는 이런거 없었는데...)으로 permission denied가 난다. 같은 네트워크망에서는 403 에러가 나고 외부에서는 405가 난다. 구글신 접신.

/etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/conf.d/httpd.conf 를 모두 수정해주어야한다.

우선 phpMyAdmin.conf

해당 파일을 뒤져보면 호스트주소/phpmyadmin가 Alias 되어 있는 것을 확인할 수 있다. 하여튼 이게 중요한 것이 아니라 다음과 같은 구문이 있을 거다.

주석을 읽어보니 phpMyAdmin 접근 자체를 localhost에서만 가능하도록 하기 위해 이런 설정을 해놓았다고 한다. 하지만 나는 외부 접속이 가능하도록 해야하니 설정을 변경한다.

<Directory /usr/share/phpMyAdmin/>

   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>

     # Apache 2.4

     <RequireAny>

       Require ip 127.0.0.1

       Require ip ::1

     </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

   </IfModule>

</Directory> 

위 처럼 되어 있는 부분의 가운데를 통째로 날려 그냥 다음과 같이 만들어 준다. 모든 접속의 접근을 허용한다는 뜻이다.

<Directory /usr/share/phpMyAdmin/>

   AddDefaultCharset UTF-8

   Order Allow,Deny

   Allow from All

</Directory>


다음으로 httpd.conf 당연히 시스템마다 조금씩 다를 줄 있지만 약 102번째 줄에 다음과 같은 구문이 있다.

<Directory />

    AllowOverride none

    Require all denied 

</Directory>

Require all denied 줄을 Require all granted로 변경해주자. / 를 거쳐 접속하는 것에 대해 허용된다.


phpMyAdmin은 MySQL, MariaDB의 관리를 PHP 웹 기반 GUI로 관리할 수 있게 해주는 강력한 기능을 제공한다.

이제 퍼미션(권한) 문제 없이 잘 접속 된다. 대체로 MySQL DB를 사용하는 서버와 배포판들이 MariaDB로 넘어가는 추세다. 오픈수세도 작년인가 저작년에 저장소에서 MariaDB만 지원하기 시작하더니 이번 CentOS 7 에서도 공식 저장소에서는 MariaDB만 지원하는 듯하다.(어..어...오라클 화이팅...?!)

MySQL과 MariaDB의 차이점인가? 기본 DB 목록에서 information_schema 말고 처음보는 performance_schema라는 친구가 보인다. 나중에 한번 뒤져봐야겠다.

다음 포스팅은 웬지 httpd 사용자 정의 디렉토리(UserDir) 설정이 될 듯하다.



저작자 표시 비영리 변경 금지
신고
프로필사진

Yowu (Yu Yongwoo)

My MBTI type is ENTP. (Of course I do not believe it 100%, but I want to do that) I use Node.js to develop the backend. I use Ubuntu Linux as my development environment, and I love Vim. I am interested in open source and are keen to contribute. I have a bachelor's degree in computer science from Catholic University and now a software engineer at Plating Inc., I spent about 5 years developing and learning, and I am still interested in software development and culture. Recently, I am interested in React, Serverless structure, Domain Design Driven. Sometimes I play drums in the band.