강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

APM 설치 (RedHat 6.2)

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

icon01.giftitle11.gif


작성자  :  윤 일 (yunil@dreamwiz.com)
작성일  :  2001년 2월 2일
수정일  :  2001년 7월 5일
참   고  :  php4 중심으로 수정

Mysql PHP apache 한번에 설치하기

저도 처음 APM을 설치할 때 이틀을 꼬박 밤 세워가며 50여번(거짓말 아님)의 설치 끝에 설치에 성공한 기억(악몽?)이 있다. 그만큼 APM의 설치는 간단하면서도 어려울수 있다. 왜냐면 예상치 못한 에러 메시지가 나올 때 마다 지옥과 천당을 오가는 느낌을 느낄 수 있을 것이다.
APM을 설치하다가 어떤 에러메시지를 만나더라고 당황하지 말고 게시판에 도움요청글을 올리기 바란다.

이 메뉴얼을 보고 설치하는 것이 짜증나는 사람은 자료실에 A.P.M 자동설치 스크립트를 이용하기 바란다. 그 스크립트는 이 강좌의 내용을 적용해서 만든 스크립트로  A.P.M의 설치를 쉽게 도와 줄 것이다.

A.P.M을 설치하기로 마음 먹었다면 기존의 RPM으로 설치된 apache와 php, mysql을 삭제해야 된다. 설치를 다하고 느끼겠지만 RPM 으로 설치된 것은 아파치나 php, mysql에 관련된 파일이 흩어져 있기 때문에 관리하기가 무척 힘이 든다(성질나서 컴퓨터를 발로 찰수도 있다)

A.P.M 의 모든 파일은 소스를 컴파일해서 설치할 것이다.

A.P.M(apache, php, mysql)을 설치하는 순서는 mysql을 먼저 설치하고 그다음 php를 마지막으로 apache를 설치하는 순이다.

[APM설치 준비단계]


우선 현재 아파치가 실행중인지 확인한다.
[root@yunil /root]# ps -aux | grep httpd

아파치가 실행중이라면 httpd와 관련된 프로세서가 주~~욱 뜰 것이다
실행중인 아파치를 죽여야 한다
[root@yunil /root]# kill ***
("***"는 프로세스 아이디를 적어주면 된다. nobody라고 되어있는 프로세서는 자식 프로세서이므로 root유저로 되어있는 프로세서만 죽이면 나머지는 같이 죽어버린다)

이제 RPM으로 설치된 아파치 정보를 자세히 알아보자
[root@yunil /root]# rpm -qa | grep apache

아파치와 관련된 여러개의 패키지가 검색 될 것이다.
여러 패키지 중에 apache만 삭제해 주면 된다. 다음과 같이...
[root@yunil /root]# rpm -e --nodeps apache

이젠 아파치가 제거 되었다.
그런데 빈 디렉토리가 아니라서 삭제가 안된 디렉토리가 있다고 나오죠
그 디렉토리를 "rm -rf" 명령으로  다 지워줍니다.
[root@yunil /root]# rm -rf 디렉토리명

php도 제거하자
[root@yunil /root]# rmp -e --nodeps php

이제 마지막으로  mysql을 제거 해야 된다.
[root@yunil /root]# rpm -e --nodeps mysql

레드헷 6.2 이전버젼에서는 mysql이 기본적으로 설치되어 있지 않아 mysql을 삭제해 줄 필요가 없었는데 레드헷 6.2부터는 mysql패키지도 기본적으로 설치 되어 있기 때문에 당연히 삭제해 줘야 된다.
저희 사이트의 자주 올라오는 mysql 관련 질문중에 A.P.M을 소스로 잘 설치해서 mysql을 잘 실행 했는데도 mysql 에 접속할려고 하면 mysql.sock 파일을 /tmp에서 찾을 수 없다는 에러가난다는 분들이 많았다.
문제의 원인은 rpm으로 설치된 mysql을 삭제하지 않은 상태에서 mysql을 소스 컴파일로 설치를 한 후 mysql을 실행 하기 위해 safe_mysqld를 실행하면 소스로 설치된 mysql 데몬이 실행되는 것이 아니라 전에 지우지 않았던 mysql데몬이 실행되어서 mysql.sock 파일이 /tmp에 생기는 것이 아니라 /var/mysql/에 생성되었기 때문이다.
이 문제를 /var/mysql/안에 생긴 mysql.sock를 /tmp에 링크 시켜서 해결하는 분들도 있었는데 이런 해결 방법은 좋지 않은 방법이다.

mysql을 다운 받을 수 있는 곳 : htt://mysql.com,
php를 다운받을 수 있는 곳 : http://php.net
apache를 다운 받을 수 있는 곳 : http://apache.org
apache, php, mysql은 루트맨의 자료실에서도 있습니다.

[mysql 설치하기]

다운 받은 모든 Apache와 Mysql소스들은 /tmp 디렉토리에 옮겨서 설치를 진행할 것이다.

1> 다운받은 파일을 /tmp에 이동시키자
[root@yunil /root]# mv mysql* /tmp

mysql 파일이 있는 /tmp 디렉토리로 이동하자
[root@yunil /tmp]# cd /tmp

2> mysql 압축을 풀자
[root@yunil tmp]# tar zxvf mysql*
압축이 풀리는 과정이 화면에 나올 것이다.

압축이 풀린 디렉토리로 이동하자
[root@yunil tmp]# cd mysql*

3> configure 실행한다.
[root@yunil mysql?]# ./configure --prefix=/usr/local/mysql --with-charset=euc_kr

4> 컴파일과 설치를 하기 위해 make와 make install을 실행한다.
[root@yunil mysql?]# make
[root@yunil mysql?]# make install

configure 옵션에 --prefix로 디렉토리를 /usr/local/mysql로 지정했기 때문에 mysql은 /usr/local/mysql에 깔려 있을 것이다. l

5> 이젠 기본 테이블을 만들어 주는 스크립트를 실행하자
[root@yunil mysql]# /usr/local/mysql/bin/mysql_install_db


만약 ./bin 디레토리 안에 mysql_install_db라는 디렉토리가 없다고 나오는 사용자는 다음과 같이 해준다.
[root@yunil mysql]#/usr/local/mysql/scripts/mysql_install_db

이젠 mysql의 설치가 끝났다 테스트를 해보자

[mysql 테스트]

1> 일단 mysql 서버 데이터 데몬을 기동시키자
[root@yunil mysql]# /usr/local/mysql/bin/safe_mysqld &
(마지막의 &는 mysql을 백그라운드로 실행시켜준다)
이젠 mysql을 사용할 수 있다.

2> 다음과 같이 명령하면 mysql DB에 접속할 수 있다.
[root@yunil mysql]# /usr/local/mysql/bin/mysql mysql
아직 mysql의 root 비밀번호를 설정하지 않았기 때문에 비밀번호 없이 mysql에 로그인 된다.

mysql>   --->mysql 프롬프트가 뜬다.

아래와 같이 명령해 보자

mysql> show tables; ( 끝에 세미콜론(;)을 빼먹지 말자)
테이블 정보가 보일 것이다.

이번엔 s 명령을 테스트 해보자

mysql> s

위 명령으로 데이터 베이스 상태를 알 수 있다.

테스트가 끝났으면 mysql을 종료하고 쉘로 빠져 나오자.
mysql> q

이제 php와 apache 설치로 넘어가자.  

[php와 apache 설치하기]

1>
다운 받은 php파일을 /usr/local/src로 옮기자
[root@yunil /root]# mv php* /usr/local/src


2> php 압축풀기
다운받은 php가 있는 /usr/local/src로 이동하자
[root@yunil /root]# cd /usr/local/src

php 압축을 풀어 준다.
[root@yunil /root]# #tar zxvf php*

php를 apahce의 모듈로 쓰기 위해 php설치 전에 apache에 간단한 설정을 해야 된다.

3> 다운 받은 apache 파일을 /tmp 디렉토리로 옮기자
[root@yunil /root]# mv apache* /tmp

/tmp 디렉토리로 이동하자
[root@yunil mysql]# cd /tmp

4> apache 압축을 풀자
[root@yunil mysql]# tar zxvf apache*

이젠 압축이 풀린 디렉토리로 이동하자.
[root@yunil mysql]# cd apache*

5> configure를 실행하자
[root@yunil mysql]# ./configure --prefix=/usr/local/apache
(이렇게 해야만 php가 아파치의 디렉토리에서 필요한 파일들을 참조할 수 있다)

이젠 php를 컴파일 할 준비가 되었다.

6> php가 압축이 풀린 디렉토리로 이동하자
[root@yunil mysql]# cd /usr/local/src/php*

7> configure를 실행하자
[root@yunil mysql]#  --> 한줄에 다 못써서 아랫줄에 내렸음
./configure --with-mysql=/usr/local/mysql--with-apache=/tmp/apache??? --enable-track-vars  

(--with-apache=/tmp/apache???는 조금전에 압축을 풀어서 생긴 아파치 소스 디렉토리 경로를 정확하게 적어 줘야 됩니다. ex) --with-apache=/tmp/apache_1.3.20   )

8> 이제 php를 컴파일 하고 설치를 하기 위해 make 와 make install을 실행한다.
[root@yunil mysql]
# make
[root@yunil mysql]# make install


php의 설치가 끝났다

9> 이제 아파치 설치를 위해 아파치가 소스가 있는 디렉토리로 이동하자
[root@yunil mysql]# cd /tmp/apache*

10> configure를 실행한다.
[root@yunil mysql]#  --> 한줄에 다 못써서 아랫줄에 내렸음
./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a


(activate-module 는 아파치 서버에서 읽을 모듈에 대한 것이다.)

11> 이제 아파치를 컴파일하고 설치 하기 위해 make와 make install을 실행한다.
[root@yunil mysql]# make
[root@yunil mysql]# make install


설치가 다 되었으면 아파치데몬이 잘 가동 되는지 확인 하자

12> 아파치를 기동시키자
[root@yunil mysql]# /usr/local/apache/bin/apachectl start

아파치가 문제없이 실행 되었다면 설치는 여기서 끝...

하지만 php를 아파치에서 잘 사용하기 위해서 몇가지 수정작업이 남았다.

[설치후 수정작업]

1> 먼저 php가 설치된 디렉토리로 이동하자
[root@yunil mysql]# cd /usr/local/src/php

2> 아파치웹서버가 php를 사용할 때 읽어들일 설정 파일을 복사합니다.
[root@yunil mysql]# cp php4.ini-dist  /usr/local/lib/php.ini

5> 마지막으로 httpd.conf 파일을 수정하는 일만 남았다.
vi 편집기로 httpd.conf파일을 연다.
[root@yunil mysql]#vi /usr/local/apache/conf/httpd.conf

명령란인에서 /php 라고 하면 아래와 같은 문장이 나온다.
아래와 같이 #(주석)을 삭제하고 수정후와 같이 추가한다.

  • [수정전]
  • #AddType application/x-httpd-php .php
  • #AddType application/x-httpd-php-source .phps 

  • [수정후]
  • AddType application/x-httpd-php .php .php3 .html .htm
  • AddType application/x-httpd-php-source .phps

6> 위의 수정사항을 적용하기 위해서는 아파치데몬을 재실행 해야 된다.
[root@yunil mysql]# /usr/local/apache/bin/apachectl restart

7> php가 잘 적용되는지 확인하기 위해 다음과 같이 test.php파일을 만든다.
test.php는 웹서버의 홈디렉토리인 /usr/local/apache/htdocs/에 만드세요.
[root@yunil mysql]# vi test.php


<?php
phpinfo();
?>

이렇게 작성하고 파일을 저장한다.

web브라우저를 열어서
http://localhost/test.php 하면 php 정보가 주욱 뜰 것이다.

이제 모든 과정이 끝났다.
설치에 성공하기를.....
문의할 사항이 있으면 게시판에 글 올리기 바란다.
 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  96 명