• 맑음동두천 7.3℃
  • 맑음강릉 11.5℃
  • 맑음서울 7.7℃
  • 맑음대전 8.1℃
  • 맑음대구 11.9℃
  • 맑음울산 11.5℃
  • 구름조금광주 7.8℃
  • 맑음부산 10.4℃
  • 구름많음고창 5.9℃
  • 구름많음제주 9.7℃
  • 맑음강화 5.1℃
  • 맑음보은 8.9℃
  • 맑음금산 7.0℃
  • 구름조금강진군 8.4℃
  • 맑음경주시 11.7℃
  • 맑음거제 9.9℃
기상청 제공

Apache2 + PHP4 설치

  • 등록 -0001.11.30 00:00:00

작성자 : 김선조
글주소 : http://sjking.sm.hs.kr/bbs/zboard.php?id=mem_exam&no=8


레드햇9에서 APM(Apache2, MySQL4, PHP4) 연동 설치하기2

 
아파치와 PHP를 DSO(Dynamic Shared Object) 방식으로 설치하는 경우 PHP가 업그레이드 되었을 때 아파치를 재 컴파일하지 않고서도 아파치 데몬에 업그레이드된 PHP 모듈을 적재시킬 수 있고, PHP 버그로 인한 패치를 적용할 때도 편리합니다.

아파치의 1.3.x 버전에서는 PHP와 Apache의 설치 순서가 복잡했으나 Apache 2.x 버전에서는 아파치를 먼저 설치한 뒤 PHP를 설치하면 됩니다.

PHP(http://www.php.net)와 Apache(http://www.apache.org)에서 최신의 소스를 구할 수 있습니다.


2. 아파치(Apache2) 설치하기

/usr/local/src]# tar xvfpz httpd-2.0.48.tar.gz 풀어줍니다.
그러면 /usr/local/src/httpd-2.0.48]의 디렉토리가 생성되면 cd /httpd-2.0.48 로 이동하여 configure 명령으로 컴파일 환경을 설정합니다.

/usr/local/src/httpd-2.0.48]# ./configure --prefix=/usr/local/apache
--enable-mods-shared=most --enable-modules=so --with-mpm=worker

이 때 DSO 방식으로 PHP 모듈을 끼워 넣을 수 있도록 아파치를 컴파일하기 위해서 --enable-mods-shared=most 옵션과 --enable-modules=so 옵션을 반드시 사용합니다.

--with-mpm=worker 옵션은 아파치 설정 파일에서 살펴보겠지만 다중 프로세서 모듈(MPM) 중 worker 모듈을 지원할 수 있도록 하는 옵션입니다. 이 옵션을 추가하지 않으면 아파치 2.x 버전에서는 기본적으로 perfork 모듈을 지원합니다.

make 명령으로 아파치를 컴파일하여 컴파일이 끝나면 make install 명령으로 컴파일된 아파치가 /usr/local/apache 디렉토리에 설치되도록 합니다.

/usr/local/src/httpd-2.0.48]# make; make install

/usr/local/apache/lib 와 /usr/local/apache/modules 경로를 /etc/ld.so.conf 파일에 추가한 후에 ldconfig 명령을 실행합니다.

src/httpd-2.0.48]# echo "/usr/local/apache/lib" >> /etc/ld.so.conf
src/httpd-2.0.48]# echo "/usr/local/apache/modules" >> /etc/ld.so.conf
src/httpd-2.0.48]# ldconfig


3. PHP 설치

php 타볼 소스의 압축을 풉니다.
/usr/local/src]# tar xvfpz php-4.3.4.tar.gz

압축을 푼 디렉토리로 이동을 하여 configure 명령으로 컴파일 환경을 설정합니다. 이 때 사용될 옵션들은 PHP가 아파치데몬에 DSO 모듈로 로딩되도록 하기 위해서는 아파치의 apxs 파일 위치를 --with-apxs2 옵션으로 지정해 주는 것이 중요합니다.

cd /php-4.3.4]# 이동 후 configure 명령을 실행합니다.

/usr/local/src/php-4.3.4]# ./configure --prefix=/usr/local/php
--with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql
--with-config-file-path=/usr/local/apache/conf
--with-exec-dir=/usr/local/apache/bin
--enable-track-vars --enable-trans-sid


----------------------------------------------------
--with-apxs2=/아파치의 apxs경로
       -> --with-apxs2=/usr/local/apache/bin/apxs
--with-mysql=/MySQL 경로      
       -> --with-mysql=/usr/local/mysql
--with-config-file-path=/php.ini 파일경로
       -> --with-config-file-path=/usr/local/apache/conf
--with-exec-dir=/아파치데몬 실행경로
       -> --with-exec-dir=/usr/local/apache/bin
--enable-track-vars
--enable-trans-sid
----------------------------------------------------

위와 같이 configure 명령으로 컴파일 환경을 설정한 후 make 명령을 실행하여 PHP를 컴파일하고 make install 명령으로 컴파일된 .so 파일을 아파치 경로의 모듈 디렉토리로 자동 설치되도록 합니다.
그러면 다음과 같이 make; make install 명령으로 이 작업을 한번에 처리합니다.

/usr/local/src/php-4.3.4]# make; make install

php 모듈이 아파치 경로에 제대로 설치되어 있는지를 확인하기 위해서는 /usr/local/apache/modules 디렉토리로 이동하여 ls -l libphp4.so 명령을 실행해 봅니다.
cd /usr/local/apache/modules/

/usr/local/apache/mdoules]# ls -l libphp4.so

만일 libphp4.so 파일이 존재하지 않는다면 php 설치에 문제가 있으므로 php 소스를 다시 풀어서 컴파일을 새롭게 합니다.
컴파일한 후 삭제 명령은 make clean 입니다. 그냥 php-4.3.4 디렉토리를 통째로 날려도 상관없습니다.(rm -rf php-4.3.4 )

PHP 소스 디렉토리에 있는 php.ini-dist 또는 php.ini-recommended 파일을 /usr/local/apache/conf 디렉토리로 php.ini 파일명으로 복사합니다.

/usr/local/src/php-4.3.4]# cp php.ini-dist /usr/local/apache/conf/php.ini

/usr/local/apache/conf 디렉토리에 있는 httpd.conf 파일에서 DSO support 항목을 찾아 다음 부분이 설정되어 있는지 체크합니다. 만일 설정되어 있지 않으면 추가해 줍니다.

# Dynamic Share Object (DSO) Support
  LoadModule php4_module     modules/libphp4.so

이상으로 APM (Apache, PHP, MySQL) 설치가 완료되었습니다.

아파치가 정상적으로 작동되는지를 실행해보고 부팅시 아파치 데몬이 자동 작동되게 끔 rc.local 파일에 아파치 실행 파일을 추가합니다.

부팅시 데몬 올리기
vi /etc/rc.d/rc.local 열어서 제일 아래쪽에 다음과 같이 추가합니다.

/usr/local/proftpd/sbin/proftpd start (proftpd 데몬)
/usr/local/apache/bin/apachectl start (apache 데몬)