아파치 서버를 시작시 자주 만나는 에러와 관련된 설정 중 하나가 바로 아래와 같은ServerName 이다.

# /usr/local/apache/bin/apachectl start
httpd: cannot determine local host name.
Use the ServerName directive to set it manually.
./apachectl startl: httpd could not be started

대부분 ServerName 은 리눅스 설치시 입력한 호스트 이름을 자동으로 가지고 와 설정되나 DNS상에 존재하지 않은 도메인명이나 설사 존재하더라도 로컬 서버가 아닌 잘못된 도메인을 정의시 이러한 현상이 나타난다. 이러한 경우에는 ServerName 을 실제 로컬 서버의 호스트 이름이나 IP 주소로 설정해 주어야 한다.
또한 ServerName 을 잘못 설정시 나타날 수 있는 현상중 하나가 http://domain.com/~user 와 같이 접속할 때의 문제이다. 즉, 서버내 계정 사용자의 홈페이지를 접속시 http://domain.com/~user/ 와 같이 접속하면 접속이 되나 http://domain.com/~user 와 같이 / 를 붙이지 않으면 접속이 되지 않는 경우이다.
클라이언트가 서버의 디렉토리에 접속시 끝에 / (trailing) 을 하지 않은 경우 서버는 클라이언트에게 / 을 붙여 다시 접속을 하라고 요청한다. 그렇지 않으면 상대 URL 경로를 인식하지 못하는 문제가 있기 떄문이다. 만약 DNS 가 정상적으로 세팅되어 작동하고 있을 경우에는 문제가 없지만 그렇지 않은 경우에는 접속이 되지 않는 경우가 생긴다. 또는 위에서처럼 ServerName 에 지정된 호스트네임이 실제로 DNS 상에 리졸빙이 되지 않는 경우도 이러한 현상이 나타나므로 이러한 경우에는 httpd.conf 의 ServerName 옵션에 실제 서비스중인 도메인명으로 입력해 주면 된다
2005/07/01 15:26 2005/07/01 15:26

트랙백 주소 :: 이 글에는 트랙백을 보낼 수 없습니다