rand(life)

APM은 무엇인가? 본문

컴퓨터/리눅스

APM은 무엇인가?

flogsta 2007. 3. 30. 19:32

http://blog.naver.com/contos/60034784316
아파치 웹서버는 웹서버 자체 기능인 웹페이지를 표시하는데 문제 없지만 뭔가 2% 아니 심하게 부족하다. 이런 아파치 웹서버에 방대한 자료를 처리하기위한 데이터베이스, 웹서버와 데이터베이스 사이를 연동을 위해 사용되는 PHP를 사용하여 동적인 홈페이지를 만들 수 있을 것이다.

이런 동적인 웹페이지를 구축하기 위해 필요한 것은 아래와 같다.

 

1) 아파치 웹서버 Apache

2) 스크립트 언어 PHP

3) 데이터베이스 Mysql

 

이 3인방의 첫 이니셜을 따서 APM 이라고 부른다.

 

주의사항)

위의 3가지 사항을 설치시 사소한 설정 실수로 인해 전체 설치를 실패할 수있으므로 하나씩 신중히 따라하세요.

 

APM설치하기

 

1. 패키지들의 설치 상황 파악! (이미 설치되어 있는지 확인!)

 

# rpm -qa | grep httpd                // 아파치가 설치되어 있는지 확인

                                               // 설치되어있다면 httpd-manual-2.0.40-21   를 표시할 것이다.

                                                                         redhat-config-httpd-1.0.1-18

                                                                         httpd-2.0.40-21   

 

# rpm -qa | grep php                  // PHP가 설치되었는지 확인

                                                // 설치되어있다면 php-ldap-4.2.2-17  를 표시할 것이다.

                                                                          php-4.2.2-17

                                                                          php-imap-4.2.2-17

 

# rpm -qa | grep mysql               // 일반적으로 설치되어 있지 않다.

 

2. 설치된 패키지를 확인했으면 미설치된 패키지를 설치해 보자.

 

    HTTPD와 PHP패키지 설치는 생략! 왜냐면 RPM설치법은 앞서 여러번 했으므로..찾아보세요^^

 

우선 mysql과 관련된 패키지를 확인 후 다운받는다.

 

libdbi-dbd-mysql-0.6.5-5.i386.rpm                   // 현재 필요없음

mysql-devel-3.23.54a-11.i386.rpm                   // 현재 필요없음

mod_auth_mysql-1.11-12.i386.rpm                   // 현재 필요없음

mysql-server-3.23.54a-11.i386.rpm        // 다운로드

mysql-3.23.54a-11.i386.rpm                 // 다운로드

php-mysql-4.2.2-17.i386.rpm               // 다운로드

 

이상 위의 칼라풀한 3개의 rpm을 다운로드 받은 후 설치한다. 여기서 주의사항은 패키지의 의존성 때문에 설치과정이 다른 rpm패키지 보다 조금 복잡하다.

먼저, mysql 패키지를 설치하기 위해서는 다음 패키지를 설치해야 한다.

 

perl-CGI

perl-DBD-MySQL

mysql

 

이제부터 순서대로 설치해보자. 순서에 유념해야 한다..왜냐면 순서가 뒤바뀌면 설치 실패한다!!  

 

3. perl-CGI 설치하기

# rpm -Uhv prel-CGI-2.81-88.i386.rpm

 

4. perl-DBD-MySQL mysql 패키지 설치

-> 이 두가지 패키지는 패키지 의존성 문제로 동시에 설치해야한다. 그렇지 않으면 설치할 수없다.

 

그 이유는?

perl-DBD-MySQL 를 설치하려면 mysql의 공유라이브러리인 "libmysql-client.so.10"이 필요하다. 이 공유 라이브러니는 mysql 패키지 안에 있다. 즉 패키지 의존성에 의해 perl-DBD-MySQL 를 설치할 수없다.

 

# rpm -Uhv perl-DBD-MySQL-2.1021-3.i386.rpm  mysql-3.23.54a-11.i386.rpm

 

5. mysql-server를 설치

 

# rpm -Uhv mysql-server-3.23.54a-11.i386.rpm

 

6. 이제 APM의 아파치 웹서버와 PHP, MySQL을 모두 설치했다.

 

7. 하지만 여기서 끝나는것이 아니다. 세가지 패키지들을 연결하기위한 php-mysql 패키지 설치필요

 

# rpm -Uhv  php-mysql-4.2.2-17.i386.rpm

 

8. APM의 모든 패키치 설치 끝!! 먼저 MySQL 데몬을 실행시켜보자.

 

# /etc/rc.d/init.d/mysqld start

 

9. MySQL이 제대로 동작하는지 확인!!

 

# ps -ef | grep mysql

 

10. 동작한다면 MySQL에 접속해보자. 첫 접속시  MySQL 서버의 관리자 암호를 지정해야한다.

접속하기전 다음과 같이 암호를 만든다.

 

# /usr/bin/mysqladmin -u root password  '********'             // ******** 은 설정할 암호

 

11. MySQL 서버에 접속! 암호 입력시 앞서 지정한 암호 입력!

 

# /usr/bin/mysql -p mysql                           // MySQL 서버접속

 

Enter password:                                         // 메세지를 출력하면 암호 입력 후 엔터

 

12. mysql> 프롬프트가 나타나면 성공!!

 

13. status 명령을 입력하면 MySQL 상태를 출력!

 

mysql> status

 

.

.

상태 메세지 출력!!

.

.

 

14. 사용할 수 있는 데이터베이스 확인

 

mysql> show databases;                         //  주의  ";"기호를 덧붙여 주어야 한다.

 

+-----------+

| Database  |

+-----------+

| mysql       |

| test          |

+-----------+

2 rows in set (0.00 sec)                          // 출력내용

 

mysql> exit;                                           // 리눅스의 명렴 프롬프트로 돌아감.

#

 

15. PHP가 제대로 동작하는지 테스트하기 위해 /var/www/html 디렉토리에 test.php 파일 만들기!

 

# vi /var/www/html/test.php

 

<?

echo " 이것은 테스트용 페이지 입니다";           // 리눅스상에서 영문에서 한글변환하기 =>

phpinfo();                                                                                                  shift + space

?>

 

파일 저장 후 모질라 실행!

주소창에   http://cktek.uos.ac.kr/test.php 입력하면 위에 작성한 문장 및 PHP정보 와 시스템 정보가 나타난다.

 

클라이언트 PC에서도 확인!!  성공? 아마도 성공할껄요..^^

 

16. 리눅스 부팅시 자동으로 AMP서비스 실행하도록 ntsysv 설정

 

# ntsysv

 

HTTPD 와 MySQL 항목에 체크 후 확인         // 체크는 스페이스키  확인으로 넘어가기는 탭키