PHP 매뉴얼
이전 | 3. 장. 설치 | 다음

# 서버-아파치 2.0

이 섹션은 아파치 2.0에 `PHP`을 설치할 때의 정보와 힌트를 담고 있습니다. 유닉스와 윈도우즈 버전을 모두 다루고 있습니다.

주의
유닉스건 윈도우즈건 아파치 2.0과 `PHP`를 프로덕션 환경에서 사용하지 마십시오.

아파치 2.0 서버에 대한 기본 지식을 얻기 위해서 아파치 문서를 보는 것을 권장합니다.

## PHP와 Apache 2.0 호환 정보

다음 버전의 PHP가 최근 버전의 아파치 2.0에서 작동하는 것으로 알려져 있습니다:

- http://www.php.net/downloads.php에서 얻을 수 있는 PHP 4.3.0 이후 버전.
- 최근의 안정 개발 버전. http://snaps.php.net/php4-latestest.tar.gz에서 소스 코드나 http://snaps.php.net/win32/php4-win32-latest.zip에서 윈도우즈 바이너리를 받을 수 있습니다.
- http://qa.php.net/에서 받을 수 있는 프리릴리즈 버전.
- 언제나 익명 CVS를 통해서 `PHP`을 얻을 수 있습니다.

이 버전들의 `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과 확장만을 선택해야 합니다.

이전 | 처음으로 | 다음
서버-아파치 | 위로 | Servers-Caudium