회원가입| 아이디/비밀번호
 
보안서버(SSL) 구축하기- apache 2.2.4

    아파치 2.x의 경우는 1.3과는 달리 mod_ssl을 별도로 추가해서 설치할 필요가 없다.
    apache2.x 버전 자체에 모듈이 포함되어 있기 때문에 apache 설치시에 --enable-ssl 옵션만 추가해서 사용하면 된다.

    mysql, gd, imap등의 패키지는 이미 깔려 있는 상태이며, 모든 패키지는 /usr/local/src/ 디렉토리 안에 다운로드 받은 상태로 설치를 시작한다.


    1. 소스를 다운 받은 디렉토리로 이동

    [root@localhost root]# cd /usr/local/src


    2. 압축 풀기

    [root@localhost src]# tar xvzf httpd-2.2.4.tar.gz
    [root@localhost src]# tar xvzfp php-5.2.3.tar.tar
    [root@localhost src]# tar xvzf ZendOptimizer-2.6.2-linux-glibc21-i386.tar.gz


    3. apache 설치

    - apache를 설치하기전에, source 디렉토리내의 server/mpm/prefork/prefork.c 파일에서 #define DEFAULT_SERVER_LIMIT 부분을 1024로 수정 한다.  디폴트값 256으로 컴파일 하게 되면, 아파치 데몬이 최대 256개 까지 밖에 뜰수 없게 된다, 이런 경우는 서버의 접속량이 많을경우 서버의 자원이 남아도 더 이상의 데몬을 띄우지 못해서 서버가 느려지게 된다.

    [root@localhost src]# cd httpd-2.2.4
    [root@localhost httpd-2.2.4]# ./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared --enable-rewrite --enable-ssl
    [root@localhost httpd-2.2.4]# make
    [root@localhost httpd-2.2.4]# make install


    4. PHP 설치 (DB,imap,gd,apache)

    - 아래의 옵션을 모두 적용하여 php를 설치 할 경우는 몇몇 패키지가 설치되어 있지 않아 에러가 발생하게 된다. php-5.2.3버전의 경우는 libxml2, libxml2-devel 패키지의 버전문제로 설치가 되지 않기 때문에 패키지 버전을 업그레이드 한다.(http://rpmfind.net 에서 OS에 맞는 최신 패키지를 찾아서 설치한다)
    그리고, freetype, libjpeg, libpng등의 라이브러리와 관련된 에러메지시가 발견되면 freetype-devel, libjpeg-devel, libpng-devel 패키지를 추가로 설치하고 php설치를 진행한다.

    [root@localhost httpd-2.2.4]# cd /usr/local/src/php-5.2.3
    [root@localhost php-5.2.3]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin/apxs --enable-sysvshm=yes --enable-sysvsem=yes --enable-debug=no --enable-track-vars=yes --enable-url-fopen-wrapper=yes --with-ttf --with-png-dir=/usr --with-zlib-dir --with-jpeg-dir=/usr --with-gdbm=/usr --enable-ftp --with-tiff-dir=/usr --enable-memory-limit --enable-mbstring --with-expat-dir=/usr --enable-sockets --enable-wddx --with-freetype-dir=/usr --enable-bcmath --enable-mbstr-enc-trans --enable-mbregex --enable-exif --with-gd --enable-gd-native-ttf --enable-gd-imgstrttf --enable-calendar --with-openssl=/usr
    [root@localhost php-5.2.3]# make
    [root@localhost php-5.2.3]# make install
    [root@localhost php-5.2.3]# cp php.ini-dist /usr/local/php/lib/php.ini


    5. ZendOptimizer 설치

    [root@localhost php-5.2.3]# cd /usr/local/src/ZendOptimizer-2.6.2-linux-glibc21-i386
    [root@localhost ZendOptimizer-2.6.2-linux-glibc21-i386]# sh install.sh

    - install.sh 파일을 실행한 후 apache와 php관련된 정보를 입력한 후 설치를 완료한다.


    6. httpd.conf 파일 수정후 apache 리스타트

    - httpd.conf 파일에 php가 인식되도록 아래 구문을 추가한다.

       #################################################
        AddType application/x-httpd-php .php .html .htm
        AddType application/x-httpd-php-source .phps
       #################################################

    - httpd.conf 수정후 apache 데몬은 재실행한다. ssl 서버로 시작하기 위해서 startssl 명령으로 시작.

    [root@localhost ZendOptimizer-2.6.2-linux-glibc21-i386]# cd /usr/local/apache2/conf
    [root@localhost conf]# /usr/local/apache/bin/apachectl stop
    [root@localhost conf]# /usr/local/apache/bin/apachectl startssl