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

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


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

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


    2. 압축 풀기

    [root@localhost src]# tar xvzf apache_1.3.33.tar.gz
    [root@localhost src]# tar xvzf mod_ssl-2.8.22-1.3.33.tar.gz
    [root@localhost src]# tar xvzf php-4.3.10.tar.gz
    [root@localhost src]# tar xvzf ZendOptimizer-2.6.2-linux-glibc21-i386.tar.gz


    3. mod_ssl configure

    [root@localhost src]# cd mod_ssl-2.8.22-1.3.33
    [root@localhost mod_ssl-2.8.22-1.3.33]# ./configure --with-apache=../apache_1.3.33


    4. apache 설치

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

    [root@localhost mod_ssl-2.8.22-1.3.33]# cd /usr/local/src/apache_1.3.33
    [root@localhost apache_1.3.33]# SSL_BASE=/path-to-openssl (ex : SSL_BASE=/usr)
    [root@localhost apache_1.3.33]# ./configure --prefix=/usr/local/apache --enable-module=so --enable-shared=max --enable-module=ssl
    [root@localhost apache_1.3.33]# make
    [root@localhost apache_1.3.33]# make certificate

    - make certificate 실행시 여러가지 정보를 물어보게 된다. 회사, 주소, 부서 이메일등 ssl 인증키 발급에 필요한 정보가 입력된 csr 코드를 생성하는데 필요한 정보들이기 때문에 정확한 정보를 입력한다. 마지막에 패스워드 설정 부분은 n 을 두번 입력.(y를 선택할경우 apachectl startssl 실행시 패스워드를 물어본다)

    - make certificate 실행시 아무 정보를 입력하지 않고 엔터키만 입력한후 마지막의 패스워드 설정부분만 n 을 선택해서 설치를 진행해도 됨. 이 경우는 apache+mod_ssl+php 의 설치가 완료된 후 openssl 명령으로 csr 코드를 재생성 할 수 있다.

    [root@localhost apache_1.3.33]# make install

    +--------------------------------------------------------+
    | You now have successfully built and installed the      |
    | Apache 1.3 HTTP server. To verify that Apache actually |
    | works correctly you now should first check the         |
    | (initially created or preserved) configuration files   |
    |                                                        |
    |   /usr/local/apache/conf/httpd.conf
    |                                                        |
    | and then you should be able to immediately fire up     |
    | Apache the first time by running:                      |
    |                                                        |
    |   /usr/local/apache/bin/apachectl start
    |                                                        |
    | Or when you want to run it with SSL enabled use:       |
    |                                                        |
    |   /usr/local/apache/bin/apachectl startssl
    |                                                        |
    | Thanks for using Apache.       The Apache Group        |
    |                                http://www.apache.org/  |
    +--------------------------------------------------------+

    - 위와 같이 출력되면 설치 완료. httpd.conf 파일을 수정한 후 apache 데몬 실행. 설치중에 패스워드 설정을 하였다면, 패스워드를 입력하고 데몬을 실행한다. ssl 서버로 시작하기 위해서 startssl 명령으로 시작.

    [root@localhost apache_1.3.33]# /usr/local/apache/bin/apachectl startssl


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

    [root@localhost apache_1.3.33]# cd /usr/local/src/php-4.3.10
    [root@localhost php-4.3.10]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/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

    - php configure시에 에러가 발생하는 경우는 서버에 필요한 패키지가 설치되어 있지 않기 때문이거나 필요한 패키지의 버전이 낮아서 발생하는 경우가 대부분이다. 어떤패키지를 체크하는 부분에서 에러가 발생하는지 확인 한 후 yum install 명령으로 필요한 패키지를 설치 한 후 다시 configure 하거나, 필요하지 않는 패키지일 경우 configure 옵션에서 삭제하고 configure를 다시 실행한다.
    [root@localhost php-4.3.10]# make
    [root@localhost php-4.3.10]# make install
    [root@localhost php-4.3.10]# cp php.ini-dist /usr/local/php/lib/php.ini


    6. ZendOptimizer 설치

    [root@localhost php-4.3.10]# cd ZendOptimizer-2.6.2-linux-glibc21-i386
    [root@localhost ZendOptimizer-2.6.2-linux-glibc21-i386]# ./install.sh

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


    7. 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/apache/conf
    [root@localhost conf]# /usr/local/apache/bin/apachectl stop
    [root@localhost conf]# /usr/local/apache/bin/apachectl startssl