Apache Install#
Apache 참고 URL#
prechild에대한 설명 http://httpd.apache.org/docs/2.0/mod/perchild.html http://uzoogom.textcube.com/146 아파치2 mpm에 대한 설명 http://blog.naver.com/jacktwo/100060150128 http://susukang98.springnote.com/pages/983798 아파치 dso, static 방식의 설명 http://blog.blueweb.co.kr/119 http://ti.kangjang.net/13 http://www.koreaidc.com/bbs/set_view.php?b_name=idcpds&w_no=94&page=1 아파치 원격 로그 서버 구축 http://www.koreaidc.com/bbs/set_view.php?b_name=idcpds&w_no=91&page=1 아파치 성능 테스트 http://profiles.kr/tag/apache 아파치 subversion연동에대한 설명 http://www.onurmark.co.kr/134
아파치 보안#
httpd.conf 에 설정 ServerSignature Off ServerTokens ProductOnly
아파치 폴더와 파일 퍼미션 설정#
- 디렉토리 퍼미션 : 755
- 디렉토리 퍼미션 일괄 적용(하위폴더 포함)
find . -type d -exec chmod 755 {} \;
- 파일의 퍼미션 : 644
- 파일 퍼미션 일괄 적용(하위폴더 포함)
find . -type f -exec chmod 644 {} \;
apache ssl설정#
SSL 참고 사이트 #
- http://kldp.org/HOWTO/html/SSL-RedHat-HOWTO/ssl-redhat-howto-1.html
- 한국 정보 보호 진흥원
- http://www.lisia21.net/~hoya/study/linux/apache_ssl.html
- http://www.anycert.co.kr/support/4_1ssl_install_cer01_2.html
mod_ssl 설치#
* 컴파일설치시 옵션--enable-ssl --with-ssl=/usr/local/ssl* apxs를 이용한 모듈 추가
/usr/local/apache2/bin/apxs -i -a -c 아파치소스폴더/modules/ssl/mod_deflate.c
key 파일 생성#
openssl genrsa 1024 > xxx.co.kr.key
csr 코드 생성#
openssl req -new -key xxx.co.kr.key -out xxx.co.kr.csr Country(국가 코드) : KR State/Province(시/도의 전체 이름 : Seoul Locality(시,구,군 등의 이름) : Sechou Organization(회사이름) : xxxxxxxx Organization Unit(부서명) : xxxxxx Common Name (host name + domain name) : www.xxx.co.kr Email Address (이메일):admin@linkbp.com A challenge password (비밀번호) : xxxx An optional company name [] : 넘어감
crt 파일 생성#
원래는 인증기관에 요청하여 ca 인증을 해야 한다. 인증기관을 이용하지 않는다면 openssl을 이용하여 직접 인증을 하면 된다. (self-signed) openssl x509 -req -days 365 -in xxx.co.kr.csr -signkey xxx.co.kr.key -out xxx.co.kr.crt self 인증을 한경우 브라우져에서 사용자에게 인증서를 묻게 된다.
아파치 설정#
mkdir /usr/local/apache2/certificate mv xxx.co.kr.csr xxx.co.kr.key xxx.co.kr.crt /usr/local/apache2/certificate cd /usr/local/apache2/certificate vi /usr/local/apache2/conf/ssl.conf >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <VirtualHost *:80> ServerAdmin admin@xxx.co.kr DocumentRoot /home/xxx.co.kr/www ServerName xxx.co.kr ErrorLog logs/xxx.co.kr-error_log CustomLog logs/xxx.co.kr-access_log common SSLCertificateFile /usr/local/apache2/certificate/xxx.co.kr.crt SSLCertificateKeyFile /usr/local/apache2/certificate/xxx.co.kr.key 기본설정은 건들이지 않는다. .... </VirtualHost> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 환경설정 확인 /usr/local/apache2/bin/apachectl -t /usr/local/apache2/bin/apachectl stopssl /usr/local/apache2/bin/apachectl startssl
80번 포트로 접속시 443으로 넘기는 설정#
RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
실행파일 변경#
start 명령어 실행시 $HTTPD -k start -DSSL 명령어가 실행되도록변경 /etc/init.d/httpd /usr/local/apache2/bin/apachectl
apache 압축#
설치#
* 컴파일설치시 옵션--enable-deflate --enable-headers* apxs를 이용한 모듈 추가
/usr/local/apache2/bin/apxs -i -a -c 아파치소스폴더/modules/filters/mod_deflate.c /usr/local/apache2/bin/apxs -i -a -c 아파치소스폴더/modules/metadata/mod_headers.c
환경 설정#
http://httpd.apache.org/docs/2.2/ko/mod/mod_deflate.html 사이트 참고 AddOutputFilterByType DEFLATE text/html text/plain text/xml # 필터를 추가한다 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
Add new attachment
Only authorized users are allowed to upload new attachments.