RadarURL
Skip to content
조회 수 1494 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

ServerType   Standalone
# 서버 타입을 설정하는 지시자 이다.
# ServerType 에서 설정할 수 있는 것은 Standalone 과 inetd 두가지 설정이 있다.

ServerRoot  /usr/local/apache

# 아파치 서버의 루트 디렉토리를 설정한다.

PidFile  /usr/local/apache/logs/httpd.pid
# 아파치가 실행될 때 생성되는 httpd.pid 파일이 생성될 경로를 지정한다.

ScoreBoardFile  /usr/local/apache/logs/httpd.scoreboard
#부모 프로세스가 자식 프로세스와 의사 소통을 할 때 사용되는 지시자와 그 파일을 지정한다.

Timeout    300
# Timeout은 클라이언트에서 서버로 접속할 때 클라이언트나 서버의 통신장애로 인해 300초 동안 클라이언트에서
# 완벽한 처리를 하지 못할 때 클라이언트와의 연결을 해제한다.

KeepAlive  On
# 서버와의 지속적인 연결을 하도록 설정되어 있다. 즉 한번의 연결에 대해 한번의 요청만 처리하는 것이 아니라 또 다른
# 요청을 기다리게 된다. 하지만 지속적인 연결 시간은 KeepAliveTimeout 값에 설정한 만큼 유지된다.
# KeepAlive를 Off로 설정하게 되면 클라이언트로 부터 한번의 요청을 받은 후 바로 접속을 해제한다.
# 특별한 경우가 아니라면 On 상태로 유지하는 것이 좋다.

MaxKeepAliveRequests    100
# KeepAlive 상태에서 처리할 최대 요청 처리 건수를 설정한다.
# 보통의 웹 사이트에서는 설정값 100으로 충분하다.

KeepAliveTimeout   15
# KeepAlive 상태를 유지할 시간을 초 단위로 설정한다.

MinSpareServers   5
# 아파치가 실행될 때 최소 예비 프로세스 수를 설정한다. 이 값에 의해 현재 nobody 소유의 아파치 프로세스가 5보다
# 작을 경우 자동으로 부족한 만큼의 아파치 프로세스 생성한다.
# 8 정도 설정하는 것이 적당하다.

MaxSpareServers  10
# 아파치가 실행될 때 최대 예비 프로세스 수를 설정한다. 이 값에 의해 현재 nobody 소유의 아파치 프로세스가 10보다
# 클 경우 불필요한 프로세스를 제거한다.
# 20 정도 설정하는 것이 적당하다.

StartServers   5
# 아파치가 실행될 때 생성 시키는 자식 프로세스 수이다.
# 하지만 이 값이 MinSpareServers 값보다 작을 경우 아파치 실행 후에 바로 MinSpareServers 의 설정만큼 생성하기
# 때문에 아무런 의미가 없게 된다. StartServer 값과 MinSpareServers 값은 같은 값을 설정하는것이 바람직하다.

MaxClients   150
# 아파치 서버의 동시 접속자 수를 정의한다.
# 최대 값은 256이다.  
# 256 이상의 값을 설정하고 싶을 때는 아파치 소스의 httpd.h 헤어 파일의 HARD_SERVER_LIMIT 부분을 수정하고
# 아파치를 다시 컴파일 해야 된다.

MaxRequestsPerChild   0
# 아파치의 자식 프로세스가 처리할 수 있는 최대 요청 처리 건수를 설정한다.
# 0 은 무제한을 뜻한다.

BindAddress   *
# 가상 호스트를 지워한다. 기본적으로 주석 처리 되어 있지만 실제로는 가상 호스트에 영향을 주지 않았다.

Port      80
# 아파치가 사용할 기본 포트를 지정한다.

User   nobody
Group  nobody

# 자식 프로세스가 생성될 때 그 프로세스의 소유자와 소유그룹을 결정한다.
# 보안상
절대
root 로 설정하는 일은 없도록 한다.

ServerAdmin    admin@rootman.co.kr

# 아파치 서버 관리자 e-mail을 설정하는 부분이다.

ServerName    rootman.co.kr
# 아파치 서버가 작동중인 서버 이름을 설정한다. 기본적으로 주석 처리 되어 있다.
# 도메인이 아닌 IP 주소로 사용자의 홈페이지에 접속할 때 URL 끝에 /를 붙여야 접속이 되는 경우가 있는데 이럴 경우
# ServerName 지시자에 주석을 제거 하고 아이피 주소를 설정해 주면 된다.

DocumentRoot    "/usr/local/apache/htdocs"
#아파치의 웹 문서들의 루트 디렉토리를 지정한다.

# 아래 부터 디렉토리 제어이다.  Directory 구문에 대한 자세한 설명은 아래에 있다.
# 시스템 루트( / ) 디렉토리에 대한 제어
<Directory />                                              
    Options FollowSymLinks                         
    AllowOverride None                                
</Directory>                                          
    

# /usr/local/apache/htdocs 디렉토리에 대한 제어
<Directory   " /usr/local/apache/htdocs">     
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>


# 사용자 홈 디렉토리인 public_html 디렉토리에 대한 제어
<Directory /home/*/public_html>
   AllowOverride FileInfo AuthConfig Limit
   Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
   <Limit GET POST OPTIONS PROPFIND>
       Order allow,deny
       Allow from all
   </Limit>
   <LimitExcept GET POST OPTIONS PROPFIND>
       Order deny,allow
       Deny from all
   </LimitExcept>
</Directory>


디렉토리 제어와 관련된 설정과 옵션 설명 디렉토리 제어문의 시작은 <Directory   DIR_Path> 로 시작해서 </Directory> 로 끝난다.

# -->> Options(옵션) 설명 ;
옵션 구문은 Options 라는 키워드로 시작된다.
FollowSymLinks
: 실볼릭 링크를 허용한다.
SymLinksIfOwnerMatch
 : 링크를 허용하지만 링크 하고자 하는 사용자의 소유로 되어 있는 것만 링크 가능하다.
ExecCGI
: CGI 실행을 허용한다.
Includes
: SSI를 허용한다.
IncludesNOEXEC
 : SSI를 허용하지만 "#exec" 와 "include"로 정의한 CGI 실행은 거부한다.
Indexes
: 웹 서버의 디렉토리에 접근 했을 때 DirectoryIndex 지시자로 설정한 파일이 없을 경우 디렉토리안의 파일 목록을
          보여준다.
MultiViews
: 클라이언트의 요청에 따라 적절하게 페이지를 보여준다. 쉽게 생각하면 HTTP 헤드 정보가 Accept-Language:ko              라면 Korea 언어에 맞게 데이터를 클라이언트에 전송한다.
None
: 모든 설정을 부정한다.
All
: MultiViews를 제외한 옵션을 의미한다.  

# -->> AllowOverride 설명

AllowOverride는 클라이언트의 디렉토리 접근 제어에 관한 설정이다.
AllowOverride 는 AccessFileName 지시자와 밀접한 관계를 가지고 있다.

아래의 각 설정값들은 AccessFileName 지시자에서 설정한 파일에 적용된다.
None
: AllowOverride를 off 한다는 것이다.
All
: AccessFileName 지시자로 설정한 파일에 대해 민감하게 반응한다. 모든 지시자를 사용할 수 있다.
AuthConfig
: AccessFileName 지시자에 명시한 파일에 대해서 사용자 인증 지시자 사용을 허락한다.
--> AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, require등을 사용할 수 있다. 
FileInfo
: AccessFileName 지시자로 설정한 파일에 대해서 문서 유형을 제어하는 지시자 사용을 허락한다.
--> AddEncoding, AddLanguage, AddType, DefaultType, ErrorDocument, LanguagePriority등을 사용할 수 있다.
Indexes
: AccessFileName 지시자로 설정한 파일에 대해서 디렉토리 Indexing을 제어하는 지시자 사용을 허락한다.
--> AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOpions, ReadmeName등을 사용할 수 있다.
Limit
: AccessFileName 지시자로 설정한 파일에 대해서 호스트 접근을 제어하는 지시자 사용을 허락한다.
--> Allow, Deny, order 등을 사용할 수 있다.
Options
 : AccessFileName 지시자에 명시한 파일에 대해서 Options 그리고 XBiHack 등과 같은 지시자 사용을 허락한다.
--> Options, XBitHack등을 사용할 수 있다.

AloowOverride와 AccessFileName에 설정한 파일을 이용해서 아파치 인증 기능을 사용할 수 있다.
아파치 인증에 관한 자세한 설명은 "아파치 인증" 강좌를 참고하길 바란다.
################################################################################################################


DirectoryIndex     index.html
# 파일 이름을 명시하지 않고 디렉토리에 접근할 경우 자동으로 보여줄 파일 이름을 설정한다.
# 여러개의 파일 이름을 설정할 수 있다. 파일 이름에 대한 구분은 Space 키,  즉 빈 공간으로 구분한다.

AccessFileName    .htaccess
# 특정 디렉토리의 접근 제어를 할 파일 이름을 정의한다.
# 단, 해당 디렉토리의 AllowOverride 에서 None으로 설정되어 있지 않아야 된다.
# 자세한 설명은 "아파치 인증" 강좌 참고

CacheNegotiatedDocs
# 프록시 서버에 문서를 캐시하도록 설정한다. 기본적으로 주석 처리 되어 있다.

HostnameLookup    Off
# 아파치의 로그 파일에는 기본적으로 클라이언트의 IP 주소 정보가 기록되는데 이 설정을 On 하면 호스트 네임(도메인)
# 이 기록된다. 하지만 DNS 질의를 해야 되므로 속도가 느리다는
단점
이 있다.
# 그냥  Off로 사용하는것을 추천한다.

ErrorLog   /usr/local/apache/logs/error_log

# 아파치 서버 접속 에러 로그를 기록할 결로와 파일 이름을 설정한다.

LogLevel   warn
# 에러 로그 내용의 레벨을 설정한다.

LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
LogFormat "%h %l %u %t "%r" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent   

# 사용자 접속을 기록할 로그 포멧을 정의한 부분이다. 위와 같이 4가지 형식의 로그 포멧이 기본적으로 설정되어 있다.
common : 가장 일반적인 로그 기록
referer : 현재 아파치 서버에 접속하기 전에 머물렀던 URL으 기록한다.
agent : 접속자의 웹 브라우저(OS 포함) 종류를 기록한다.
combined : 위의 3가지 로그 포멧을 모두 조합한 것이다.
           접속자에 대한 많은 정보를 기록하길 원한다면 combined으로 설정하면 된다.
# %h %I 등과 같은 아파치 로그 포멧을 알고 싶으면 아파치 메뉴얼를 참고 하기 바란다.

CustomLog    /usr/local/apache/logs/access_log common
# 로그 파일의 경로와 파일 이름,  그리고 로그의 포맷을 설정한다.
# common 이외에 위에서 정의한 로그 포멧을 지정할 수 있다.

ServerSignature  On
# apache 서버가 생성하는 Error 페이지와 Ftp 디렉토리 목록, mod_status, mod_info 등에 apache 서버 버젼과 가상 호스트
# 네임을 추가적으로 표시해 준다.(On 설정시)  Email 설정시 ServerAdmin의 E-mail 주소를 페이지에 링크해 준다.
# On, Off, Email을 설정해서 사용할 수 있다.

Alias  /icons/  "/usr/local/apache/icons/"
# 특정 디렉토리를 alias 한다. 위의 경우는 /usr/local/apache/icons/ 디렉토리를 icons 라는 이름으로 alias 한것이다
# icons 디렉토리 앞의 /(슬래쉬)는
DocumentRoot
를 의미한다.

ScriptAlias  /cgi-bin/  "/usr/local/apache/cgi-bin/"
# Alias와 같은 형식이고 실행할 스크립트 디렉토리를 alias할 때 사용한다.

Redirect  old-URL  new-URL

# old-URL을 new-URL로 코딩해준다. 하지만 HTML태그로 위의 기능을 대신할 수 있기때문에 사용할 일이 거의 없을것이다.

IndexOptions Fancy Indexing
# 디렉토리에 DirectoryIndex에 설정된 파일명이 없을경우 아파치서버는 디렉토리목록을 보여주는데 Fancy Indexing을 설정
# 할 경우 파일의 크기, 생성날짜 등을 같이 출력해준다.

DefaultIcon /icons/unknown.gif

# 아이콘이 설정되어 있지 않은 파일 확장자들의 아이콘을 대신한다

AddDescription "GZIP compressed document"  .gz
AddDescription "tar archive"  .tar
AddDescription "GZIP compressed tar archive" .tgz
# 아파치가 디렉토리 목록을 보여줄 경우 파일 확장자에 대해 간략한 설명을 할 수 있게 한다. 단, IndexOptions에서
# FancyIndexing이 적용되어 있어야 된다.

ReadmeName README
HeaderName HEADER

# 아파치가 디렉토리가 목록을 보여줄 경우 페이지 위(HEADER)와 아래(README)에 추가로 출력할 텍스트들을 설정할 수 있다.
# 각 디렉토리에 README, HEADER 라는 이름으로 텍스트 파일을 만들면 된다.

ErrorDocument 500  "The server made a boo bo"
ErrorDocument 404  /missing.html
ErrorDocument 402  http://some.other_server.com/subscription_info.html

# 클라이언트의 요구에 의해 발생하는 아파치 서버의 에러페이지에 출력할 텍스트나 문서를 정의할 수 있다.
# 각 페이지는 에러 코드별로 설정할 수 있으며 외부의 URL을 지정할 수도 있다.
# 문자열을 설정을 경우네는 " "안에 문자열을 설정하면 되고 내부 html 문서를 지정해줄 경우에는 문서의 경로를 지정해
# 주면 된다. 단, (/)최상위 경로는
DocumentRoot를 의미한다.

<Location /server-status>
   SetHandler server-status
   Order deny,allow
   Deny from all
   Allow from .your_domain.com
</Location>
<Location /server-info>
   SetHandler server-info
   Order deny,allow
   Deny from all
   Allow from .your_domain.com
</Location>
         
# 위의 설정을 함으로써 웹 브라우저에서 아파치 서버의 상태와 정보를 볼수 있다. 보안상 특정 호스트에서만 볼 수 있게
# 설정할 수 있으며 기본적으로 주석 처리되어 있다.

<Location /cgi-bin/phf*>
    Deny from all
    ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi
</Location>

# 아파치 1.1 이전 버젼의 버그를 악용하는 경우가 있는데 이 설정에 해 두면 이러한 공격을 phf.apache.org의 로깅 스키립
# 트로 리다이렉트 시켜준다. 요즘은 필요없는 설정이고 위의 URL에 cgi스크립트가 존재하지도 않는다.

DefaultType text/plain
# 아파치가 처리할 기본 문서들을 정의한다. 위의 설정은 html과 text 파일을 포함시킨 것이다.
# 위의 설정 때문에 text 파일도 웹 브라우저에 표시해 줄수 있는 것이다.

 

출처 : http://flashcafe.org

출처 : http://jace.tistory.com/100

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
31 [Fedora9] Apache & PHP 설치 JaeSoo 2012.12.06 1927
30 apache의 httpd.conf 설정 팁 JaeSoo 2012.09.09 1572
» apache httpd.conf 설정 및 설명 JaeSoo 2012.09.09 1494
28 Window에서 아파치+톰캣 연동시 httpd.exe 메모리 누수 관련 JaeSoo 2012.09.09 2267
27 아파치 웹 서버 장애 해결하기 JaeSoo 2012.09.08 1775
26 Windows APM 설치가이드 JaeSoo 2012.09.08 1847
25 Apache에서 mod_expires를 이용한 이미지 캐싱 처리 JaeSoo 2012.08.29 2343
24 APMSETUP 의 Apache 속도가 느릴때.. JaeSoo 2012.08.29 2219
23 Windos XP에서 APM 설치하기 (Apache, PHP, Mysql) JaeSoo 2012.08.18 2569
22 rewrite 모듈 - 아파치 설정 JaeSoo 2012.08.18 1933
21 웹서버 속도 저하 문제 해결 (Apache 2.2.x) - Win32DisableAcceptEx JaeSoo 2012.07.14 2635
20 Comparison of WAMPs (Windows, Apache, MySQL, PHP/Perl/Python) JaeSoo 2012.07.13 4694
19 Windows용 아파치 설정하기 (쓰레드 설정) JaeSoo 2012.07.12 1901
18 APMSETUP + JSP 2 JaeSoo 2012.04.13 6050
17 .htaccess 를 이용한 이미지 핫링크 예방법 JaeSoo 2012.03.07 2573
16 동영상 외부 링크 금지 JaeSoo 2012.03.07 3057
15 .htaccess 사용해서 이미지 외부링크 막기 JaeSoo 2012.03.07 2865
14 아파치 리라이트(rewrite) 엔진과 워터마킹을 이용한 이미지 무단 링크 방지 JaeSoo 2012.03.07 2855
13 WAMP (Windows+Apache+MySQL+PHP) 설치 JaeSoo 2011.11.14 5362
12 외부 링크 방지 JaeSoo 2011.09.22 6062
Board Pagination Prev 1 2 3 4 Next
/ 4

PageViews   Today : 118 Yesterday : 16624 Total : 21708293  /  Counter Status   Today : 99 Yesterday : 943 Total : 1138680

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소