"CentOS phpMyAdmin 설치 (yum)"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(사용자 3명의 중간 판 12개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
;리눅스 phpMyAdmin 설치
;리눅스 phpMyAdmin 설치
* 최신버전을 설치하려면 '''[[리눅스 phpMyAdmin 설치 (수동)]]'''으로...


==사전 작업==
==사전 작업==
*[[yum EPEL 저장소 추가]]
* [[리눅스 APM 설치]]
*[[리눅스 아파치 설치]]
:(단, 원격 MySQL을 사용한다면 Apache와 PHP만 설치하면 됨)
*[[리눅스 MySQL 설치]]


==phpMyAdmin 설치==
==phpMyAdmin 설치==
<source lang='console'>
<syntaxhighlight lang='console'>
[root@zetawiki ~]# yum install phpMyAdmin
[root@zetawiki ~]# yum install phpMyAdmin
... (생략)
... (생략)
38번째 줄: 39번째 줄:
Total download size: 9.2 M
Total download size: 9.2 M
Is this ok [y/N]: y
Is this ok [y/N]: y
</source>
</syntaxhighlight>
<source lang='console'>
<syntaxhighlight lang='console'>
... (생략)
... (생략)
Installed:
Installed:
58번째 줄: 59번째 줄:


Complete!
Complete!
</source>
</syntaxhighlight>


==아파치 reload 및 로컬접속확인==
==아파치 reload 및 로컬접속확인==
<source lang='console'>
<syntaxhighlight lang='console'>
[root@zetawiki ~]# service httpd reload
[root@zetawiki ~]# service httpd reload
Reloading httpd:
Reloading httpd:
</source>
</syntaxhighlight>
<source lang='console'>
<syntaxhighlight lang='console'>
[root@zetawiki ~]# curl -s -I http://localhost/phpMyAdmin/ | head -3
[root@zetawiki ~]# curl -s -I http://localhost/phpMyAdmin/ | head -3
HTTP/1.1 200 OK
HTTP/1.1 200 OK
Date: Sat, 14 May 2016 19:26:52 GMT
Date: Sat, 14 May 2016 19:26:52 GMT
Server: Apache
Server: Apache
</source>
</syntaxhighlight>


==(Optional) 외부접속 허용 및 확인==
==(Optional) 외부접속 허용 및 확인==
* phpMyAdmin은 보안상 이유로 로컬호스트(127.0.0.1)만 접속 가능하게 제한되어 있다.
* phpMyAdmin은 보안상 이유로 로컬호스트(127.0.0.1)만 접속 가능하게 제한되어 있다.
* 외부에서 접속하려면 설정을 변경해야 한다.
* 외부에서 접속하려면 설정을 변경해야 한다.
<source lang='console'>
<syntaxhighlight lang='console'>
[root@zetawiki ~]# cd /etc/httpd/conf.d/
[root@zetawiki ~]# cd /etc/httpd/conf.d/
[root@zetawiki conf.d]# grep 127.0.0.1 phpMyAdmin.conf
[root@zetawiki conf.d]# grep 127.0.0.1 phpMyAdmin.conf
82번째 줄: 83번째 줄:
       Require ip 127.0.0.1
       Require ip 127.0.0.1
     Allow from 127.0.0.1
     Allow from 127.0.0.1
</source>
</syntaxhighlight>
* 기존 설정을 보존해두고, 접속하고자 하는 곳(아마도 PC)의 IP(예: 135.79.246.80)<ref>IP 대신 'All'을 넣어도 되는데, 누구나 phpMyAdmin 페이지에 접근가능하므로 취약</ref>로 바꿔주자.
* 기존 설정을 보존해두고, 접속하고자 하는 곳(아마도 PC)의 IP(예: 135.79.246.80)<ref>IP 대신 'All'을 넣어도 되는데, 누구나 phpMyAdmin 페이지에 접근가능하므로 취약</ref>로 바꿔주자.
<source lang='console'>
<syntaxhighlight lang='console'>
[root@zetawiki conf.d]# cp -a phpMyAdmin.conf phpMyAdmin.conf.origin
[root@zetawiki conf.d]# cp -a phpMyAdmin.conf phpMyAdmin.conf.origin
[root@zetawiki conf.d]# sed -i 's/127.0.0.1/135.79.246.80/g' phpMyAdmin.conf
[root@zetawiki conf.d]# sed -i 's/127.0.0.1/135.79.246.80/g' phpMyAdmin.conf
94번째 줄: 95번째 줄:
[root@zetawiki conf.d]# service httpd reload
[root@zetawiki conf.d]# service httpd reload
Reloading httpd:  
Reloading httpd:  
</source>
</syntaxhighlight>
*웹브라우저에서 http://서버주소/phpMyAdmin 으로 접속 확인
*웹브라우저에서 http://서버주소/phpMyAdmin 으로 접속 확인


==설정파일 생성 및 확인==
==설정파일 생성 및 확인==
*http://서버주소/phpMyAdmin/setup 접속
*http://서버주소/phpMyAdmin/setup 접속
*만약 "phpMyAdmin - Error Configuration already exists, setup is disabled!" 에러가 뜬다면 기존에 설정 때문에 문제가 생기는 것이다. 그럴 경우 /etc/phpMyAdmin/에 위치한 config.inc.php 파일을 지우거나 파일명을 변경해준다
*[새 서버<ref>New server</ref>] 클릭
*[새 서버<ref>New server</ref>] 클릭
*"새 서버 추가<ref>Add a new server</ref>" --- 서버 호스트명, 서버 포트<ref>Server hostname, Server port</ref> 등 입력<ref>localhost 3306 포트라면 입력하지 않아도 됨</ref> --- [저장<ref>Save</ref>]
*"새 서버 추가<ref>Add a new server</ref>" --- 서버 호스트명, 서버 포트<ref>Server hostname, Server port</ref> 등 입력<ref>localhost 3306 포트라면 입력하지 않아도 됨</ref> --- [저장<ref>Save</ref>]
*"설정 파일<ref>Configuration file</ref>" --- 기본 언어<ref>Default language</ref>: 한국어 - Korean --- [저장<ref>Save</ref>]
*"설정 파일<ref>Configuration file</ref>" --- 기본 언어<ref>Default language</ref>: 한국어 - Korean --- [저장<ref>Save</ref>]
여기까지 하면 /var/lib/phpMyAdmin/config/config.inc.php 파일이 생성된다.
여기까지 하면 /var/lib/phpMyAdmin/config/config.inc.php 파일이 생성된다.
<source lang='console'>
<syntaxhighlight lang='console'>
[root@zetawiki ~]# ll /var/lib/phpMyAdmin/config/config.inc.php
[root@zetawiki ~]# ll /var/lib/phpMyAdmin/config/config.inc.php
-rw-r--r-- 1 apache apache 757 Aug 31 00:01 /var/lib/phpMyAdmin/config/config.inc.php
-rw-r--r-- 1 apache apache 757 Aug 31 00:01 /var/lib/phpMyAdmin/config/config.inc.php
</source>
</syntaxhighlight>
그런데 실제로 사용되는 파일은 /etc/phpMyAdmin/config.inc.php 이다<ref>기존 설정을 날려먹게 될까봐 별도의 위치에 생성하는 듯...</ref>
그런데 실제로 사용되는 파일은 /etc/phpMyAdmin/config.inc.php 이다<ref>기존 설정을 날려먹게 될까봐 별도의 위치에 생성하는 듯...</ref>
설정파일을 바꿔치기해준다...
설정파일을 바꿔치기해준다...
<source lang='console'>
<syntaxhighlight lang='console'>
[root@zetawiki ~]# mv /etc/phpMyAdmin/config.inc.php /etc/phpMyAdmin/config.inc.php.old
[root@zetawiki ~]# mv /etc/phpMyAdmin/config.inc.php /etc/phpMyAdmin/config.inc.php.old
[root@zetawiki ~]# cp /var/lib/phpMyAdmin/config/config.inc.php /etc/phpMyAdmin/config.inc.php
[root@zetawiki ~]# cp /var/lib/phpMyAdmin/config/config.inc.php /etc/phpMyAdmin/config.inc.php
</source>
</syntaxhighlight>


==최종 확인==
==최종 확인==
120번째 줄: 122번째 줄:
:만약 <code>#2002 MySQL 서버에 로그인할 수 없습니다</code>가 나오면 config.inc.php가 제대로 연동되지 않은 것
:만약 <code>#2002 MySQL 서버에 로그인할 수 없습니다</code>가 나오면 config.inc.php가 제대로 연동되지 않은 것
:만약 <code>#1045 MySQL 서버에 로그인할 수 없습니다</code>가 나오면 사용자명 또는 암호가 틀린 것
:만약 <code>#1045 MySQL 서버에 로그인할 수 없습니다</code>가 나오면 사용자명 또는 암호가 틀린 것
::→ '''[[MySQL ERROR 1045 접근 거부]]''' 문서 참고


==같이 보기==
==같이 보기==

2020년 11월 2일 (월) 02:58 기준 최신판

1 개요[ | ]

리눅스 phpMyAdmin 설치

2 사전 작업[ | ]

(단, 원격 MySQL을 사용한다면 Apache와 PHP만 설치하면 됨)

3 phpMyAdmin 설치[ | ]

[root@zetawiki ~]# yum install phpMyAdmin
... (생략)
===========================================================================================
 Package                  Arch            Version                   Repository        Size
===========================================================================================
Installing:
 libjpeg-turbo            x86_64          1.2.1-3.el6_5             updates          174 k
     replacing  libjpeg.x86_64 6b-46.el6
 phpMyAdmin               noarch          3.5.8.2-1.el6             epel             4.3 M
Installing for dependencies:
 libXpm                   x86_64          3.5.10-2.el6              base              51 k
 libmcrypt                x86_64          2.5.8-9.el6               epel              96 k
 php                      x86_64          5.3.3-27.el6_5            updates          1.1 M
 php-gd                   x86_64          5.3.3-27.el6_5            updates          107 k
 php-mbstring             x86_64          5.3.3-27.el6_5            updates          455 k
 php-mcrypt               x86_64          5.3.3-3.el6               epel              19 k
 php-mysql                x86_64          5.3.3-27.el6_5            updates           81 k
 php-pdo                  x86_64          5.3.3-27.el6_5            updates           75 k
 php-php-gettext          noarch          1.0.11-3.el6              epel              21 k
Updating for dependencies:
 php-cli                  x86_64          5.3.3-27.el6_5            updates          2.2 M
 php-common               x86_64          5.3.3-27.el6_5            updates          525 k

Transaction Summary
===========================================================================================
Install      11 Package(s)
Upgrade       2 Package(s)

Total download size: 9.2 M
Is this ok [y/N]: y
... (생략)
Installed:
  libjpeg-turbo.x86_64 0:1.2.1-3.el6_5          phpMyAdmin.noarch 0:3.5.8.2-1.el6         

Dependency Installed:
  libXpm.x86_64 0:3.5.10-2.el6                    libmcrypt.x86_64 0:2.5.8-9.el6           
  php.x86_64 0:5.3.3-27.el6_5                     php-gd.x86_64 0:5.3.3-27.el6_5           
  php-mbstring.x86_64 0:5.3.3-27.el6_5            php-mcrypt.x86_64 0:5.3.3-3.el6          
  php-mysql.x86_64 0:5.3.3-27.el6_5               php-pdo.x86_64 0:5.3.3-27.el6_5          
  php-php-gettext.noarch 0:1.0.11-3.el6          

Dependency Updated:
  php-cli.x86_64 0:5.3.3-27.el6_5            php-common.x86_64 0:5.3.3-27.el6_5           

Replaced:
  libjpeg.x86_64 0:6b-46.el6                                                               

Complete!

4 아파치 reload 및 로컬접속확인[ | ]

[root@zetawiki ~]# service httpd reload
Reloading httpd:
[root@zetawiki ~]# curl -s -I http://localhost/phpMyAdmin/ | head -3
HTTP/1.1 200 OK
Date: Sat, 14 May 2016 19:26:52 GMT
Server: Apache

5 (Optional) 외부접속 허용 및 확인[ | ]

  • phpMyAdmin은 보안상 이유로 로컬호스트(127.0.0.1)만 접속 가능하게 제한되어 있다.
  • 외부에서 접속하려면 설정을 변경해야 한다.
[root@zetawiki ~]# cd /etc/httpd/conf.d/
[root@zetawiki conf.d]# grep 127.0.0.1 phpMyAdmin.conf
       Require ip 127.0.0.1
     Allow from 127.0.0.1
       Require ip 127.0.0.1
     Allow from 127.0.0.1
  • 기존 설정을 보존해두고, 접속하고자 하는 곳(아마도 PC)의 IP(예: 135.79.246.80)[1]로 바꿔주자.
[root@zetawiki conf.d]# cp -a phpMyAdmin.conf phpMyAdmin.conf.origin
[root@zetawiki conf.d]# sed -i 's/127.0.0.1/135.79.246.80/g' phpMyAdmin.conf
[root@zetawiki conf.d]# grep 135.79.246.80 phpMyAdmin.conf
       Require ip 135.79.246.80
     Allow from 135.79.246.80
       Require ip 135.79.246.80
     Allow from 135.79.246.80
[root@zetawiki conf.d]# service httpd reload
Reloading httpd:

6 설정파일 생성 및 확인[ | ]

  • http://서버주소/phpMyAdmin/setup 접속
  • 만약 "phpMyAdmin - Error Configuration already exists, setup is disabled!" 에러가 뜬다면 기존에 설정 때문에 문제가 생기는 것이다. 그럴 경우 /etc/phpMyAdmin/에 위치한 config.inc.php 파일을 지우거나 파일명을 변경해준다
  • [새 서버[2]] 클릭
  • "새 서버 추가[3]" --- 서버 호스트명, 서버 포트[4] 등 입력[5] --- [저장[6]]
  • "설정 파일[7]" --- 기본 언어[8]: 한국어 - Korean --- [저장[9]]

여기까지 하면 /var/lib/phpMyAdmin/config/config.inc.php 파일이 생성된다.

[root@zetawiki ~]# ll /var/lib/phpMyAdmin/config/config.inc.php
-rw-r--r-- 1 apache apache 757 Aug 31 00:01 /var/lib/phpMyAdmin/config/config.inc.php

그런데 실제로 사용되는 파일은 /etc/phpMyAdmin/config.inc.php 이다[10] 설정파일을 바꿔치기해준다...

[root@zetawiki ~]# mv /etc/phpMyAdmin/config.inc.php /etc/phpMyAdmin/config.inc.php.old
[root@zetawiki ~]# cp /var/lib/phpMyAdmin/config/config.inc.php /etc/phpMyAdmin/config.inc.php

7 최종 확인[ | ]

로그인이 잘되면 OK
만약 #2002 MySQL 서버에 로그인할 수 없습니다가 나오면 config.inc.php가 제대로 연동되지 않은 것
만약 #1045 MySQL 서버에 로그인할 수 없습니다가 나오면 사용자명 또는 암호가 틀린 것
MySQL ERROR 1045 접근 거부 문서 참고

8 같이 보기[ | ]

9 주석[ | ]

  1. IP 대신 'All'을 넣어도 되는데, 누구나 phpMyAdmin 페이지에 접근가능하므로 취약
  2. New server
  3. Add a new server
  4. Server hostname, Server port
  5. localhost 3306 포트라면 입력하지 않아도 됨
  6. Save
  7. Configuration file
  8. Default language
  9. Save
  10. 기존 설정을 날려먹게 될까봐 별도의 위치에 생성하는 듯...
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}