참고 문서  

시스템 환경: CentOS 6 (32bit)

라이브러리

# yum install gcc libtool apr-util-devel pcre-devel openssl-devel
# wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-1.4.6.tar.gz
# tar xvfz apr-1.4.6.tar.gz
# cd apr-1.4.6
# ./configure && make && make install
# wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-util-1.4.1.tar.gz
# tar xvfz apr-util-1.4.1.tar.gz
# cd apr-util-1.4.1
# ./configure --with-apr=/usr/local/apr && make && make install

다운로드 / 컴파일

http://httpd.apache.org/

# wget http://apache.mirror.cdnetworks.com/httpd/httpd-2.4.2.tar.gz
# tar xvfz httpd-2.4.2.tar.gz
# cd httpd-2.4.2
# ./configure --prefix=/usr/local/apache --enable-module=so --enable-so --enable-rewrite --enable-ssl=shared --with-ssl --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --enable-nonportable-atomics=yes --with-mpm=worker
# make
# make install

방화벽

# vi /etc/sysconfig/iptables

-I INPUT -p tcp --dport 80 -j ACCEPT
-I INPUT -p tcp --dport 443 -j ACCEPT
# service iptables restart
# /usr/local/apache/bin/apachectl start
It works!
# /usr/local/apache/bin/apachectl stop

httpd.conf 설정

기본적인 내용은 생략하였습니다.

# vi /usr/local/apache/conf/httpd.conf

LoadModule deflate_module modules/mod_deflate.so LoadModule unique_id_module modules/mod_unique_id.so LoadModule rewrite_module modules/mod_rewrite.so <directory /> AllowOverride None Options -FollowSymLinks </directory> <directory "/home/*/public_html"> Options FollowSymLinks AllowOverride FileInfo Require all granted # 필터를 추가한다 SetOutputFilter DEFLATE # Netscape 4.x에 문제가 있다... BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.06-4.08에 더 문제가 있다 BrowserMatch ^Mozilla/4\.0[678] no-gzip # MSIE은 Netscape라고 자신을 알리지만, 문제가 없다 # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # 주의: 아파치 2.0.48까지 mod_setenvif의 버그때문에 # 위의 정규표현식은 동작하지 않는다. 원하는 효과를 # 얻기위해 다음과 같이 수정하여 사용한다: BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html # 이미지를 압축하지 않는다 SetEnvIfNoCase Request_URI \ \.(?:gif|jpe?g|png)$ no-gzip dont-vary # 프록시가 잘못된 내용을 전달하지않도록 한다 Header append Vary User-Agent env=!dont-vary # 나머지 주석처리 </directory> <ifmodule log_config_module> ... SetEnvIf Request_URI "^/robots.txt$" dontlog SetEnvIf Request_URI ".gif$" dontlog SetEnvIf Request_URI ".png$" dontlog SetEnvIf Request_URI ".jpg$" dontlog SetEnvIf Request_URI ".jpeg$" dontlog SetEnvIf Request_URI ".js$" dontlog SetEnvIf Request_URI ".css$" dontlog ... CustomLog "|/usr/local/apache/bin/rotatelogs logs/access_log 5M" combined env=!dontlog # CustomLog "logs/access_log" common </ifmodule> Include conf/extra/httpd-mpm.conf Timeout 5 KeepAliveTimeout 3

Timeout, KeepAliveTimeout 값은 직접 테스트하면서 맞는 값을 찾아야 합니다.

mod_security

http://www.modsecurity.org/download/

# yum install libxml2 libxml2-devel
# tar xvfz modsecurity-apache_2.6.5.tar.gz
# cd modsecurity-apache_2.6.5
# ./configure --with-apxs=/usr/local/apache/bin/apxs
# make && make install
# cp modsecurity.conf-recommended /usr/local/apache/conf/modsecurity.conf
# vi /usr/local/apache/conf/httpd.conf
LoadModule security2_module modules/mod_security2.so
Include conf/modsecurity.conf # 아래쪽에 추가

VirtualHost 팁

# mkdir /home/elkha/public_html # chmod 701 /home/elkha /home/elkha/public_html <virtualhost *> ServerAdmin m@elkha.kr DocumentRoot "/home/elkha/public_html" ServerName elkha.kr ServerAlias *.elkha.kr php_admin_value upload_max_filesize 100M php_admin_value user_dir /home/elkha/public_html php_admin_value doc_root /home/elkha </virtualhost>

자동시작

# vi /etc/rc.d/rc.local

rm -rf /usr/local/apache/logs/* # 로그파일 삭제
/usr/local/apache/bin/apachectl start

관련문서

번호 제목 날짜 조회 수
71 검색엔진 등록 file 2010.05.12 142067
70 VPS (가상 호스팅) 비교 file 2010.05.12 61763
» CentOS 6 - Apache 2.4.1 컴파일 / 보안 설정 [1] 2012.04.15 29698
68 마인크래프트 조합법 1 file 2011.04.01 27552
67 리눅스 계정 생성/변경 [67] 2011.04.02 26779
66 Linux Memory 사용량 file 2012.05.16 24807
65 CentOS 6 - MySQL 5.5 설치 [1] file 2012.04.15 21362
64 Lighttpd 설치 file 2010.05.11 20340
63 sAPM file 2010.05.12 20163
62 php + ssh2 file 2010.06.05 20078
61 Linux 설치시 파티션 관리 file 2012.05.12 19057
60 Zend Optimizer + eAccelerator + Suhosin file 2010.05.11 18101
59 MySQL 설치 file 2010.05.11 16920
58 CentOS 6.2 다운로드 / 설치 [1] file 2012.04.15 16616
57 Apache 설치 file 2010.05.11 16552
56 ssh 로그인 제한 2011.04.05 16381
55 리눅스 자동 시작 file 2010.05.21 15801
54 솔라리스 mount options 2013.10.06 15143
53 PHP 설치 file 2010.05.11 14950
52 유닉스 계정 관리 2013.10.15 14453