아파치 시작 - Apache HTTP Server Version 2.4

Apache Server 2.4

Apache HTTP Server Version 2.4

<-

아파치 시작

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

보통 아파치는 Windows NT, 2000, XP에서는 서비스로, Windows 95과 ME에서는 콘솔 프로그램으로 실행된다. 자세한 내용은 서비스로 아파치를 실행하기콘솔 프로그램으로 아파치를 실행하기.

유닉스에서 httpd 프로그램은 백그라운드에서 계속 요청을 처리하는 데몬으로 실행된다. 이 문서는 httpd를 시작하는 방법을 설명한다.

top

어떻게 아파치가 시작하나

설정파일에서 Listen이 기본값인 80(혹은 1024이하의 다른 포트)이라면 이 특권 포트에 연결하기위해 root 권한이 필요하다. 서버는 시작하여 로그파일을 여는 등의 몇몇 기초적인 작업을 마친후, 클라이언트의 요청을 기다리고 응답하는 자식(child) 프로세스를 여러개 띄운다. 주 httpd 프로세스는 계속 root 사용자로 실행되지만, 자식 프로세스들은 더 권한이 작은 사용자로 실행된다. 이는 선택한 다중처리 모듈로 조정한다.

apachectl 스크립트를 사용하여 httpd 실행파일을 시작하길 권장한다. 이 스크립트는 httpd가 몇몇 운영체제에서 정상적으로 동작하기위해 필요한 환경변수들을 설정하고 httpd 실행파일을 시작한다. apachectl은 명령행 아규먼트를 그대로 넘기기때문에, httpd의 어떤 옵션이라도 apachectl에 사용가능하다. 또, apachectl 스크립트의 앞부분에 나오는 HTTPD 변수를 httpd 실행파일이 있는 위치와 항상 사용할 명령행 아규먼트로 직접 수정할 수 있다.

httpd를 실행하면 먼저 설정파일 httpd.conf를 찾아서 읽는다. 이 파일의 위치는 컴파일 중에 지정하나, 실행시 다음과 같이 -f 명령행 옵션으로 지정할 수도 있다.

/usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf

시작하는 과정에서 문제가 없다면, 서버는 터미널에서 떨어지고 명령 프롬프트가 거의 즉시 나오게된다. 이는 서버가 실행됨을 의미한다. 브라우저로 서버에 연결하여 DocumentRoot 디렉토리에 있는 테스트 페이지와 그 페이지에 링크된 (로컬카피) 설명서를 볼 수 있다.

top

시작중 오류

아파치가 시작하는 과정중에 심각한 문제가 발생하면, 종료하기 전에 문제를 알리는 문구를 콘솔이나 ErrorLog에 쓴다. 가장 흔한 오류문 중 하나는 "Unable to bind to Port ..."이다. 이 메세지는 보통 다음 두 경우에 발생한다:

  • root 사용자로 로그인하지 않고 특권 포트에 서버를 시작하려 한 경우. 혹은
  • 이미 아파치나 다른 웹서버가 사용중인 포트에 서버를 시작하려 한 경우.

기타 문제해결 방법은 아파치 FAQ를 참고하라.

top

부팅할때 시작하기

시스템이 재시작한 후에도 서버가 계속 실행되길 바란다면, 시스템 시작파일(보통 rc.local이나 rc.N 디렉토리에 있는 파일)에 apachectl을 추가해야 한다. 이 경우 아파치는 root로 시작된다. 이전에 서버의 보안이나 접근 제한(파일권한)이 올바로 설정되었는지 확인하라.

apachectl은 표준 SysV init 스크립트와 비슷하게 동작하도록 만들어졌다. 스크립트는 아규먼트로 start, restart, stop을 받으면 각각 적절한 시그널을 httpd에 보낸다. 그래서 보통은 apachectl을 적절한 init 디렉토리로 링크를 걸면된다. 그러나 사용하는 시스템의 정확한 요구사항을 확인하라.

top

추가 정보

httpdapachectl, 기타 서버에 포함된 지원 프로그램들의 명령행 옵션은 서버와 지원 프로그램 페이지를 참고하라. 또 아파치 배포본에는 모든 모듈과 그들이 제공하는 지시어에 대한 문서가 있다.