아파치 시작 - Apache HTTP Server

Apache HTTP Server Version 2.0

Apache > HTTP Server > Documentation > Version 2.0

# 아파치 시작

가능한 언어: de | en | es | ja | ko | ru

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

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

### 참고

- 아파치 중단과 재시작
- httpd
- apachectl

## 어떻게 아파치가 시작하나

설정파일에서 `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` 디렉토리에 있는 테스트 페이지와 그 페이지에 링크된 (로컬카피) 설명서를 볼 수 있다.

## 시작중 오류

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

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

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

## 부팅할때 시작하기

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

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

## 추가 정보

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

가능한 언어: de | en | es | ja | ko | ru