설정파일 - Apache HTTP Server Version 2.2

Apache HTTP Server Version 2.2

Apache > HTTP Server > Documentation > Version 2.2

#### Please note

This document refers to a legacy release (2.2) of Apache httpd. The active release (2.4) is documented here. If you have not already upgraded, please follow this link for more information.

You may follow this link to go to the current version of this document.

# 설정파일

가능한 언어: de | en | fr | ja | ko | tr

이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요.

이 문서는 아파치 웹서버를 설정하는 파일들을 설명한다.

- Comments

## 주설정파일

관련된 모듈 | 관련된 지시어
--- | ---

- `mod_mime`

- `<IfDefine>`
- `Include`
- `TypesConfig`

일반 문서 파일인 설정파일에 지시어를 사용하여 아파치를 설정한다. 주설정파일을 보통 `httpd.conf`라고 부른다. 이 파일의 위치는 컴파일시 정해지나, `-f` 명령행 옵션으로 지정해줄 수 있다. 또 다른 설정파일을 `Include` 지시어를 사용하여 포함할 수 있고, 와일드카드를 사용하여 많은 설정파일을 포함할 수도 있다. 이 경우 지시어를 어떤 설정파일에나 사용해도 된다. 주설정파일을 수정하면 아파치를 시작하거나 재시작한 이후에 반영된다.

서버는 mime 문서타입을 담은 파일도 읽는다. 파일명은 `TypesConfig` 지시어로 설정하고, 기본값은 `mime.types`이다.

## 설정파일 문법

아파치 설정파일은 한줄에 한 지시어를 사용한다. 줄 마지막 문자가 백슬래쉬 "\"이면 지시어가 다음 줄에서 계속됨을 뜻한다. 이 경우 백슬래쉬 뒤에 어떤 문자나 공백도 나오면 안된다.

설정파일의 지시어는 대소문자를 구별하지 않지만, 지시어의 아규먼트는 대소문자를 구별하는 경우가 있다. 해쉬문자 "#"로 시작하는 줄은 주석으로 무시한다. 주석을 설정 지시어와 같은 줄에 사용할 수 없다. 빈줄과 지시어 앞에 나오는 공백은 무시하므로, 간결하게 보이도록 지시어를 줄들임할(indent) 수 있다.

`apachectl configtest`나 `-t` 명령행 옵션을 사용하여 아파치를 실행하지 않고도 설정파일의 문법 오류를 검사할 수 있다.

## 모듈

관련된 모듈 | 관련된 지시어
--- | ---

- `mod_so`

- `<IfModule>`
- `LoadModule`

아파치는 모듈화된 서버다. 이는 매우 기본적인 기능만이 서버 핵심에 포함되있음을 뜻한다. 아파치는 모듈을 읽어들여서 기능을 확장한다. 기본적으로 컴파일하면 서버에 base 모듈들이 포함된다. 서버를 동적으로 읽어들이는 모듈을 사용할 수 있게 컴파일하였다면 모듈을 따로 컴파일하여 아무때나 `LoadModule` 지시어로 추가할 수 있다. 그렇지 않으면 모듈을 추가하거나 빼기위해 아파치를 다시 컴파일해야 한다. 설정 지시어를 `IfModule` 블록으로 감싸서 특정 모듈이 있는 경우에만 선택적으로 처리할 수 있다.

현재 서버에 어떤 모듈이 컴파일되있는지 보려면 `-l` 명령행 옵션을 사용한다.

## 지시어 적용범위

관련된 모듈 | 관련된 지시어
--- | ---

- `<Directory>`
- `<DirectoryMatch>`
- `<Files>`
- `<FilesMatch>`
- `<Location>`
- `<LocationMatch>`
- `<VirtualHost>`

주설정파일에 있는 지시어는 서버 전체에 적용된다. 지시어가 서버의 일부에만 적용되게 하려면 지시어를 `<Directory>`, `<DirectoryMatch>`, `<Files>`, `<FilesMatch>`, `<Location>`, `<LocationMatch>` 섹션 안에 두어야한다. 이 섹션들은 그들이 감싸는 지시어의 적용범위를 파일시스템이나 URL의 특정 위치로 한정한다. 또, 서로 겹쳐서 사용할 수 있기때문에 매우 세밀한 설정이 가능하다.

아파치는 여러 다른 웹사이트를 동시에 서비스하는 능력이 있다. 이를 가상호스트라고 한다. 지시어를 `<VirtualHost>` 섹션 안에 두어 특정 웹사이트에만 지시어를 적용할 수 있다.

지시어는 대부분 어떤 섹션에 나와도 되지만, 어떤 지시어는 특정 장소에서 의미가 없다. 예를 들어 프로세스 생성을 조절하는 지시어는 주서버설정 장소에서만 사용할 수 있다. 지시어가 어떤 섹션에 위치할 수 있는지 알려면 지시어의 사용장소를 확인하라. 더 자세한 정보는 어떻게 Directory, Location, Files 섹션이 동작하나를 참고하라.

## .htaccess 파일

관련된 모듈 | 관련된 지시어
--- | ---

- `AccessFileName`
- `AllowOverride`

아파치는 특별한 파일을 사용하여 설정을 나눠서(분권적으로) 관리할 수 있다. 이 특별한 파일을 보통 `.htaccess`라고 부르지만, 이름은 `AccessFileName` 지시어로 지정할 수 있다. `.htaccess` 파일에 있는 지시어는 파일이 있는 디렉토리와 모든 하위디렉토리에 적용된다. `.htaccess` 파일은 주설정파일과 같은 문법을 따른다. `.htaccess` 파일은 매 요청때마다 읽기때문에 파일을 수정하면 즉시 효과를 볼 수 있다.

어떤 지시어를 `.htaccess` 파일에 사용할 수 있는지 알려면 지시어의 사용장소를 확인하라. 서버 관리자는 주설정파일의 `AllowOverride` 지시어로 `.htaccess` 파일에 어떤 지시어를 사용할 수 있는지 조절할 수 있다.

`.htaccess` 파일에 대한 더 자세한 정보는 .htaccess 투토리얼을 참고하라.

가능한 언어: de | en | fr | ja | ko | tr

## Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.