자주 물어보는 질문 (FAQ) - Apache HTTP Server

Apache HTTP Server Version 2.0

Apache > HTTP Server > Documentation > Version 2.0 > FAQ

# 자주 물어보는 질문 (FAQ)

가능한 언어: en | ko

FAQ 최신판은 아파치 웹사이트 <http://httpd.apache.org/docs-2.0/faq/>에서 볼 수 있다.

아파치 2.0이 나온지 얼마 안되서 우리는 아직 자주 물어보는 질문 (FAQ)이 무엇인지 모른다. 내용이 채워질 때까지 여기에 해답이 없다면 아파치 1.3 FAQ도 참고하라.

## 주제

지원
  문제가 생기면 어떻게 해결하나?
오류문
  이 오류문이 무슨 뜻인가?

## 지원

- "왜 ... 안되나? 왜 ... 동작하지 않는가?" 문제가 생기면 할일
- 도움을 얻으려면 누구에게 연락하나?

### "왜 ... 안되나? 왜 ... 동작하지 않는가?" 문제가 생기면 할일

아파치 서버 소프트웨어에 문제가 생기면 다음과 같은 단계를 따른다:

오류 로그(errorlog)를 확인하라!
  아파치 서버는 문제가 생기면 도움을 주려고 노력한다. 많은 경우 서버 오류 로그에 자세한 내용을 기록한다. 이것만으로도 직접 (파일권한 등) 문제를 발견하고 고칠 수 있는 경우가 많다. 오류 로그의 기본 위치는 `/usr/local/apache2/logs/error_log`이지만, 정확한 위치는 설정파일의 `ErrorLog` 지시어를 참고하라.
FAQ를 확인하라!
  아파치 웹사이트에서 항상 아파치 FAQ 최신판을 볼 수 있다.
아파치 버그 데이터베이스를 확인하라
  아파치그룹(The Apache Group)에 보고된 대부분의 문제는 버그 데이터베이스에 기록된다. 새로 버그를 추가하기 전에, 이미 알려졌거나(open) 해결된(closed) 버그가 있는지 확인하길 바란다. 이미 문제가 보고되었다면 "나도 이런 문제가 있다고" 보고하지 않길 바란다. 아직 해결되지 않았다면 주기적으로 상황을 확인하길 바란다. 또, 데이터베이스에 기록되지 않고 이메일 교환으로 진행된 사항이 있을 수 있으니 처음 문제를 보고한 사람에게 연락해볼 수도 있다.
사용자 지원 공간에 문의한다

  아파치에 대한 지식을 공유하길 원하는 활발한 사용자 공동체들이 있다. 일반적으로 이런 공동체에 참여하는 것이 문제의 답을 얻는 가장 좋고 빠른 방법이다.

  사용자 메일링리스트

  USENET 뉴스그룹:

  - comp.infosystems.www.servers.unix [news] [google]
  - comp.infosystems.www.servers.ms-windows [news] [google]
  - comp.infosystems.www.authoring.cgi [news] [google]
위의 방법이 모두 실패하면 버그 데이터베이스에 문제를 보고한다

  위의 단계를 모두 시도하고도 해결책이 없다면, 버그를 보고하여 웹서버 개발자들에게 문제를 알리길 바란다.

  core dump를 만들며 서버가 죽는 경우라면 (가능하면) backtrace(역주; 문제가 실행파일의 정확히 어떤 지점에서 발생하였고, 프로그램이 그 지점까지 어떤 경로로 실행되었는지를 알려주는 정보)를 포함하길 바란다. 예를 들어,

  `# cd ServerRoot
  # dbx httpd core
  (dbx) where`

  (ServerRoot, httpd, core 파일의 실제 위치를 대신 사용하라. `dbx` 대신 `gdb`를 사용해야 할 수도 있다.)

### 도움을 얻으려면 누구에게 연락하나?

40명 가량의 자발적으로 참여한 개발자만으로는 수백만의 사용자에게 아파치에 대해 일일이 지원할 수 없다. 무료 지원을 얻으려면 사용자 공간에 참여하길 권한다.

아파치에 대한 직업적인 유료 지원은 여러 회사에서 제공한다.

## 오류문

- Invalid argument: core_output_filter: writing data to the network
- AcceptEx failed
- Premature end of script headers

### Invalid argument: core_output_filter: writing data to the network

플래폼이 `sendfile` 시스템호출을 지원한다면, 아파치는 응답의 속도를 빠르게하기위해 이 시스템호출을 사용한다. 불행히도 어떤 시스템에서 아파치는 컴파일할때 `sendfile`이 정상적으로 작동하지 않는데도 정상적으로 작동한다고 오판한다. 이 문제는 네트웍 파일시스템이나 비표준 파일시스템을 사용할때 자주 발생한다.

이 문제의 증상은 오류 로그(error log)에 위의 문구를 기록하거나 크기가 0이 아닌 파일에 대해 크기가 0인 응답을 하는 경우이다. 동적으로 내용을 생성할때는 `sendfile`을 사용하지 않기때문에 일반적으로 정적인 파일을 요청할때만 문제가 발생한다.

문제를 해결하려면 서버가 `sendfile`을 사용하지 않도록 `EnableSendfile` 지시어를 사용한다. 또, 이와 유사한 문제에 대해 `EnableMMAP`을 참고하라.

### AcceptEx Failed

win32에서 `AcceptEx` 시스템호출에 대한 오류문을 나오면, `Win32DisableAcceptEx` 지시어를 참고하라.

### Premature end of script headers

보통 CGI 스크립트에 문제가 있으면 브라우저에게 `Internal Server Error`를 보내고 오류로그에 이 문구를 기록한다. 이런 문제를 디버깅할때 CGI 투토리얼이 도움이 될 수 있다.

가능한 언어: en | ko