다음 이전 차례

2. HTTP 서버의 설치

서버를 받을 때 2가지의 선택이 있는데 소스를 얻어 자신이 컴파일하거나 기 컴파일된 이진파일을 얻는 것이다. NCSA에는 리눅스(ELF)에서 컴파일된 이진파일이 존재하지만 이전 버전들은 없다.

2.1 받기 전의 준비

NCSA의 서버에는 환경 구성 선택사항과 준비할 여러 파일들에 대하여 단계별로 안내한다. 하지만 HTTPd를 내려받기 전에 다음의 질문들에 대한 답변을 준비해야 한다.

O/S

우선, 소스 또는 이미 컴파일된 버전을 내려받을지 선택해야 한다. 메뉴에 해당 시스템이 없다면, 소스를 얻어다 자신이 직접 컴파일 해야 한다. 자신의 시스템의 리눅스 버전을 체크하기 위하여 명령 프롬프트에서 아래와 같이 입력하면

       linux:~$  uname -a
다음과 비슷한 한 라인의 대답을 받는데
   linux:~$  uname -a
     Linux linux 2.0.29 #4 Tue Sep 13 04:05:51 CDT 1994 i586
     linux:~$
이 리눅스 버전은 2.0.29이다.

나머지 매개변수들은 받기 전에 명시하거나, 후에 환경 구성을 할 때 /usr/local/etc/httpd/conf 디렉토리의 srm.conf 파일 수정을 통해 명시할 수 있다. httpd.conf 파일 안에 나타나는 실제 선언 명칭들은 bracket 안에 보인다. srm.conf 파일 안에 나타난 DocumentRoot 선언만은 예외다.

프로세스 타입 (ServerType)

이것은 HTTPd서버가 실행되는 방법을 명시한다. 제출 방법은 'standalone'이다. 이것은 지속적으로 실행되는 HTTP 데몬을 만든다. 만일 'inetd'에서 HTTPd 로드를 선택했다면 서버 이진파일은 모든 요청을 위하여 메모리로 다시 적재될 것이고, 서버의 다운로드를 느리게 할 것이다.

바인딩 포트 (Port)

이것은 HTTPd 데몬의 HTTP 요청을 받아들이고 바인드할 머신의 포트를 명시한다. 만일 root로 로그인했다면, 기본값은 80이다. 그렇지 않다면 1025에서 65535사이의 값을 세팅하라.

서버 사용자 확인하기 (User)

이것은 사용자 ID이며 서버가 파일의 요청 응답과 활동할 때 변경될 것이다. 이 질문은 서버가 '단독(standalone)'으로 실행 중일 때에만 대답할 필요가 있다. 만일 root 권한이 없다면 자신의 로그인 이름을 사용하라. 만일 시스템 관리자라면 파일 접근 권한을 조정할 수 있는 특수 사용자를 생성을 할 수도 있다.

서버 그룹 확인하기 (Group)

이것은 그룹 ID이며 서버가 파일의 요청 응답과 활동할 때 변경될 것이다. 이것은 서버 사용자 확인과 비슷하며 서버가 standalone에서 실행될 때만 적용할 수 있다.

만일 root권한이 없다면, 자신의 주 그룹 이름을 사용하라. 리눅스 명령 프롬프트에서 groups라는 명령으로 자신의 그룹을 찾아낼 수 있다.

서버 관리자 email 주소 (ServerAdmin)

이것은 서버에 문제가 보고될 때 사용자가 email 메세지를 보내게 될 주소이다. 개인의 전자메일 주소를 넣을 수도 있다.

서버 디렉토리 위치 (ServerRoot)

이것은 서버가 시스템에서 존재하는 위치이다. 만일 root권한을 가지고 있다면 /usr/local/etc/httpd에 위치할 것을 추천한다. root로 로그인할 수 없다면 자신의 루트디렉토리 아래의 서브 디렉토리를 선택하라. pwd명령으로 자신의 홈디렉토리를 찾아 낼 수 있다.

HTML 파일 위치 (DocumentRoot)

HTML 파일들이 저장될 위치다. 기본값은 /usr/local/etc/httpd/htdocs 이다. 서버 사용자 확인에서 선택한 특수 사용자의 홈 디렉토리로 설정하거나, 루트로 로그인 할 수 없다면 사용자의 서브 디렉토리를 선택 할 수도 있다. 확실하지 않다면 기본값으로 세팅하라.

hoohoo.ncsa.uiuc.edu/docs/setup/OneStep.html에서 NCSA HTTPd를 받기 전에 위의 질문에 대한 대답을 해야 한다.

설치 전에 hoohoo.ncsa.uiuc.edu/docs/ 안의 HTTPd문서들을 읽어보라. 만일 컴파일할 계획이라면 각각 support,src,cgi-src 세개의 디렉토리 안에 Makefile 파일들을 수정하라. 리눅스 버전에서는 이미 지원되므로 최상위 디렉토리에서 'make linux' 라고 입력하라(예 /usr/local/etc/httpd)

2.2 HTTPd 컴파일

컴파일은 단순하다. 단지 서버 root 디렉토리에서 'make linux'를 입력 하라 . 주의 : HTTPd 컴파일하기 전에 pre-ELF 리눅스 사용자라면 portability.h 파일의 #define NO_PASS의 주석을 해제하고 Makefile안에 set DBM_LIBS= -ldbm를 설정하라.


다음 이전 차례