19.2. 기본 설정

서버명, 웹마스터 이메일 주소와 사용가능한 주소들을 정의하신 후 가상 호스트들 탭을 클릭하시고 기본 설정 편집 버튼을 클릭해 주십시오. 그림 19-3에서 보여지는 창이 나타날 것이며, 이 창에서 여러분의 웹 서버에 대한 기본 셋팅을 설정하실 수 있습니다. 가상 호스트를 추가하시면, 새로 추가된 가상 호스트가 기존 가상 호스트에 대하여 우선권을 갖습니다. 가상 호스트 설정에 지시자를 정의하지 않으시면, 디폴트 값이 사용됩니다.

19.2.1. 사이트 설정

디렉토리 페이지 탐색 목록과 오류 페이지들에 설정된 디폴트 값을 사용하시면 대부분의 서버에서 작동합니다. 이 설정값에 대하여 잘 모르시겠다면, 설정을 수정하지 마십시오.

그림 19-3. 사이트 설정

디렉토리 페이지 탐색 목록에 포함된 항목들은 DirectoryIndex 지시자를 정의합니다. DirectoryIndex는 사용자가 디렉토리명 마지막에 슬래쉬 (/)를 지정하여 디렉토리의 인덱스를 요청할 때 서버가 보여주는 디폴트 페이지입니다.

예를 들어, 사용자가 http://www.example.com/this_directory/ 페이지를 요청한 경우 DirectoryIndex 페이지가 존재한다면 이 페이지가 나타날 것이며, 그렇지 않다면 서버가 생성한 디렉토리 목록이 나타날 것입니다. 서버는 DirectoryIndex 지시자 목록에 포함된 파일 중 가장 먼저 발견된 파일을 보여줍니다. 만일 서버가 아무런 파일도 찾지 못한 경우 해당 디렉토리에 Options Indexes가 설정되어 있다면, 서버는 해당 디렉토리에 포함된 하부 디렉토리와 파일 목록을 HTML 형식으로 생성하여 보여줄 것입니다.

오류 코드 항목에서는 문자나 오류가 발생할 경우 클라이언트를 내부 URL이나 외부 URL로 방향 전환하도록 Apache HTTP 서버를 설정하실 수 있습니다. 이 옵션은 ErrorDocument 지시자에 상응합니다. 클라이언트가 Apache HTTP 서버에 접속을 시도하는 과정에서 문제나 오류가 발생한 경우, 오류 코드 란에 포함된 짧은 오류 메시지가 나타나도록 기본 설정되어 있습니다. 이러한 기본 설정을 변경하시려면, 오류 코드를 선택하신 후 편집 버튼을 클릭해 주십시오. 짧은 기본 오류 메시지를 보시려면 기본 항목을 선택하시기 바랍니다. 클라이언트를 외부 URL로 방향 전환시키려면 URL 항목을 선택하신 후 위치 입력란에 http://를 포함한 완전한 URL을 입력해 주십시오. 내부 URL로 클라이언트를 방향 전환시키기 위해서는 파일 항목을 선택하신 후 웹 서버에 사용되는 문서 루트 아래에 파일 위치를 입력하시면 됩니다. 위치란은 반드시 슬래시 (/)로 시작되어야 하며 문서 루트 (Document Root)에 따라서 구성됩니다.

예를 들어, 404 Not Found 오류 코드를 여러분이 404.html라는 파일에 작성한 웹 페이지로 방향 전환하기 위해서는, 404.html 파일을 DocumentRoot/errors/404.html으로 복사하셔야 합니다. 이 경우에 DocumentRoot는 여러분이 정의하신 문서 루트 디렉토리를 의미합니다 (디폴트는 /var/www/html 입니다). 그 후 404 - 찾을 수 없음 오류 코드에 대한 동작 란에서 파일을 선택하시고 위치 입력란에 /errors/404.html를 입력하시면 됩니다.

기본 에러 페이지 주석 메뉴에서 선택 가능한 옵션은 다음과 같습니다:

19.2.2. 로그 기록

서버는 디폴트 설정에 따라서 /var/log/httpd/access_log 파일에 전송 로그를 기록하며 /var/log/httpd/error_log 파일에 오류 로그를 기록합니다.

전송 로그는 웹 서버로의 모든 접속 시도를 기록합니다. 서버로 연결을 시도한 클라이언트의 IP 주소와 시도한 날짜와 시간 및 접속하려는 파일에 대한 정보가 포함됩니다. 이러한 정보를 저장할 경로명과 파일명을 입력해 주십시오. 만일 경로명과 파일명이 슬래시 (/)로 시작하지 않으면, 설정된 서버 루트 디렉토리에 연계된 경로를 의미합니다. 이 옵션은 TransferLog 지시자에 해당합니다.

그림 19-4. 로그 기록

사용자 기록 유틸리티 사용을 체크하신 후 사용자 정의 기록 문자열 입력란에 사용자 정의한 기록 문자열을 입력하여 사용자 정의 기록 형식을 설정하실 수 있습니다. 이 옵션은 LogFormat 지시자를 설정합니다. 이 지시자의 형식에 대한 보다 자세한 정보를 원하신다면, http://httpd.apache.org/docs-2.0/mod/mod_log_config.html#formats를 참조하시기 바랍니다.

오류 로그는 서버에서 발생한 오류를 모두 기록합니다. 이러한 정보를 저장할 경로명과 파일명을 입력해 주십시오. 만일 경로명과 파일명이 슬래시 (/)로 시작하지 않으면, 설정된 서버 루트 디렉토리에 연계된 경로를 의미합니다. 이 옵션은 ErrorLog 지시자에 해당합니다.

로그 레벨 메뉴를 사용하여 오류 로그에서 오류 메시지가 얼마나 상세하게 기록될 것인지 설정하실 수 있습니다. 오류 메시지는 (가장 간단한 수준에서 가장 자세한 순서로) 응급 (alert), 경고 (alert), 위험 (crit), 오류 (error), 주의 (warn), 경고 (warn), 통보 (notice), 정보 (info)와 디버그 (debug) 수준으로 설정될 수 있습니다. 이 옵션은 LogLevel 지시자에 해당합니다.

역방향 DNS 검색 메뉴에서 선택된 값은 HostnameLookups 지시자를 정의합니다. 역방향 검색을 하지 않음을 선택하시면 값이 꺼짐 (off)으로 설정되며, 역방향 검색을 선택하시면 값이 켜짐 (on)으로 설정됩니다. 이중 역방향 검색을 선택하시면 값이 이중으로 설정됩니다.

만일 역방향 검색을 선택하시면, 서버는 웹 서버로부터 문서를 요청하는 개별 연결에 대한 IP 주소를 자동으로 변환할 것입니다. IP 주소를 변환하는 것은 서버가 특정 IP 주소에 상응하는 호스트명을 찾기 위하여 DNS에 한 번이나 그 이상으로 연결한다는 것을 의미합니다.

이중 역방향 검색이 선택된 경우, 서버는 이중-역방향 DNS를 수행할 것입니다. 즉, 역방향 검색을 수행 후 나온 결과에 정방향 검색을 다시 수행한다는 의미입니다. 정방향 검색에서 나온 IP 주소와 먼저 이루어진 역방향 검색에서 나온 주소는 최소한 한개라도 일치해야만 합니다.

일반적으로 이 옵션은 역방향 검색을 하지 않음으로 설정해 두셔야 합니다. 그 이유는 DNS 요청이 서버에 부하를 가중시켜 서버가 느려지게 하기 때문입니다. 만일 서버가 바쁠 때 이러한 역방향 검색이나 이중 역방향 검색을 수행하게 되면 속도가 현저하게 줄어들 것입니다.

역방향 검색과 이중 역방향 검색은 또한 인터넷 전체에도 문제가 될 수 있습니다. 각각의 호스트명을 검색하기 위하여 생성된 개별 연결들이 모두 더해지기 때문에 인터넷 뿐만 아니라 웹 서버를 위해서도 이 옵션은 역방향 검색을 하지 않음으로 설정하셔야 합니다.

19.2.3. 환경 변수

가끔식 CGI 스크립트나 SSI (server-side include) 페이지에 사용되는 환경 변수를 수정해야할 경우가 있습니다. Apache HTTP 서버는 mod_env 모듈을 사용하여 CGI 스크립트와 SSI 페이지에 전달될 환경 변수를 설정합니다. 환경 변수 페이지에서 이 모듈에 사용될 지시자를 설정하시기 바랍니다.

그림 19-5. 환경 변수

CGI 스크립트 설정 입력란에는 CGI 스크립트와 SSI 페이지에 전달될 환경 변수를 설정해 주십시오. 환경 변수 MAXNUM을 50으로 설정하시려면, 그림 19-5에서 보이듯이 CGI 스크립트 설정 항목 옆에 위치한 추가 버튼을 클릭하신 후, 환경 변수에 MAXNUM이라고 입력하시고 설정할 값 입력란에 50을 입력하시기 바랍니다. 입력하신 값을 목록에 추가하도록 확인 버튼을 클릭해 주십시오. CGI 스크립트 설정 섹션은 SetEnv 지시자를 설정합니다.

CGI 스크립트에 전달 섹션에서는 서버가 처음 시작되었을 때 CGI 스크립트에 전달하는 환경 변수의 값을 설정해 주십시오. 이 환경 변수를 보시려면 쉘 프롬프트에서 env 명령을 입력하시면 됩니다. CGI 스크립트에 전달 섹션 옆에 위치한 추가 버튼을 클릭하신 후 환경 변수 입력란에 환경 변수의 이름을 입력하시고 확인 버튼을 클릭하시기 바랍니다. CGI 스크립트에 전달 섹션은 PassEnv 지시자를 설정합니다.

CGI 스크립트와 SSI 페이지에 아무런 값도 전달되지 않도록 환경 변수를 삭제하시려면, CGI 스크립트 해제 섹션을 사용하십시오. CGI 스크립트 해제 섹션에서 추가 버튼을 클릭하신 후 설정 해제할 환경 변수의 이름을 입력해 주십시오. 이 옵션은 UnsetEnv 지시자를 설정합니다.

이 환경 변수를 편집하시려면, 목록에서 편집할 변수를 선택하신 후 상응하는 편집 버튼을 클릭하시면 됩니다. 목록에서 변수를 삭제하시려면, 상응하는 삭제 버튼을 클릭하시기 바랍니다.

Apache HTTP 서버에서 사용하는 환경 변수에 대한 보다 많은 정보를 원하신다면, 다음 사이트를 참조하시기 바랍니다:

http://httpd.apache.org/docs-2.0/env.html

19.2.4. 디렉토리들

디렉토리들 페이지에서는 특정 디렉토리에 사용될 옵션을 설정하실 수 있습니다. 이 옵션은 <Directory> 지시자를 설정합니다.

그림 19-6. 디렉토리들

오른쪽 상단 모서리에 위치한 편집 버튼을 클릭하여 아래쪽의 디렉토리 목록에 지정되지 않은 모든 디렉토리에 대한 기본 디렉토리 옵션들을 편집하실 수 있습니다. 여러분이 선택할 수 있는 옵션들은 <Directory> 지시자 내의 Options 지시자 목록에서 찾으실 수 있습니다. 설정 가능한 옵션은 다음과 같습니다:

특정 디렉토리에 대한 옵션을 지정하기 위해서는 디렉토리 목록 상자 옆에 위치한 추가 버튼을 클릭해 주십시오. 그림 19-7에서 보이는 창이 나타날 것입니다. 창 아래쪽에 위치한 디렉토리 입력란에 설정할 디렉토리를 입력합니다. 오른쪽 목록에서 옵션을 선택하신 후 왼쪽에 있는 옵션을 사용하여 Order 지시자를 설정합니다. Order 지시자는 허가 목록과 거부 목록을 처리하는 순서를 지정해 줍니다. 허가 목록과 거부 목록 입력란에서 다음과 같은 옵션 중 한가지를 지정하실 수 있습니다:

그림 19-7. 디렉토리 설정

.htaccess 파일들이 디렉토리 옵션들을 덮어쓰도록 함 옵션을 체크하시면 .htaccess 파일 내의 설정 지시자가 우선 순위를 갖게 됩니다.