2010년 1월 21일 목요일

PHP - eAccelerator 및 suhosin 설치기

PHP 설치 후 보안 및 성능에도 신경 써보자?!

eAccelerator는 오픈소프 php 엑셀레이터 이다. 최적화 및 동적으로 컨텐츠를 캐쉬하는 기능을 포함하여 php로 작성된 웹페이지의 퍼포먼스를 향상시킨다.
 
APM(Apache + php + mysql)은 이미 설치 되어있다고 가정하고 진행하겠다.
APM은 수동방식인 - 소스컴파일 방식으로 설치 되었다고 가정한다.

1. eaccelerator 설치
공식홈페이지에서 자료를 다운 받아 설치한다. http://sourceforge.net/projects/eaccelerator/

# wget http://jaist.dl.sourceforge.net/sourceforge/eaccelerator/eaccelerator-0.9.5.2.tar.bz2

다운 받었으면 적절한 곳에 압축을 풀고 설치를 시도 하겠다.

# cd /usr/local/src
# tar xzvf eaccelerator-0.9.5.2.tar.bz2 && cd eaccelerator-0.9.5.2
# /usr/local/php/bin/phpize
# ./configure \
--enable-eaccelerator=shared \
--with-php-config=/usr/local/php/bin/php-config
# make && make test && make install

설치가 완료 되면 캐싱된 파일이 저장될 디렉토리를 지정 해줘야 한다.

# cd /var/tmp
# mkdir eaccelerator
# chown www eaccelerator
# chmod 700 eaccelerator

이로써 eaccelerator에 대한 설치 는 끝난다.

2. suhosin 설치
취약점 분석 등에서 뛰어난 재능을 보여주었을 뿐만 아니라 PHP 보안 강화를 위한 hardened php project 를 진행하고 있는 보안 전문가 Stefan Esser 가 PHP 보안 강화 솔루션인 수호신을 내놓았으며 영문으로 Suhosin 이라고 명명했다.

# cd /usr/local/src
# wget http://download.suhosin.org/suhosin-0.9.29.tgz
# tar xzvf suhosin-0.9.29.tgz
# cd suhosin-0.9.29
# /usr/local/php5/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install

마지막으로 php.ini를 수정하여 설치한 모듈들을 zend extension이나 일반 extension으로 로딩한다.

[suhosin]
extension="no-debug-non-zts-20060613/suhosin.so"

[eAccelerator]
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.9
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3
zend_optimizer.version=3.3.9
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

어떤가? 간단하지 않는가?

댓글 없음:

댓글 쓰기