이 섹션은 PHP의 아파치 인스톨에 관한 주의와 힌트를 포함하고 있습니다. 유닉스와 윈도우즈 버전 양쪽 모두 대응합니다. 아파치 2에 대한 안내와 주의는 별도의 페이지에 존재합니다.
아래 10번째 줄의 configure에 설정 옵션의 완전 목록의 인수들을 선택할 수 있습니다. 안내가 적합하게 하기 위해서, 버전 번호는 제거되어 있습니다. 'xxx'를 파일에 따라 적합한 값으로 변경해야 합니다.
아파치 설치와 유닉스 종류에 따라서, 서버를 중지하고 재시작하는 많은 방법이 존재합니다. 아래는 각각의 아파치/유닉스 설치에 서버를 재시작하는 일반적인 명령입니다. /path/to/을 시스템에 어플리케이션 경로로 치환해야만 합니다.
예 3-5. 아파치를 재시작하는 예제 명령
|
apachectl과 http(s)dctl 바이너리 위치는 다양합니다. 시스템에 locate나 whereis나 which 명령이 있으면, 이들이 서버 제어 프로그램을 찾는 데 도움을 줄 것입니다.
아파치에 PHP를 컴파일하는 다른 예제들:
아파치의 httpd.conf 파일에서 LoadModule 명령을 이용하여 아파치에 불러들일 수 있는 libphp4.so 공유 라이브러리를 작성합니다. PostgreSQL 지원은 libphp4.so 라이브러리 안에 포함합니다.
아파치를 위한 libphp4.so 공유 라이브러리를 작성하고, php.ini 파일에서 extension 지시어를 사용하거나 스크립트에서 dl() 함수를 이용하여 불러들일 수 있는 pgsql.so 공유 라이브러리를 작성합니다.
libmodphp4.a 라이브러리, mod_php4.c과 수반하는 파일들을 작성하고, 아파치 소스 트리의 src/modules/php4 디렉토리에 복사합니다. 그 후에 --activate-module=src/modules/php4/libphp4.a을 사용하여 아파치를 컴파일하면, 아파치 빌드 시스템이 libphp4.a을 만들고 httpd 바이너리에 정적으로 링크합니다. PostgreSQL 지원은 httpd 바이너리에 직접 포함합니다. 최종 결과로 아파치의 모든 요소와 PHP의 모든 요소를 포함하는 하나의 httpd을 만들어냅니다.
PostgreSQL 지원을 직접 httpd에 포함하는 대신, php.ini 파일이나 dl()을 이용하여 PHP에 불러들일 수 있는 pgsql.so 공유 라이브러리를 얻는 것을 제외하면, 이전과 동일합니다.
여러 방법으로 PHP를 빌드하는 선택에서, 각 방법의 장단점을 고려해야 합니다. 공유 오브젝트로 빌드하면 아파치와 별도로 컴파일 할 수 있고, PHP에 추가하거나 변화가 있을 때 모든 것을 재컴파일 할 필요가 없어집니다. PHP를 아피치에 넣어서 빌드(정적 방법)하면 PHP는 빨리 읽혀지고 빠르게 작동합니다. 자세한 정보는 DSO 지원에 관한 아파치 웹페이지를 참고하십시오.
참고: 아파치의 기본 httpd.conf는 다음과 같은 섹션으로 배포됩니다:
이를 "Group nogroup"이나 비슷한 것으로 ("Group daemon"도 일반적입니다) 변경하지 않으면 PHP는 파일을 열 수 없습니다.
참고: --with-apxs=/path/to/apxs을 사용할 때 apxs의 설치된 버전을 지정하십시오. 아파치 소스에 존재하는 apxs버전을 사용해서는 절대 안되며 시스템에 설치된 것이여야 합니다.
윈도우즈 아파치 1.3.x에 PHP를 작동하는 방법은 두가지가 존재합니다. 한가지는 CGI 바이너리(php.exe)를 사용하는 것이고, 다른 방법은 아파치 모듈 DLL을 사용하는 것입니다. 두 경우 모두 아파치 서버를 중지하고, 아파치가 PHP와 작동하도록 httpd.conf를 수정해야 합니다.
윈도우즈에서 SAPI 모듈은 더욱 안정화할 필요가 있기 때문에, 보다 투명하고 안전한 CGI 바이너리를 사용하기를 권장합니다.
아파치에 PHP를 설정하는 일부 변경이 존재할 수 있지만, 이는 초보가 사용하기에도 충분히 간단합니다. 설정 지시어에 대한 내용은 아파치 Docs를 참고하십시오.
매뉴얼 설치 단계에서 설명한 대로 PHP 패키지를 c:\php\에 풀었다면, CGI 바이너리를 설정하기 위해 아파치 설정 파일에 다음의 줄을 추가해야 합니다.
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php .phtml
Action application/x-httpd-php "/php/php.exe"
주의 |
CGI 설치를 사용하면, 서버는 몇몇 가능한 공격에 노출됩니다. 공격으로부터 보호하기 위해서 CGI 보안섹션을 읽어보십시오. |
PHP를 아파치 모듈로 사용할 때는, php4ts.dll을 windows/system(윈도우즈 9x/Me)이나 winnt/system32(윈도우즈 NT/2000)이나 windows/system32(윈도우즈 XP) 디렉토리에 복사하십시오. 이전의 파일은 덮어씌우십시오. 그 후에 다음의 줄을 아파치 httpd.conf 파일에 추가해야 합니다:
좋아하는 편집기로 httpd.conf를 열어서 LoadModule 지시어에 위치시키고, 다음의 줄을 목록의 마지막에 추가하십시오. PHP 4는: LoadModule php4_module "c:/php/sapi/php4apache.dll" PHP 5는: LoadModule php5_module "c:/php/sapi/php5apache.dll"
아파치 윈도우즈 인스톨러를 사용한 후에 mod_php4.c을 AddModule 지시어로 정의해야 합니다. 특히 CrearModuleList 지시어가 정의되어 있으면, 몇줄 아래에 존재할 것입니다. Addmodule 엔트리를 발견하면, 다음 줄을 목록의 마지막에 추가하십시오: AddModule mod_php4.c PHP5는 AddModule mod_php5.c을 사용하십시오.
# AddType allows you to tweak mime.types과 비슷한 구문을 찾아보십시오. 몇몇 AddType 엔트리를 발견하면, 다음 줄을 목록의 마지막에 추가하십시오: AddType application/x-httpd-php .php. 여기서 PHP로 처리할 확장자를 선택할 수 있습니다. .php는 단순한 권장 사항입니다. 심지어 .html을 포함할 수도 있고, .php3를 하위 호완을 위해 추가할 수 있습니다.
설정 파일을 변경한 후에는 서버를 재시작해야 합니다. 예를 들어, 아파치를 윈도우 서버로 사용한다면, NET STOP APACHE, NET START APACHE를 순차적으로 사용합니다. 혹은 일반적인 바로가기를 사용할 수 있습니다.
소스 코드 하이라이팅 기능을 사용은 두가지 방법이 있지만, 설치 방법에 의존합니다. 아파치에서 PHP를 SAPI 모듈로 사용하도록 설정했다면, 다음 줄을 httpd.conf(위에서 AddType application/x-httpd-php .php을 추가한 위치에)에 추가해여 이 기능을 사용할 수 있습니다: AddType application/x-httpd-php-source .phps.
아파치에서 PHP를 CGI 바이너리로 사용하도록 설정했다면, show_source() 함수를 사용할 필요가 있습니다. 간단히 PHP 스크립트 파일을 만들어서 이 코드를 추가하십시오: <?php show_source ("original_php_script.php"); ?>. original_php_script.php는 소스를 보고 싶은 파일 이름으로 변경하십시오.
참고: 윈-아파치에서 "c:\directory\file.ext"와 같은 경로 구문의 모든 백슬래쉬는 "c:/directory/file.ext"처럼 슬래쉬로 변경해야만 합니다.