Apache 2.0.47 컴파일 메뉴얼 (Ver 1.0)


Official distribution site : http://jkkang.net/
Technical Info : jkkang65@hanmail.net

Last Updated in October 5, 2003
Written by Kang Jul Ki



   본 문서는 AIX 5.1에서 Apache 2.0.47 버전을 컴파일하는 방법을 소개하는 문서이다.

S/WVersion비고
IBM AIX5.1ML #3 or higher
Apache2.0.47
GNU gcc3.3.1or higher
GNU make3.803.75 or higher
GNU tar1.13or higher


   위에서 higher란 말은 그 이상에서도 컴파일이 될수 있음을 의미한다. 옆에 있는 버전은 필자가 테스트한 환경을 의미한다. 각각의 디렉토리및 경로는 필자의 경우를 예로 들은 것이므로 자신들의 환경에 맞추어서 약간씩 변경할 수도 있다.

Apache2는 1996년부터 개발이 시작되었다고 한다. 점점 다양해지는 웹서비스 환경에 부응하기 위해서는 Apache 1.x의 문제점을 보완한 새로운 버전이 필요했다고 한다. 아시다시피 Apache 1.x는 요청이 증가하면서 process도 증가하는것을 알수가 있다. Apache2에서는 Multi Thread 방식을 이용해서 증가하는 웹서비스 요청에 막강한 능력을 발휘하게 된다. 자세한 내용은 Apache 홈페이지를 참고하기 바란다.


1. Apache 2.0.47 컴파일 환경


www:/> id
uid=0(root) gid=0(system) groups=2(bin),3(sys),7(security),8(cron),10(audit),11(lp)

www:/> more ~/.profile
PATH=/usr/local/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:/usr/java131/bin:/usr/vac/bin:/usr/vacpp/bin:.

www:/> gcc -v
Reading specs from /usr/local/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.3.1/specs
Configured with: ../gcc-3.3.1/configure --disable-nls
Thread model: aix
gcc version 3.3.1

www:/> make -v
GNU Make 3.80
Copyright (C) 2002  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

www:/> gzip --version
gzip 1.2.4 (18 Aug 93)
Compilation options:
DIRENT UTIME STDC_HEADERS HAVE_UNISTD_H

www:/> tar --version
tar (GNU tar) 1.13.25
Copyright ?2001 Free Software Foundation, Inc.
This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute it under the terms of the GNU General Public License;
see the file named COPYING for details.
Written by John Gilmore and Jay Fenlason.




2. Apache 2.0.47 압축풀기


www:/usr/local> ls -l httpd-2.0.47.tar.gz
-rw-r-----   1 root     system      6217401 Oct  5 20:01 httpd-2.0.47.tar.gz

www:/usr/local> gzip -dc httpd-2.0.47.tar.gz | tar xvf -

또는 GNU tar는 다음과 같이 한꺼번에 gzip을 사용하지 않고 풀어도 된다.
www:/usr/local> tar zxvf httpd-2.0.47.tar.gz
www:/usr/local> cd httpd-2.0.47

Tip) apache는 나중에 다시 소스컴파일을 할수 있도록 위와같이 소스를 그대로 남겨놓는편이 좋다. Apache 2에서의 기본 디렉토리는 /usr/local/apache2이다. Apache 1.x
에서는 기본디렉토리가 /usr/local/apache 였으므로 다르다는것을 알수가 있을것이다.




3. 컴파일 및 인스톨


www:/usr/local/httpd-2.0.47> ./configure --enable-module=so

Tip) --enable-module=so 은 DSO(Dynamic Shared Object) 모듈로 컴파일하는 옵션이다. PHP, Tomcat을 나중에 연동할때 이 옵션을 사용하게 된다. 
DOS 모듈로 컴파일하는 방법의 장점은 많다. 이 부분은 인터넷을 참고하기 바란다. --prefix=/usr/local/apache2 를 보통 하는데, 이부분은 생략을 해도
된다. --prefix는 Apache을 인스톨하고자 하는 위치를 말하는데, 기본적으로 Apache2에서는 /usr/local/apache2에 인스톨이 된다. 다른곳에 인스톨을 하고자 한다면
--prefix= 를 설정하기 바란다.

www:/usr/local/apache2> make
...
OUTPUT(httpd aixcoff-rs6000)
LOAD initfini
LOAD /lib/librtl.a
make[1]: Leaving directory `/usr/local/apache2'
...


www:/usr/local/httpd-2.0.47> cd /usr/local/apache2
www:/usr/local/apache2> make install
www:/usr/local/apache2> vi conf/httpd.conf
...
#ServerName new.host.name:80
ServerName www.jkkang.net

...
#Group #-1
Group nobody
...

로 고친다. 


www:/usr/local/apache2> ./bin/apachectl start
www:/usr/local/apache2> ps -ef|grep httpd
    root 30220     1   0 21:34:24      -  0:00 /usr/local/apache2/bin/httpd -k start
  nobody 30712 30220   0 21:34:24      -  0:00 /usr/local/apache2/bin/httpd -k start
  nobody 38632 30220   0 21:34:24      -  0:00 /usr/local/apache2/bin/httpd -k start
  nobody 38994 30220   0 21:34:24      -  0:00 /usr/local/apache2/bin/httpd -k start
  nobody 40160 30220   0 21:34:24      -  0:00 /usr/local/apache2/bin/httpd -k start
  nobody 41132 30220   0 21:34:24      -  0:00 /usr/local/apache2/bin/httpd -k start




아~~~ 잠온다...
필자의 컴파일 문서가 Apache 2.0.47을 설치하는 분들께 많은 도움이 되었으면 합니다. 그리고, 문서에 오류가 있으면 저에게 멜로 알려주시면 고맙겠습니다.



Copyleft (c) 1996 - 2003, Kang Jul Ki. All rights were not reserved.
Powered by http://jkkang.net since 1996