Apache HTTP Server Version 2.0
설정파일
이 문서는 아파치 웹서버를 설정하는 파일들을 설명한다.
주설정파일
관련된 모듈 | 관련된 지시어 |
---|---|
일반 문서 파일인 설정파일에 지시어를 사용하여 아파치를
설정한다. 주설정파일을 보통 httpd.conf
라고
부른다. 이 파일의 위치는 컴파일시 정해지나, -f
명령행 옵션으로 지정해줄 수 있다. 또 다른 설정파일을 Include
지시어를 사용하여 포함할
수 있고, 와일드카드를 사용하여 많은 설정파일을 포함할 수도
있다. 이 경우 지시어를 어떤 설정파일에나 사용해도 된다.
주설정파일을 수정하면 아파치를 시작하거나 재시작한 이후에
반영된다.
서버는 mime 문서타입을 담은 파일도 읽는다. 파일명은
TypesConfig
지시어로
설정하고, 기본값은 mime.types
이다.
설정파일 문법
아파치 설정파일은 한줄에 한 지시어를 사용한다. 줄 마지막 문자가 백슬래쉬 "\"이면 지시어가 다음 줄에서 계속됨을 뜻한다. 이 경우 백슬래쉬 뒤에 어떤 문자나 공백도 나오면 안된다.
설정파일의 지시어는 대소문자를 구별하지 않지만, 지시어의 아규먼트는 대소문자를 구별하는 경우가 있다. 해쉬문자 "#"로 시작하는 줄은 주석으로 무시한다. 주석을 설정 지시어와 같은 줄에 사용할 수 없다. 빈줄과 지시어 앞에 나오는 공백은 무시하므로, 간결하게 보이도록 지시어를 줄들임할(indent) 수 있다.
apachectl configtest
나 -t
명령행
옵션을 사용하여 아파치를 실행하지 않고도 설정파일의 문법
오류를 검사할 수 있다.
모듈
관련된 모듈 | 관련된 지시어 |
---|---|
아파치는 모듈화된 서버다. 이는 매우 기본적인 기능만이
서버 핵심에 포함되있음을 뜻한다. 아파치는 모듈을 읽어들여서 기능을
확장한다. 기본적으로 컴파일하면 서버에 base 모듈들이 포함된다.
서버를 동적으로 읽어들이는 모듈을
사용할 수 있게 컴파일하였다면 모듈을 따로 컴파일하여 아무때나
LoadModule
지시어로
추가할 수 있다. 그렇지 않으면 모듈을 추가하거나 빼기위해
아파치를 다시 컴파일해야 한다. 설정 지시어를 IfModule
블록으로 감싸서 특정
모듈이 있는 경우에만 선택적으로 처리할 수 있다.
현재 서버에 어떤 모듈이 컴파일되있는지 보려면 -l
명령행 옵션을 사용한다.
지시어 적용범위
관련된 모듈 | 관련된 지시어 |
---|---|
주설정파일에 있는 지시어는 서버 전체에 적용된다. 지시어가
서버의 일부에만 적용되게 하려면 지시어를 <Directory>
, <DirectoryMatch>
, <Files>
, <FilesMatch>
, <Location>
, <LocationMatch>
섹션 안에 두어야한다.
이 섹션들은 그들이 감싸는 지시어의 적용범위를 파일시스템이나
URL의 특정 위치로 한정한다. 또, 서로 겹쳐서 사용할 수 있기때문에
매우 세밀한 설정이 가능하다.
아파치는 여러 다른 웹사이트를 동시에 서비스하는
능력이 있다. 이를 가상호스트라고 한다.
지시어를
<VirtualHost>
섹션 안에 두어 특정 웹사이트에만 지시어를 적용할 수 있다.
지시어는 대부분 어떤 섹션에 나와도 되지만, 어떤 지시어는 특정 장소에서 의미가 없다. 예를 들어 프로세스 생성을 조절하는 지시어는 주서버설정 장소에서만 사용할 수 있다. 지시어가 어떤 섹션에 위치할 수 있는지 알려면 지시어의 사용장소를 확인하라. 더 자세한 정보는 어떻게 Directory, Location, Files 섹션이 동작하나를 참고하라.
.htaccess 파일
관련된 모듈 | 관련된 지시어 |
---|---|
아파치는 특별한 파일을 사용하여 설정을
나눠서(분권적으로) 관리할 수 있다. 이 특별한 파일을 보통
.htaccess
라고 부르지만, 이름은 AccessFileName
지시어로
지정할 수 있다. .htaccess
파일에 있는 지시어는
파일이 있는 디렉토리와 모든 하위디렉토리에 적용된다.
.htaccess
파일은 주설정파일과 같은 문법을
따른다. .htaccess
파일은 매 요청때마다 읽기때문에
파일을 수정하면 즉시 효과를 볼 수 있다.
어떤 지시어를 .htaccess
파일에 사용할 수
있는지 알려면 지시어의 사용장소를
확인하라. 서버 관리자는 주설정파일의 AllowOverride
지시어로
.htaccess
파일에 어떤 지시어를 사용할 수 있는지
조절할 수 있다.
.htaccess
파일에 대한 더 자세한 정보는
.htaccess 투토리얼을
참고하라.