서버-아파치 2.0
이 섹션은 아파치 2.0에 PHP을 설치할 때의 정보와 힌트를
담고 있습니다. 유닉스와 윈도우즈 버전을 모두 다루고
있습니다.
주의 |
유닉스건 윈도우즈건 아파치 2.0과 PHP를 프로덕션
환경에서 사용하지 마십시오.
|
아파치 2.0 서버에 대한 기본 지식을 얻기 위해서 아파치 문서를 보는 것을 권장합니다.
PHP와 Apache 2.0 호환 정보
다음 버전의 PHP가 최근 버전의 아파치 2.0에서 작동하는 것으로 알려져
있습니다:
이 버전들의
PHP은 아파치 2.0.40 이후에 호환됩니다.
참고:
Apache 2.0 SAPI 지원은 PHP 4.2.0에서 시작되었습니다.
PHP 4.2.3은 아파치 2.0.39에서 작동하지만, PHP 4.2.3과 더 이전 버전의
아파치는 사용하지 마십시오. PHP 4.3.0 이후와 가장 최신의 아파치2를
사용하는 것을 권장합니다.
위 모든 버전의 PHP는 여전히 아파치 1.3.x에서도
잘 동작합니다.
리눅스에서 PHP와 아파치 2
가장 최신 버전의 아파치 2.0와 위에서
언급한 적합한 PHP 버전을 받으십시오. 이 퀵가이드는 아파치 2.0에서
PHP를 시작하는 기본 지식만을 제공합니다. 자세한 정보는
아파치 문서를 읽어보십시오.
안내가 틀리지 않도록, 버전 번호는 제거되어 있습니다. 여기에서 'NN'을
파일에 따른 적합한 값으로 교체해야 합니다.
예 3-6.
설치 안내 (아파치 2 공유 모듈 버전)
1. gzip -d httpd-2_0_NN.tar.gz
2. tar xvf httpd-2_0_NN.tar
3. gunzip php-NN.tar.gz
4. tar -xvf php-NN.tar
5. cd httpd-2_0_NN
6. ./configure --enable-so
7. make
8. make install
이제 /usr/local/apache2에 기본 MPM prefork와 동적 모듈 지원을
설정한 Apache 2.0.NN을 사용할 수 있습니다.
설치를 확인하기 위해 아파치 서버를 일반 프로시져로 시작해봅니다. 즉:
/usr/local/apache2/bin/apachectl start
그리고 PHP 설정을 하기 위해서 서버를 중지합니다:
/usr/local/apache2/bin/apachectl stop
9. cd ../php-NN
10. 이제, PHP를 설정합니다. 어떤 확장을 사용할 지 등의 PHP의 많은
옵션을 지정할 차례입니다. ./configure --help로 사용할 수 있는 옵션
목록을 얻을 수 있습니다. 예제에서는 간단히 아파치 2와 MySQL 지원을
설정합니다. apxs의 경로는 시스템에 따라 다를 수 있고, 심지어 이름이
apxs2일 수도 있습니다.
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
11. make
12. make install
설치 후에 설정 옵션을 바꾸길 원한다면, 단지 바로 위의 세 단계만을
반복하면 됩니다. 아파치를 재시작 하면 새 모듈이 작동합니다. 아파치를
다시 컴파일할 필요는 없습니다.
특별히 지정하지 않는 한, 'make install'은 PEAR, phpize 등의 PHP 툴,
PHP CLI 등등을 함께 설치합니다.
13. php.ini 설정
cp php.ini-dist /usr/local/lib/php.ini
PHP 옵션을 설정하기 위해 .ini를 수정할 수 있습니다. php.ini를 다른
위치에 놓기를 원한다면, 10번째 단계에서
--with-config-file-path=/some/path를 사용하십시오.
php.ini-recommended를 선택한다면, 안에 쓰여있는 변경점을 주의깊게
읽어보십시오. 그 옵션들은 PHP의 작동에 영향을 미칩니다.
14. PHP 모듈을 읽기 위해 httpd.conf를 수정합니다. LoadModule 구문의
오른쪽에는 시스템에 존재하는 PHP 모듈의 경로를 지정해야만 합니다.
위쪽의 make install이 이미 이 작업을 마쳤을 수 있지만, 확인을
해보아야 합니다.
PHP 4는:
LoadModule php4_module libexec/libphp4.so
PHP 5는:
LoadModule php5_module libexec/libphp5.so
15. 아파치에 PHP가 처리할 확장자들을 알려줍니다. 예를 들어,
.php 확장자를 PHP가 처리하게 합시다. 공백으로 구분하여 어떠한
확장자라도 PHP가 처리하도록 추가할 수 있습니다. 예제로
.phtml을 추가했습니다.
AddType application/x-httpd-php .php .phtml
.phps를 하이라이트된 PHP 소스로 보여주는 것이 일반적입니다.
이렇게 설정합니다:
AddType application/x-httpd-php-source .phps
16. 아파치를 시작하는 일반 프로시저를 사용합니다. 즉:
/usr/local/apache2/bin/apachectl start |
|
위 단계를 따라하면 PHP을 SAPI
모듈로 지원하는 아파치 2.0이 설치됩니다. 물론, 아파치와
PHP에는 많은 설정 옵션이 존재합니다. 소스 트리에서
./configure --help를 사용하여 정보를 얻을 수 있습니다.
멀티쓰레드 버전의 아파치 2.0을 빌드하려면 기본 MPM 모듈
prefork 대신에 worker나
perchild을 사용해야 합니다. 이를 위해서는 6번째
단계의 설정줄에 --with-mpm=workter나
--with-mpm=perchild를 추가해야 합니다.
하려고 하는 일을 이해하고 결과에 주의를 기울이십시오. 자세한 정보는
MPM 모듈에 대한 아파치 문서를
읽어보십시오.
참고:
멀티쓰레드 버전의 아파치를 빌드하려면 시스템이 쓰레드를 지원해야 합니다.
이는 또한 PHP이 실험적인 젠드 쓰레드 안전(ZTS)으로
빌드하게 합니다. 그리하여 모든 확장을 사용할 수 없습니다. 권장하는
설정은 아파치를 기본 prefork MPM 모듈로 빌드하는
것입니다.
윈도우즈에서 PHP와 아파치 2.0
아파치 2.0의 윈도우즈 특정
정보를 읽어보십시오.
주의 |
아파치 2.0은 윈도우즈 NT 4.0이나 윈도우즈 2000, 윈도우즈 XP에서
작동하도록 설계되었습니다. 현 시점에서 윈도우즈 9x 지원은 완성되지
않았습니다. 아파치 2.0은 현 시점에서 이런 플랫폼에서는 작동하지
않을 것입니다.
|
가장 최신 버전의 아파치 2.0와 위에서
언급한 적합한 PHP 버전을 받으십시오. 수동 설치 단계를 확인하고
PHP과 아파치의 결합으로 돌아오십시오.
윈도우즈 아파치 2.0에서 PHP를 설치하는 방법은 두가지가
있습니다. 하나는 CGI 바이너리를 사용하는 것이고, 다른 것은 아파치 모듈
DLL을 사용하는 것입니다. 어느 경우에도 아파치 서버를 중지하고, 아파치가
PHP과 작동하도록 httpd.conf를 수정해야 합니다.
CGI 바이너리로 설치할 때, 다음의 세 줄을 아파치
httpd.conf 설정 파일에 추가해야 합니다.
예 3-7. CGI로의 PHP와 아파치 2.0 ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe" |
|
PHP을 아파치 2.0에 모듈로 사용하려면 PHP 4의
php4ts.dll이나 PHP 5의
php5ts.dll을
winnt/system32(윈도우즈 NT/2000)이나
windows/system32(윈도우즈 XP)로 옮겨야만 합니다.
파일이 이미 존재할 경우 덮어씌웁니다. 아파치 2.0에 PHP
모듈을 설정하려면 아파치 httpd.conf 설정 파일에 다음의 두
줄을 추가합니다.
아파치 2.0에서 PHP 모듈:
예 3-8. 모듈로의 PHP와 아파치 2.0 ; PHP 4는 아래와 같이 합니다:
LoadModule php4_module "c:/php/sapi/php4apache2.dll"
AddType application/x-httpd-php .php
; PHP 5는 아래와 같이 합니다:
LoadModule php5_module "c:/php/sapi/php5apache2.dll"
AddType application/x-httpd-php .php |
|
참고:
위 예제에서 c:/php/을 PHP의 실제
경로로 교체해야 합니다. LoadModule 지시어에서
php4apache2.dll이나
php5apache2.dll을 사용하는 점에 주의하십시오.
아파치 1.3.x와 작동하도록
설계한 php4apache.dll이나
php5apache.dll이 아닙니다.
주의 |
설치에서 다른 PHP 버전의 dll 파일과 섞이지 않게
하십시오. 다운로드한 PHP 버전에 들어있는 dll과 확장만을 선택해야 합니다.
|