<개념>
-웹서버: 웹브라우저와 같은 클라이언트로부터 HTTP요청을 받아들이고, HTML문서와 같은 웹페이지를 반환하는 컴퓨터 프로그램이다.
-Client/Server 2tier 구조에서 Client요청을 받아서 요청을 정적으로 처리하는 서버이다.
-Client/Server 2tier 구조에서 Client요청을 받아서 요청을 정적으로 처리하는 서버이다.
-정적이란? HTML, JPG, CSS, JAVA script와 같은 파일을 웹클라이언트에 제공할때 웹서버를 사용하며, 동적 페이지 처리가 필요하다면 WAS에 처리를 넘긴다.
-종류: Apache, Nginx, IIS, WebtoB, OHS, iPlanet
<설치>
- 다운로드
-인터넷이 가능한 PC에서http://httpd.apache.org/download.cgi 접속한다.
- 요구사항
-디스크 여유공간이 최소 50MB 이상인지 확인한다. 설치 후 아파치는 약 10MB의 디스크 공간을 차지한다.
-ANSI C 컴파일러가 설치 되어있는지 확인한다. Free Software Foundation(FSF)의 GNU C compiler(GCC)를 추천, GCC가 없다면 최소한 사용하는 컴파일러가 ANSI 호환인지 확인한다. 추가로 PATH 환경변수는 make와 같은 기본적인 컴파일 도구를 포함해야 한다. - 압축풀기
-압축파일의 압축을 OS명령어를 통해 압축을 푼다.
$ gunzip httpd-{버전}.tar.gz
$ tar xvf httpd-{버전}.tar - 소스 트리 구성하기
-아파치웹서버를 구성하기 위해 $APACHE_HOME 디렉터리 안에 ./configure를 명령을 실행한다.
> 가장 중요한 옵션은 --prefix다 --prefix는 아파치를 동작하기 위해 아파치를 구성하고 설치할 디렉터리이다.
> 추가적인 옵션을 확인하기 위한 URL: https://httpd.apache.org/docs/current/ko/programs/configure.html#installationdirectories
$ ./configure --prefix={디렉터리} - 컴파일
-make 명령어를 통해서 컴파일 한다.
$ make - 설치
-4번에서 PREFIX옵션에 지정한 디렉터리에 설치한다.
$ make install - 설정
-$PREFIX/conf/httpd.conf 파일을 vi로 열어 설정한다. - Apache 웹서버 기동
-PREFIX/bin/apachectl start
> httpd라는 데몬 프로세스가 기동된다. - Apache 웹서버 종료
-PREFIX/bin/apachectl stop
<설정>
-아파치 설정 파일: $APACHE_HOME/conf/httpd.conf
- ServerRoot "/was/httpd-2.4"
: Apache의 홈디렉터리를 지정하여 절대경로로 지정한다. - Listen 80
: 시스템의 기본값 이외에 다른 IP 주소와 포트에 대해서도 연결할 수 있도록 해준다. 주로 가상호스트(Virtual Host)부분에서 기본 80번 이외에 다른 포트를 이용하여 가상호스트를 설정하고자 할 때에 필요하다. - ServerAdmin
: 웹문서 로딩시 에러가 발생했을 경우와 같이 에러페이지에 보여질 관리자 메일 주소이다. - ServerName
: 클라이언트에게 보여주는 호스트이름을 지정한다. - <Directory> ~ </Directory>
: 지정한 디렉터리이하의 모든 웹문서들에 대하여 어떤 서비스와 기능을 허용/거부 할 것인지를 설정하는 매우 중요한 지시자이다. 현재 루트 디렉터리에 대한 심볼릭링크를 허용하고 .htaccess파일을 사용을 거부한다. <Directory> 설정 목적에 맞게 사용한다. - DocumentRoot "/was/httpd-2.4/htdocs"
: 서버의 웹문서가 있는 경로를 지정한다. 경로의 마지막에 '/'를 추가해선 안되고 심볼릭 링크나 Alias를 사용하여 다른 위치를 가리키도록 할 수 있다. - ErrorLog "logs/error_log"
: 아파치 웹서버의 에러로그파일의 위치를 지정하는 것으로 가상호스트설정에서 별도의 에러로그파일의 위치를 지정하지 않았다면 이곳에 모두 저장된다. - LogLevel warn
: 에러로그파일의 기록내용을 자세하게 기록할 것인가를 결정하는 지시자이다.
댓글 없음:
댓글 쓰기