프로그래밍/LINUX

CentOs5.6 PhpMyAdmin 설치 + 접속

김재미 2011. 11. 11. 11:45
MySql을 php를 사용하여 웹에서 접근, 변경, 추가하기 위한 툴.

1. php 설치

[root@localhost sysconfig]# yum search php (php 관련된 패키지 파일 검색 명령어)

 ================================= Matched: php =================================

php-pear.noarch : PHP Extension and Application Repository framework

compat-readline43.i386 : 오래된 소프트웨어와의 호환성을 위한 리드라인 4.3

                       : 라이브러리.

fonts-arabic.noarch : 아랍어 글꼴

gollem-h3.noarch : The Horde web-based File Manager.

hddtemp.i386 : Hard disk temperature tool

horde.noarch : The common Horde Framework for all Horde modules.

imp-h3.noarch : The Internet Messaging Program: webmail access to IMAP/POP3

              : accounts.

ingo-h3.noarch : The Horde web-based Email Filter Rules Manager.

iproute.i386 : 어드밴스 IP 라우팅과 네트워크 장치 설정 도구.

kronolith-h3.noarch : The Horde calendar application.

libc-client.i386 : IMAP과 POP 프로토콜들에 사용되는 C-클라이언트 메일 액세스

                 : 루틴

mnemo-h3.noarch : The Horde note manager application.

nag-h3.noarch : The Horde task list manager.

php.i386 : PHP HTML-내장된 스크립트 언어. (PHP: Hypertext Preprocessor)

php-bcmath.i386 : bcmath 라이브러리를 사용하기 위한 PHP 응용 프로그램에 사용되는

                : 모듈

php-cli.i386 : Command-line interface for PHP

php-common.i386 : Common files for PHP

php-dba.i386 : PHP 응용 프로그램들에 사용되는 데이터베이스 추상 계층 모듈

php-dbase.i386 : Standard dBase module for PHP applications

php-devel.i386 : PHP 확장을 개발하는데 필요한 파일.

php-gd.i386 : dg 그래픽 라이브러리를 사용하는 PHP 응용 프로그램에 사용되는 모듈

php-imap.i386 : A module for PHP applications that use IMAP.

php-ldap.i386 : LDAP을 사용하는 PHP 응용 프로그램에 사용되는 모듈.

php-mbstring.i386 : 멀티바이트 문자열을 처리해야하는 PHP 응용 프로그램에

                  : 사용되는 모듈.

php-mcrypt.i386 : Standard PHP module provides mcrypt library support

php-mhash.i386 : Standard PHP module provides mhash support

php-mssql.i386 : Standard PHP module provides mssql support

php-mysql.i386 : MySQL 데이터베이스를 사용하는 PHP 응용 프로그램에 사용되는

               : 모듈.

php-ncurses.i386 : ncurses 인터페이스를 사용하는 PHP 응용 프로그램 모듈

php-odbc.i386 : ODBC 데이터베이스를 사용하는 PHP 응용 프로그램에 사용되는 모듈.

php-pdo.i386 : A database access abstraction module for PHP applications

php-pear-Auth-SASL.noarch : PEAR: Abstraction of various SASL mechanism

                          : responses

php-pear-DB.noarch : PEAR: Database Abstraction Layer

php-pear-Date.noarch : Date and Time Zone Classes

php-pear-File.noarch : Common file and directory routines

php-pear-HTTP-Request.noarch : Provides an easy way to perform HTTP requests

php-pear-Log.noarch : Abstracted logging facility for PHP

php-pear-MDB2.noarch : Database Abstraction Layer

php-pear-MDB2-Driver-mysql.noarch : MySQL MDB2 driver

php-pear-Mail.noarch : Class that provides multiple interfaces for sending

                     : emails

php-pear-Mail-Mime.noarch : Classes to create and decode mime messages

php-pear-Net-SMTP.noarch : Provides an implementation of the SMTP protocol

php-pear-Net-Sieve.noarch : Communication with timsieved

php-pear-Net-Socket.noarch : Network Socket Interface

php-pear-Net-URL.noarch : Easy parsing of URLs

php-pecl-Fileinfo.i386 : Fileinfo is a PHP extension that wraps the libmagic

                       : library

php-pecl-memcache.i386 : Extension to work with the Memcached caching daemon

php-pgsql.i386 : PHP에 사용되는 PostgreSQL 데이터베이스 모듈.

php-readline.i386 : Standard PHP module provides readline library support

php-snmp.i386 : SNMP-관리 장치를 쿼리하는 PHP 응용 프로그램에 사용되는 모듈.

php-soap.i386 : SOAP 프로토콜을 사용하는 PHP 응용 프로그램에 사용되는 모듈

php-tidy.i386 : Standard PHP module provides tidy library support

php-xml.i386 : XML을 이용하는 PHP 응용 프로그램들에 사용되는 모듈

php-xmlrpc.i386 : XML-RPC 프로토콜을 사용하는 PHP 응용 프로그램에 사용되는 모듈

php53.i386 : PHP scripting language for creating dynamic web sites

php53-bcmath.i386 : bcmath 라이브러리를 사용하기 위한 PHP 응용 프로그램에

                  : 사용되는 모듈

php53-cli.i386 : Command-line interface for PHP

php53-common.i386 : Common files for PHP

php53-dba.i386 : PHP 응용 프로그램들에 사용되는 데이터베이스 추상 계층 모듈

php53-devel.i386 : Files needed for building PHP extensions

php53-gd.i386 : dg 그래픽 라이브러리를 사용하는 PHP 응용 프로그램에 사용되는

              : 모듈

php53-imap.i386 : A module for PHP applications that use IMAP

php53-intl.i386 : Internationalization extension for PHP applications

php53-ldap.i386 : A module for PHP applications that use LDAP

php53-mbstring.i386 : 멀티바이트 문자열을 처리해야하는 PHP 응용 프로그램에

                    : 사용되는 모듈.

php53-mysql.i386 : A module for PHP applications that use MySQL databases

php53-odbc.i386 : A module for PHP applications that use ODBC databases

php53-pdo.i386 : A database access abstraction module for PHP applications

php53-pgsql.i386 : A PostgreSQL database module for PHP

php53-process.i386 : Modules for PHP script using system process interfaces

php53-pspell.i386 : A module for PHP applications for using pspell interfaces

php53-snmp.i386 : A module for PHP applications that query SNMP-managed devices

php53-soap.i386 : SOAP 프로토콜을 사용하는 PHP 응용 프로그램에 사용되는 모듈

php53-xml.i386 : XML을 이용하는 PHP 응용 프로그램들에 사용되는 모듈

php53-xmlrpc.i386 : XML-RPC 프로토콜을 사용하는 PHP 응용 프로그램에 사용되는

                  : 모듈

readline.i386 : 입력된 명령행을 편집하는 라이브러리.

readline-devel.i386 : readline 라이브러리를 사용하는 프로그램을 개발하는데

                    : 필요한 파일.

squirrelmail.noarch : SquirrelMail 웹메일 클라이언트
 

* 나중에 필요한 것은 추후 설치가능

[root@localhost sysconfig]# yum install php php-devel php-mysql

2. Apache 설치

[root@localhost sysconfig]# yum search httpd
 

================================ Matched: httpd ================================

mod_ssl.i386 : Apache HTTP 서버에 사용되는 SSL/TLS 모듈

system-config-httpd.noarch : Apache 설정 도구

centos-ds.i386 : CentOS Directory, Administration, and Console Suite

httpd.i386 : Apache HTTP 서버

httpd-devel.i386 : Apache HTTP 서버에 사용되는 개발용 도구.

httpd-manual.i386 : Apache HTTP 서버에 대한 문서 자료.

mod_dav_svn.i386 : Subversion 서버에 사용되는 Apache 서버 모듈.

 
 
[root@localhost sysconfig]# yum install httpd httpd-devel
 [root@localhost sysconfig]# /etc/rc.d/init.d/httpd start

웹 브라우저에 서버 IP를 입력하여 테스트 가능
 


3. mysql 설치

[root@localhost sysconfig]# yum search mysql

================================ Matched: mysql ================================

mod_auth_mysql.i386 : MySQL 데이터베이스를 이용한 Apache 웹 서버에 사용되는 기본

                    : 인증 프로그램.

qt-MySQL.i386 : Qt의 SQL 클래스에 사용되는 MySQL 드라이버.

MySQL-python.i386 : MySQL 인터페이스

apr-util-mysql.i386 : APR utility library MySQL DBD driver

bytefx-data-mysql.i386 : MySQL database connectivity for Mono

freeradius-mysql.i386 : freeradius를 위한 MySQL 바인딩

freeradius2-mysql.i386 : MySQL support for freeradius

libdbi-dbd-mysql.i386 : libdbi 에 사용되는 MySQL 플러그인

mysql.i386 : MySQL client programs and shared libraries

mysql-bench.i386 : MySQL benchmark scripts and data

mysql-connector-odbc.i386 : MySQL용 ODBC 드라이버

mysql-devel.i386 : Files for development of MySQL applications

mysql-server.i386 : The MySQL server and related files

mysql-test.i386 : The test suite distributed with MySQL

pdns-backend-mysql.i386 : MySQL backend for pdns

perl-DBD-MySQL.i386 : Perl에 사용되는 MySQL 인터페이스

php-mysql.i386 : MySQL 데이터베이스를 사용하는 PHP 응용 프로그램에 사용되는

               : 모듈.

php-pdo.i386 : A database access abstraction module for PHP applications

php-pear-MDB2-Driver-mysql.noarch : MySQL MDB2 driver

php53-mysql.i386 : A module for PHP applications that use MySQL databases

php53-pdo.i386 : A database access abstraction module for PHP applications

qt4-mysql.i386 : MySQL drivers for Qt's SQL classes

rsyslog.i386 : Enhanced system logging and kernel message trapping daemon

rsyslog-mysql.i386 : MySQL support for rsyslog

unixODBC.i386 : Linux에 사용되는 완벽 ODBC 드라이버 관리자.

 
[root@localhost sysconfig]# yum install mysql mysql-devel mysql-server php-mysql
[root@localhost sysconfig]# /etc/rc.d/init,d/mysqld start 
[root@localhost html]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g. 
Your MySQL connection id is 59 
Server version: 5.0.77 Source distribution 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 
mysql> 

빠져 나올려면 quit 명령어 실행 


4. phpMyAdmin 설치

[root@localhost sysconfig]# cd /var/www/html (웹 서버 기본 폴더)
[root@localhost html]# 

[root@localhost html]# wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/2.11.11.3/phpMyAdmin-2.11.11.3-all-languages.tar.gz/download

[root@localhost html]# ls
Hi            index.html                                 phpinfo.php  test4.php
ex2-1.php     index.php                                  test1.php
ex5-15_a.php        test2.php                 test3.php
ex5-15_b.php  phpMyAdmin-2.11.11.3-all-languages.tar.gz  

 정상적으로 다운로드 되었는지 ls 명령어로 확인

 [root@localhost html]# tar -xvzf phpMyAdmin-2.11.11.3-all-languages.tar.gz
 [root@localhost html]# ls
Hi            index.php                                  test1.php
ex2-1.php              test2.php                         phpinfo.php
ex5-15_a.php  phpMyAdmin-2.11.11.3-all-languages         test3.php
ex5-15_b.php  phpMyAdmin-2.11.11.3-all-languages.tar.gz  test4.php
index.html

 [root@localhost html]# mkdir mysql
 [root@localhost html]# chown 그룹.사용자명 mysql
 [root@localhost html]# chown 그룹.사용자명 phpMyAamin-2.11.11.3-all-languages 
 [root@localhost html]# ll  
합계 4320
drwxr-xr-x 2 yjc  yjc     4096 11월 10 12:27 Hi
-rw-r--r-- 1 yjc  yjc      363 11월 10 12:15 ex2-1.php
-rw-r--r-- 1 yjc  yjc      183 11월 10 12:23 ex5-15_a.php
-rw-r--r-- 1 yjc  yjc      304 11월 10 12:23 ex5-15_b.php
-rw-r--r-- 1 root root   46118 11월 11 10:07 index.html
-rw-r--r-- 1 yjc  yjc       33 11월  9 12:27 index.php
drwxr-xr-x 3 yjc  yjc     4096 11월 11 10:30 mysql
drwxr-xr-x 9 root root    4096  2월 12  2011 phpMyAdmin-2.11.11.3-all-languages
-rw-r--r-- 1 root root 4316983  2월 12  2011 phpMyAdmin-2.11.11.3-all-languages.tar.gz
-rw-r--r-- 1 yjc  yjc        0 11월 11 10:12 phpinfo.php
-rw-r--r-- 1 yjc  yjc      534 11월 10 12:16 test1.php
-rw-r--r-- 1 yjc  yjc      461 11월 10 12:26 test2.php
-rw-r--r-- 1 yjc  yjc      564 11월 10 12:28 test3.php
-rw-r--r-- 1 yjc  yjc     1019 11월 10 12:39 test4.php

 [root@localhost html]# mv phpMyAamin-2.11.11.3-all-languages mysql


5. 접속

웹 브라우저에 서버 IP/mysql 적어 준다.
http://xxx.xxx.xxx.xxx/mysql/


정상적으로 설치 했을 경우..
이제 서버가 열려 있으면 어디서든 웹으로 DB 접근이 가능해진다.

사용방법은 자세히 모르겠다.
보이는 노란 네모 박스처럼 누구나 접근 가능하게 하지 않는 방법도 배웠는데, 아쉽게도 듣질 못했다..
그리고 데이터베이스 생성, 사용자 관리, 쿼리문 작성, 등 간편하게 조작이 가능하다.

이건 2011-3월달에 나온 버전인데 최신버전은 더 깔끔하고 좋은 기능이 추가되지 않았을까 싶다.

여기 까지 완료!

 
나중에 된다면 사용자 권한 설정까지 포스팅 하도록 하겠다!. 
 


6. 사용자 권한 설정

이렇게 되면 아무나 접속이 가능해져 버린다. 난리가 난다.
그럼 지정된, 허용된 사용자만 접근 가능하도록 해 보자.

phpmyadmin 에서 mysql 데이터베이스를 선택 후 user 테이블 선택하고 중앙 위에 있는 탭에서 삽입을 누른다.
그리고 빈칸을 채운다.
Password 부분의 함수를 PASSWORD로 설정해주고, 나머지는 원하는 대로~

 
그런 다음

[root@localhost mysql]# cd phpMyAdmin-2.11.11.3-all-languages/

[root@localhost phpMyAdmin-2.11.11.3-all-languages]# cp config.sample.inc.php config.inc.php
[root@localhost phpMyAdmin-2.11.11.3-all-languages]# vi config.inc.php



....
$cfg['Servers'][$i]['auth_type'] = 'http';
 ....
 
이부분을 찾아서 cookie로 되 있을 부분을 http로 바꾸어 준다. 
저장 후 빠져 나온다.

그리고 mysql 재 가동. 

[root@localhost phpMyAdmin-2.11.11.3-all-languages]# /etc/rc.d/init.d/mysqld  restart
MySQL 를 정지 중:                                          [  OK  ]
MySQL (을)를 시작 중:                                      [  OK  ]

다시 접속해 보겠다.
인증이 필요해 졌다. ^^ㅎㅎ 

 


자세한 사용 방법은 알아서 ^^;ㅋㅋㅋ

 

* 참고 !  리눅스 한글 처리 
나는 처음 한글이 깨져서 나왔다..
한글 깨짐 처리방법을 소개하겠다 

 [root@localhost html]# vi /etc/sysconfig/i18n


LANG="ko_KR.eucKR"

SUPPORTED="en_UTF-8:en_US:en:ko_KR.eucKR:ko_KR:ko"

SYSFONT="latarcyrheb-sun16"


[root@localhost html]# source /etc/sysconfig/i18n