BBUWOO'S [ LIKE UNIX ] WORLD Home > Lecture > Apache > Apache-1  

HOME
WHAT's BBUWOO?
LInux AnNyung
Open Source
    GitHUB
    GitHUB (for PHP)
LECTURE
MINI LECTURE
QnA BOARD
ENGLISH POEM


WARNNING

강좌의 모든 권리는 본인 김정균에게 있으며 이 강좌를 상업적 목적 으로 이용
하거나 다른 곳으로 옮길시에는 본인의 허락이 있어야 한다. 이글의 가장 최신글은
http://oops.org 에서 확인할수 있다.



1. Apache Web Server 설치하기

전 세계적으로 가장 많이 쓰이는 Web Server인 Apache Server의 설치와 Setting에 대해서 강의를 하겠다. 버젼에 따라 강좌의 예와 조금 다를수도 있으나 기본적인 사항은 별로 달라진것이 없다. 그러므로 이 강좌를 잘 응용한다면 그리 어려움이 없을 것이다. 일단 설치는 RedHat Linux를 기준으로 할것이며 Window용 Apache는 다운받은 apache_1_3_6.exe를 실행함으로서 쉽게 자동 으로 설치를 할 수가 있다. Setting은 Linux나 windows나 다를 것이 없다.

참고 : WINDOWS 용 버젼
http://www.apache.kr.net의 문서를 참조하기 바란다. LINUX용또한 이곳의 문서를 참조해도 괜찮다.


1. Source 구하기

2. 설치

RPM을 구한 사람들은 간단하게 RPM file이 있는 디렉토리에서 아래와 같은 명령을 해 주면 된다.

rpm -Uhv apache-1.3.6-1kr.i386.rpm

Source를 구한 사람들은 다운 받은 file을 /usr/local/ 에 복사하여 압축을 푼다. 1.3.4 이전에는 apache basic directory가 /usr/local/etc/httpd 였지만 1.3.4 부터는 /usr/local/apache 로 바뀌었기 때문에 소스를 푸는 디렉토리의 경로가 변경된 것을 주의해야 한다.

tar -xvzf apache_1.3.6.tar.gz

압축을 풀면 apache_1.3.6 라는 디렉토리가 생성이 된다. 이것을 apache라는 이름을 바꾼다.

mv apache_1.3.6/ apache/

httpd 디렉토리로 이동을 한다. httpd의 내용을 보면 아래와 같을 것이다. (버젼에 따라 내용이 다를수 있으나 걱정할 필요 는 없다. 기본적인것은 다 같으니..)



 Hanterm - ls -l /usr/loca/apache

 [root@bbuwoo apache]$ ls -l

  -rw-r--r--    1 82    82	12768 Sep 24 19:32 ABOUT_APACHE
  -rw-r--r--    1 82    82	 2795 Jan 10 11:18 Announcement
  -rw-r--r--    1 82    82	26872 Dec 14 16:56 INSTALL
  -rw-r--r--    1 82    82	23598 Oct 20 05:53 KEYS
  -rw-r--r--    1 82    82	 2848 Jan  2 04:04 LICENSE
  -rw-r--r--    1 82    82	22125 Jan  7 20:50 Makefile.tmpl
  -rw-r--r--    1 82    82	 2046 Apr  1  1998 README
  -rw-r--r--    1 82    82	 3356 Oct  3 21:25 README.NT
  -rw-r--r--    1 82    82	11216 Nov  9 06:24 README.configure   
  -rw-r--r--    1 82    82	  331 Sep 22 03:09 WARNING-NT.TXT
  drwxr-xr-x    2 82    82	 1024 Jan 10 16:01 cgi-bin/
  drwxr-xr-x    2 82    82	 1024 Jan 10 16:04 conf/
  -rw-r--r--    1 82    82	 1876 Jan  5 14:14 config.layout
  -rwxr-xr-x    1 82    82	47659 Jan  2 22:19 configure*
  drwxr-xr-x    3 82    82	 1024 Jan 10 16:04 htdocs/
  drwxr-xr-x    3 82    82	 2048 Jan 10 16:01 icons/
  drwxr-xr-x    2 82    82	 1024 Jan 10 16:04 logs/
  drwxr-xr-x   10 82    82	 1024 Feb 22 05:31 src/

 [root@bbuwoo httpd]$

위의 디렉토리들을 설명하자면

cgi-bin cgi 스크립트가 있다.
conf apache 서버의 환경설정 파일이 있다. apache가 시작 할 때 읽어 들인다.
htdocs 일반적으로 홈페이지를 만들어 넣는 곳이다. 처음 설치하고 apache httpd를 띄우고, 웹브라우저로 보면 나오는 홈페이지는 이곳에 있다.
icons 아파치 서버가 자체적으로 사용하는 아이콘들이 있다.
logs 여러가지 log파일들이 있다.
src 말 그대로 apache httpd의 소스가 있다.

그럼 src/ 디렉토리로 이동을 하여 Configuration을 수정한다. 만약 Configuration file이 없다면 Configuration.tmpl을 Configuration으로 Copy를 하여 수정한다. vi 나 pico를 이용해서 이 file을 연다음 필요한 module들의 주석을 풀어 준다.

이제 Compile을 할 준비가 끝났다. Compile을 하려면 Prompt에서 ./Configure를 실행한다. Configure에는 여러가지 option이 있다. 대충 아래 정도만 적절하게 편집을 해주면 된다.

./configure --prefix=/usr \ 
            --bindir=/usr/bin \
            --sbindir=/usr/sbin \
            --libexecdir=/usr/lib/apache \
            --sysconfdir=/etc/httpd/conf \
            --serverroot=/etc/httpd \
            --datadir=/home/httpd \
            --includedir=/usr/include/apache \
            --logfiledir=/var/log/httpd \
            --localstatedir=/var \
            --runtimedir=/var/run \
            --proxycachedir=/var/cache/httpd \
            --enable-module=all \
            --enable-shared=max \
            --disable-rule=WANTHSREGEX

위의 Configure의 option들은 alzza package에 설치되는 apache의 설정들이다. 보통의 경우에는 /usr/local/apache에 설치되기를 원한다면 단순하게 ./Configure 만을 실행해 주면 된다. 참고 할것은 위에서 "\"는 한줄로 쓰라는 의미를 나타낸다.



 Hanterm

 [root@bbuwoo src]$ ./Configure

   Using config file: Configuration
   Creating Makefile
	+ configured for Solaris 251 platform
	+ setting C compiler to gcc
	+ Adding selected modules
	+ doing sanity check on compiler and options         
    Creating Makefile in support
    Creating Makefile in main
    Creating Makefile in ap
    Creating Makefile in regex
    Creating Makefile in os/unix
    Creating Makefile in modules/standard

 [root@bbuwoo src]$

apache 1.2 virsion대와는 달리 1.3에서는 ./Configure 로 해당 platform의 Makefile을 자동으로 만들게 된다. 이제 system에 맞는 Makefile이 만들어 졌다면 make명령을 실행을 한다.

/usr/local/apache/src# make

Compile이 성공적으로 수행이 됐다면 httpd라는 실행 file이 생성이 된다. 편의상

ln httpd ../

과 같이 명령을 내려 /usr/local/apache에 hard link시켜 놓는다.


3. conf file 생성하기

apache의 configuration file들이 위치할 곳은 /usr/local/apache/conf 이며 이곳에 있는 dist file들을 같은 디렉토리에 아래와 같이 copy해 준다.

/usr/local/apache/src# cp httpd-dist.conf httpd.conf


4. Apache server의 실행

/usr/local/etc/httpd/httpd -f /usr/local/etc/httpd/conf/httpd.conf 로 명령을 하면 된다. RPM 으로 설치한 사람들은 /etc/rc.d/init.d/httpd start 로 시작을 하면 된다. 만약 Linux Box가 시작될때에 자동으로 시작하게 하고 싶다면 위의 내용을 /etc/rc.d/rc.local 의 제일 아랫줄에 삽입하면 된다. 만약 RPM으로 apache를 설치한 사람들이라면 ntsysv 라는 명령을 실행하여 apache를 선택해 주면 부팅시에 자동으로 시작을 할수가 있다.

서버 실행시에 아래와 같은 option들을 사용을 할 수가 있다.

-d serverroot

httpd.conf에 지정된 ServerRoot 변수에 대한 지정을 할 수 있다. default는 /usr/local/apache 이다.

-f config

환경 설정 파일을 지정해서 시작하게 한다. default는 /usr/local/apache/conf/httpd.conf 이다.

-X

내부적인 test를 위해 single process mode로 실행 시킨다. 서버 데몬은 son process를 fork하지 않는다.

5. Apache server의 재실행(reflesh)

때로는 설정을 바꾼 다음에 아파치 서버를 다시 띄울 필요가 생긴다. 그러나 ps를 해 보면 아파치 서버는 여러개의 프로세스로 떠 있는데, 이중에 어느 것을 죽여야 하는지 고민하지 말고 다음과 같이 하면된다. cat /usr/local/etc/httpd/logs/http.pid 명령을 내리면 httpd의 pid값을 보여준다. 그러면 kill -HUP pid값 을 하면 된다. http.pid의 경로는 httpd.conf에서 지정을 해준다.

RPM 으로 설치한 사람들은 실행 때와 마찬가지로 /etc/rc.d/init.d/httpd restart 로 할수가 있다.

이제 여기까지 아무 이상없이 왔다면 성공적으로 Apache Server가 설치가 된것이다. 다음에는 Apache Server의 설정을 알아보겠다.



>> 다음 : Apache 1.3.12 Configurations



    



 Home > Lecture > Apache > Apache-1

Copyright 1997-2024 JoungKyun Kim 
LAST MODIFIED: 2017/01/18