내용으로 건너뛰기
GINS WIKI 긴스 위키
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
현재 위치:
긴스위키 GINS wiki
»
웹 툴 & 개발
»
apache
»
자주쓰는 아파치 설정사항 정리
추적:
webapp:apache:http.conf
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
레퍼런스 : http://blog.paran.com/psycho/7981318 ====== 자주쓰는 아파치 설정사항 정리 ====== ===== 브라우징 제거 ===== 아파치의 디폴트세팅은 브라우징이 enable되어 있다. 브라우징이란 웹브라우저에서 URL입력시 index.html과 같은 정확한 파일명을 생략하고 디렉토리만 적었을 경우, 디렉토리내 파일목록이 출력되는 현상을 말한다. http.conf의 디렉토리 디렉티브내 다음줄 추가 <code apache> Options -Indexes </code> ===== 아파치 인증창 사용 ===== http.conf에서 인증을 걸 디렉토리 디렉티브내 다음줄 추가 <code apache> AllowOverride AuthConfig </code> 해당 디렉토리에 다음과 같이 .htaccess파일(텍스트파일) 생성 <code apache> [root@ns mrtg]# cat .htaccess AuthName "MRTG를 위한 인증" AuthType Basic AuthUserFile /webhosting/mrtg/.auth require valid-user </code> AuthName: 인증창 타이틀 AuthType: 인증형태 AuthUserFile: 인증자들의 리스트를 가진 파일(htpasswd명령어로 생성) -c(create)는 처음 파일을 생성할때 필요하다. <code bash> [root@ns mrtg]# htpasswd -c .auth kang New password: Re-type new password: Adding password for user kang [root@ns mrtg]# ls -l .auth -rw-r--r-- 1 root root 19 May 3 16:54 .auth </code> ===== 각 유저별 www 폴더에 브라우징 권한 부여 ===== <code bash> chmod 711 /home/UserDir chmod 755 /home/UserDir/public_html </code> ======= 외부 IP접근제어 ===== http.conf의 디렉토리 디렉티브내 다음줄 추가 <code apache> AllowOverride AuthConfig Order Allow,Deny Deny from 211.43.134.128/24 xxx.xxx.xxx.xxx/24 Allow from all </code> Deny from 에 접근차단할 ip대를 입력. 슬래쉬(/)뒤의 숫자들은 net mask지정(생략하면 single ip에 대한 차단) 위의 내용을 종합한 예는 다음과 같다. <code apache> Options -Indexes FollowSymLinks MultiViews AllowOverride AuthConfig Order allow,deny Allow from all Deny from 211.43.134.128/24 xxx.xxx.xxx.xxx/24 </code> ====== 가상호스트/Redirect ===== 아래의 예는 dbakorea.pe.kr로 오면, www.dbakorea.pe.kr로 redirect시킨다. 본인은 아파치말고, packet filtering으로 처리하려했으나 실력부족과 게으름으로 인해 그만두었다. <code apache> ServerName dbakorea.pe.kr Redirect / http://www.dbakorea.pe.kr </code> 가상호스트의 전형적인예 <code apache> ServerAdmin kang at dbakorea.pe.kr DocumentRoot /webhosting/dbakorea-mobile ServerName mobile.dbakorea.pe.kr ErrorLog /usr/local/apache/logs/mobile.dbakorea.pe.kr-error_log CustomLog /usr/local/apache/logs/mobile.dbakorea.pe.kr-access_log common ScriptAlias /cgi-bin/ /webhosting/dbakorea-mobile/cgi-bin/ DirectoryIndex login.html </code> ====== 아파치 정보출력제어 ===== 80포트로 telnet후 get / http/1.0하면 나오는 정보제어 <code apache> ServerTokens Prod[uctOnly] : Apache 만 보여줌 ServerTokens Min[imal] : Apache 버젼만 보여줌 ServerTokens OS : 아파치 버젼과 운영체제를 보여줌 ServerTokens Full (또는 지시하지 않았을때) : 모두 보여줌 </code> ===== Offline Browser서비스 거부(출처: http://www.apache.kr.net) ===== WebZip만 테스트해봤지만 %{User-agent} 라는 변수에 'MSIE 6.0b'와 같이 찍힌다. 한마디로 안된다. 다른 용도로 사용될 지 몰라도,.. <code apache> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all Deny from env=go_out #CustomLog /usr/local/apache/logs/access_log common #CustomLog /usr/local/apache/logs/referer_log referer #CustomLog /usr/local/apache/logs/agent_log agent CustomLog /usr/local/apache/logs/access_log combined BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0 BrowserMatch "WebZIP" go_out BrowserMatch "Teleport" go_out BrowserMatch "GetRight" go_out BrowserMatch "WebCopier" go_out ServerAdmin kang@dbakorea.pe.kr DocumentRoot /webhosting/dbakorea ServerName www.dbakorea.pe.kr ServerAlias dbakorea.pe.kr ErrorLog /usr/local/apache/logs/www.dbakorea.pe.kr-error_log CustomLog /usr/local/apache/logs/www.dbakorea.pe.kr-access_log combined </code> ====== 아파치 로그 rotate ===== 디폴트로 아파치로그는 wtmp, lastlog등과 같이 일정 시간, 크기..등등에 따라 로그의 순환이 이루어지지 않는다. logrotate로 3개의 로그를 1달단위로 순환하려면 /etc/logrotate.conf파일의 마지막에 다음과 같이 추가한다. <code apache> # system-specific logs may be configured here /usr/local/apache/log/www.dbakorea.pe.kr-access_log { monthly rotate 2 } </code> ===== 바이러스등에 대한 아파치로그 제거 ===== <code apache> # CodeRed Worm등의 로그제거 SetEnvIf Request_URI default\.ida CodeRed SetEnvIf Referer \.ida CodeRed SetEnvIf Request_URI cmd\.exe CodeRed SetEnvIf Referer cmd\.exe CodeRed SetEnvIf Request_URI root\.exe CodeRed SetEnvIf Referer root\.exe CodeRed ServerAdmin kang at dbakorea.pe.kr DocumentRoot /webhosting/dbakorea ServerName www.dbakorea.pe.kr ServerAlias dbakorea.pe.kr ErrorLog /usr/local/apache/logs/www.dbakorea.pe.kr-error_log CustomLog /usr/local/apache/logs/www.dbakorea.pe.kr-access_log combined env=!CodeRed </code> ====== 설치된 모듈 확인 ===== <code bash> [root@ns /root]# httpd -l Compiled-in modules: http_core.c mod_env.c mod_log_config.c mod_mime.c mod_negotiation.c mod_status.c mod_include.c mod_autoindex.c mod_dir.c mod_cgi.c mod_asis.c mod_imap.c mod_actions.c mod_userdir.c mod_alias.c mod_access.c mod_auth.c mod_so.c mod_setenvif.c mod_php4.c suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec </code> ====== 설정파일 확인(Virtual Host Only by httpd -S) ===== ===== 컴파일 설정보기 ===== <code apache> [root@ns /root]# httpd -V Server version: Apache/1.3.26 (Unix) Server built: Sep 17 2002 00:36:53 Server's Module Magic Number: 19990320:13 Server compiled with.... -D HAVE_MMAP -D HAVE_SHMGET -D USE_SHMGET_SCOREBOARD -D USE_MMAP_FILES -D HAVE_FCNTL_SERIALIZED_ACCEPT -D HAVE_SYSVSEM_SERIALIZED_ACCEPT -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D HTTPD_ROOT="/usr/local/apache" -D SUEXEC_BIN="/usr/local/apache/bin/suexec" -D DEFAULT_PIDLOG="logs/httpd.pid" -D DEFAULT_SCOREBOARD="logs/httpd.scoreboard" -D DEFAULT_LOCKFILE="logs/httpd.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf" -D ACCESS_CONFIG_FILE="conf/access.conf" -D RESOURCE_CONFIG_FILE="conf/srm.conf" [root@ns /root]# </code> ===== SSI를 사용 ===== CGI와 거의 비슷하게 세팅한다. 아파치(Apache)의 설정파일은 이젠 httpd.conf하나로 통일되었으므로 이 파일에 모든 설정을 한다. <code apache> AddType text/html .shtml AddHandler server-parsed .shtml </code> 위의 2개를 꼭 있어야 한다. 그리고 CGI와 마찬가지로 ssi가 실행될 디렉토리에 Includes옵션을 설정한다. 아래의 예는 /www/htdocs/count라는 티렉토리에 CGI, SSI가 실행될 수 있게 한다. <code apache> # 내가 추가(Options에 ExecCGE는 CGI를 사용하기위해, Includes는 SSI를 사용하기 위해) Options ExecCGI Includes AllowOverride None </code> ===== favicon.ico 에러 감추기 ===== vi {..}/httpd.conf <code apache> Redirect 404 /favicon.ico <Location /favicon.ico> ErrorDocument 404 "no favicon" </Location> </code>
webapp/apache/http.conf.txt
· 마지막으로 수정됨: 2024/04/23 22:44 저자
127.0.0.1
문서 도구
문서 보기
이전 판
역링크
맨 위로