FCGI 설치
http://www.fastcgi.com
에서 mod_fastcgi-2.4.2.tar , fcgi-2.4.0.tar 받아온다
– mod_fastcgi 생성
mod_fastcgi-2.4.2.tar 압축 푼 디렉 토리에서
Makefile.AP2 파일에서 top_dir=/home/fs/apmz/apache2로 설치된 아파치
경로 지정
cp Makefile.AP2 Makefile
make ; make install ( 아파치 2.2.2 버전의경우 헤더파일 없다는 에러 발생함)
ls /home/fs/apmz/apache2/modules/mod_fastcgi.so 존재 확인후
httpd.conf 에 모듈 추가 라인 삽입
“LoadModule fastcgi_module modules/mod_fastcgi.so”
– fcgi C 개발 킷 설치
fcgi-2.4.0.tar 압축 푼디렉토리 ./configure
–prefix=/home/fs/apmz/apache2/fcgi2;make ;make install
* FAST CGI 예제는 추후에…
3. PHP 설치
설치 하기 전 각종 라이브러리 설치 되어 있어야 함
libxml2 – http://xmlsoft.org/
zlib – http://www.gzip.org/zlib/
– 그래픽 지원 (필수 아님 )
libpng – http://libpng.sourceforge.net/
– 그래픽 지원 (필수 아님 )
free type – http://www.freetype.org/
– 그래픽 지원 (필수 아님 )
libjpeg – http://www.ijg.org/
– 그래픽 지원 (필수 아님 )
gd – http://www.boutell.com/gd/
– 그래픽 지원 (필수 아님 )
iconv – http://www.gnu.org/software/libiconv/
– ICOV() 지원 (필수 아님 )
라이브러리 설치가 모두 되었다면
가. php5 해당 소스를 압축을 푼 디렉토리에서 configure 수행
풀 옵션 실행시
./configure –prefix=/home/fs/apmz/php5
–mandir=/home/fs/apmz/php5/man –with-charset=euc_kr
–with-apxs2=/home/fs/apmz/apache2/bin/apxs
–with-mysql=/home/fs/apmz/mysql5
–with-config-file-path=/home/fs/apmz/php5/etc
–with-exec-dir=/home/fs/apmz/apache2/bin –enable-track-vars
–with-fastcgi –with-libxml-dir=/home/fs/apmz/libs/libxml
–with-gd-dir=/home/fs/apmz/libs/libgd
–with-jpeg-dir=/home/fs/apmz/libs/libjpeg
–with-zlib-dir=/home/fs/apmz/libs/libzlib
–with-iconv=/home/fs/apmz/libs/libiconv
FastCGI 설정
기존에 있던 mod_php를 모듈은 제거한다.
/etc/httpd/conf.d
$ mv php.conf php.conf.back
/cgi-bin/
아래 fastCGI 실행스크립트를 만들고 실행 권한을 부여한다.
#
Tested CentOS 5.x
### Set PATH ###
PHP_CGI=/usr/bin/php-cgi
PHP_FCGI_CHILDREN=10
PHP_FCGI_MAX_REQUESTS=10000
#
FCGI_WEB_SERVER_ADDRS=127.0.0.1
### no editing below ###
export
PHP_FCGI_CHILDREN
export PHP_FCGI_MAX_REQUESTS
exec $PHP_CGI
fastCGI를 위한 apache의 Virtual Host 세팅이다. 여기서 AddHandle와
Action가 핵심.
*:80>
ServerAdmin spring@mymail.way2java.net
DocumentRoot /share/webroot/textcube
ServerName
spring.way2java.net
ErrorLog logs/spring.way2java.net-error_log
CustomLog logs/spring.way2java.net-access_log common
ScriptAlias /cgi-bin/ “/share/webroot/cgi-bin/”
<Directory
“/share/webroot/textcube”>
Options -Indexes
FollowSymLinks +ExecCGI
AllowOverride FileInfo
AddHandler php5-fastcgi .php
Action
php5-fastcgi /cgi-bin/php-fcgi
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
이제 마지막으로 apache를 재시작하면 된다. 혹시라도 설정파일에 오류가 있을 수 있으니 apachectl -t 로
설정이 맞는지 확인해보자.
$ service
httpd restart