최근에는 패키지로 배포되는 APM이 여러면에서 상당히 편리하므로 컴파일해서 설치할 필요가 없는 편입니다.

이 문서는 개인적인 차원에서 정리하는 것임을 밝혀 둡니다.

주의1)  -기호 2개가 연속으로 있을 때 조금 긴 -기호로 바뀌어 버리네요. 수정이 잘 안되니, 참고 바랍니다. ^^;;

 

 

1. MySQL

# wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.67.tar.gz/from/http://mysql.byngsoo.net/
# tar xvzf mysql-5.0.67.tar.gz
# cd mysql-5.0.67
# ./configure --prefix=/usr/local/mysql --without-readline --enable-thread-safe-client --with-charset=utf8 --with-extra-charsets=ucs2,euckr CFLAGS="-I/usr/local/include" CXXFLAGS="-I/usr/local/include"
# make
# make install

 

2. Apache

# wget http://apache.tt.co.kr/httpd/httpd-2.2.9.tar.gz
# tar xvzf httpd-2.2.9.tar.gz
# cd httpd-2.2.9
# ./configure --prefix=/usr/local/apache2 --enable-so --enable-auth-digest --enable-dav --enable-dav-fs --with-mpm=worker --enable-rewrite --enable-deflate --enable-headers --enable-expires --enable-log-forensic --enable-dbd --enable-authn-dbm --enable-authn-dbd --enable-authz-dbm
# make
# make install

--with-mpm=worker 설명

Apache2에는 worker와 prefork가 있다. 일반적으로 worker가 메모리를 적게 사용하지만, prefork에 비해서 불안정하다고 알려져 있다.

해당 옵션을 삭제하면 기본으로 prefork가 된다.

서버의 수용 최대 접속 컴파일 단계에서 늘리기

Apache1.3.x에서는 httpd.h 파일의 HARD_SERVER_LIMIT 값을 변경해 컴파일 해야 하지만, Apache2에서는 조금 다르다.

컴파일 전에 아래 값을 변경해 줘야 한다.

server/mpm/prefork/prefork.c
DEFAULT_SERVER_LIMIT 을 256에서 2048로 변경

server/mpm/worker/worker.c
DEFAULT_SERVER_LIMIT 을 16에서 256으로 변경

 

3. PHP

# wget http://kr2.php.net/get/php-5.2.8.tar.gz/from/this/mirror
# tar xvzf php-5.2.8.tar.gz
# cd php-5.2.8
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-iconv=/usr/local --with-libxml-dir=/usr/local/xml --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-zlib-dir=/usr/local --with-freetype-dir=/usr/local --with-curl --enable-mbstring --enable-mbregex --enable-dbase --enable-sigchild --enable-gd-native-ttf --enable-wddx --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --enable-soap --enable-ftp --enable-safe-mode --enable-exif --enable-bcmath
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini

configure 중 libiconv.so.2 문제

아래와 같은 에러가 발생할 수 있다.

Sorry, I cannot run apxs.  Possible reasons follow:

1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)

The output of /opt/modules/apache2/bin/apxs follows:
/opt/modules/apache2/bin/httpd: error while loading shared libraries:libiconv.so.2: cannot open shared object file: No such file or directory
apxs:Error: Sorry, no shared object support for Apache.
apxs:Error: available under your platform. Make sure.
apxs:Error: the Apache module mod_so is compiled into.
apxs:Error: your server binary `/opt/modules/apache2/bin/httpd'..
configure: error: Aborting

해결방법

# ln -s  /usr/local/lib/libiconv.so.2 /usr/lib/

다시 configure 실행

 

4. ZendOptimizer

http://www.zend.com 에서 다운로드

# tar xvzf ZendOptimizer-3.2.8-linux-glibc21-i386.tar.gz
# cd ZendOptimizer-3.2.8-linux-glibc21-i386
# ./install

install스크립트

- 자동으로 설치함
- 설치 중 php.ini 경로 입력 : /usr/local/php/lib
- 설치 중 Apache Control Utility 경로 입력 : /usr/local/apache2/bin/apachectl

ZendOptimizer 제거

- /usr/local/php/lib/php.ini-zend_optimizer.bak 을 php.ini로 바꿈

+ Recent posts