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로 설정한 아파치 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-paht=/some/path
를 사용합니다.
php.ini-recommended를 선택한다면, 안에서 변경 목록을 읽어서,
어떤 PHP 행동에 영향을 주는지 확인하십시오.
14. httpd.conf를 수정하여 PHP 모듈을 적재합니다. LoadModule
구문 우측에서는 시스템의 PHP 모듈 경로를 가르켜야 합니다.
위에서 make install이 이미 이를 추가했을 수도 있지만,
꼭 확인해보십시오.
For PHP 4:
LoadModule php4_module modules/libphp4.so
For PHP 5:
LoadModule php5_module modules/libphp5.so
15. 어떠한 확장자를 PHP로 해석할지 아파치에 알려줍니다. 예를 들어,
아파치가 .php 파일을 PHP로 해석하게 합시다. 단순히 아파치
AddType 지시어를 사용하는 대신, exploit.php.jpg 등의 파일이
업로드되어 PHP로 실행되는 것을 막습니다. 이 예제를 사용하여,
PHP로 해석할 어떠한 확장자라도 단순히 추가할 수 있습니다.
예시를 위해 .phtml을 추가하겠습니다.
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
또는, .php, .php2, .php3, .php4, .php6, .phtml 파일을 PHP로 실행하게
할 수 있습니다. 이렇게 하면 됩니다:
<FilesMatch "\.ph(p[2-6]?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
.phps 파일을 PHP 소스 파일로 실행하려면, 다음을 추가합니다:
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
16. 아파치 서버를 시작하는 정상 절차를 사용합니다, 즉:
/usr/local/apache2/bin/apachectl start
- 또는 -
service httpd restart