Apache | Apache 기본 설정 | 서버 위치 디렉토리 (ServerRoot)


Apache의 설정에서 서버의 위치 디렉토리 (ServerRoot)의 설정에 대해 설명한다.

ServerRoot 지시어

“ServerRoot"는 Apache가 설치되어있는 디렉토리이다.

ServerRoot 디렉토리

그러면 “httpd.conf"파일에서 “ServerRoot"로 검색해 보면, 다음과 같은 내용을 찾을 수 있을 것이다.

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# Do not add a slash at the end of the directory path.  If you point
# ServerRoot at a non-local disk, be sure to specify a local disk on the
# Mutex directive, if file-based mutexes are used.  If you wish to share the
# same ServerRoot for multiple httpd daemons, you will need to change at
# least PidFile.
#
Define SRVROOT "c:/Apache24"

ServerRoot "${SRVROOT}"

SRVROOT라는 변수로 디렉토리를 지정하고, ServerRoot에서 사용되었다. 기본으로 “c:/Apache24"되어 있는데, 변경하려면 새 디렉토리를 지정한다. (마지막에 “/“는 붙이지 않도록 주의하자.)

Apache의 각종 설정에서 절대 경로가 아닌 상대 경로로 작성되면 ServerRoot에 지정된 디렉토리로부터의 상대 경로이다. 예를 들어 “ErrorLog"설정 부분을 보도록 하자.

#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog "logs/error.log"

이와 같이 상대 경로로 작성된 경우 “ServerRoot"값이 “c:/Apache24"이거 이므로, “c:/Apache24/logs/error.log"가 실제로 가리키는 파일이 된다.