[OS]/Embedded&Linux

[INSTALL] 나도 Trac을 써보자! Apache-2.2.2/SVN-1.3.1/Trac-0.9.5/FastCGI (3) - apache 설치

하늘을닮은호수M 2007. 4. 10. 13:40
반응형

출처 : http://classpath.egloos.com/2026643

이 글에 있는 내용.

- 1. apche 설치 (계속)

(3) apache 소스트리 설정 및 컴파일, 설치
- apahce 를 다운로드 받고 압축을 해제해놓은 디렉터리로 이동한다.
- 여기서도 gentoo 빌드 스크립트의 그것(?)을 좀 가져와보자.

/usr/portage/net-www/apache/files/common 디렉터리에는 config.layout 이라는 파일이 있고 아래는 그 내용이다.


prefix: /usr
exec_prefix: /usr
bindir: /usr/bin
sbindir: /usr/sbin
libdir: /usr/lib
libexecdir: /usr/lib/apache2/modules
mandir: /usr/share/man
infodir: /usr/share/info
includedir: /usr/include/apache2
installbuilddir: /usr/lib/apache2/build
datadir: /data/www/localhost
errordir: /data/www/localhost/error
iconsdir: /data/www/localhost/icons
htdocsdir: /data/www/localhost/htdocs
cgidir: /data/www/localhost/cgi-bin
manualdir: /usr/share/doc/version/manual
sysconfdir: /etc/apache2/conf
localstatedir: /var
runtimedir: /var/run
logfiledir: /var/log/apache2
proxycachedir: /var/cache/apache2


위의 내용중 /var/www 를 /data/www 로 변경한 뒤 config.layout 파일에 추가해주자.

./configure --enable-layout=Gentoo
--with-apr=/usr
--with-apr-util=/usr
--enable-mods-shared=most
--disable-suexec
--enable-ssl --ssl-with=/usr
--with-mpm=worker

만약 apr 들을 따로 설치하지 않고 한번에 설정 및 설치하려면 아래와 같이 하면 되다.

./configure --enable-layout=Gentoo
--enable-mods-shared=most
--enable-threads --enable-nonportable-atomics
--with-dbm-sdbm --with-berkeley-db=/usr/include/db4.3:/usr/lib
--disable-suexec
--enable-ssl --ssl-with=/usr
--with-mpm=worker

* --enable-threads --enable-nonportable-atomics 는 apr 로 전달될 설정 변수
* --with-dbm=db42 --with-berkeley-db=/usr/include/db4.2:/usr/lib 는 apr-util 로 전달될 설정 변수와 같이 해주면 된다.

이정도면 기본적으로 잘~ 동작하는 형태를 얻을 수 있다. 더욱 더 튜닝(?) 을 하려면 configure 의 옵션들을 자세히 설명해 놓은 페이지를 참고한다.

make
make install

다음의 파일들 중 /usr/sbin에 존재하는 파일은 뒤에 2를 붙여서 이름을 변경해준다. (나중에 emerge 로 설치하는 다른 녀석들은 모두 ~2형태를 호출한다. 예를 들어 /usr/sbin/apxs 의 경우 /usr/sbin/apxs2 를 호출한다. 그런데 apache 의 오리지널 파일명은 apxs 이다. SLOT 이 0 이기 때문이 아닐까 하고 추측해본다.)

for i in apxs htpasswd htdigest rotatelogs logresolve log_server_status ab checkgid dbmmanage split-logfile suexec; do mv /usr/sbin/${i} /usr/sbin/${i}2; done

한가지 더 /usr/sbin/apachectl 을 /usr/sbin/apache2ctl 로 이름을 변경한다.

맨 페이지 역시 마찬가지이다. (너무 고칠것이 많다보니 그냥 ebuild 로 작업할걸 이라는 후회가..-_-);;

for i in dbmmanage htdigest htpasswd; do mv /usr/share/man/man1/${i}.1 /usr/share/man/man1/${i}2.1; done

for i in ab apxs logresolve rotatelogs suexec; do mv /usr/share/man/man8/${i}.8 /usr/share/man/man8/${i}2.8; done

mv /usr/share/man/man8/httpd.8 /usr/share/man/man8/apache2.8
mv /usr/share/man/man8/apachectl.8 /usr/share/man/man8/apache2ctl.8


- 기타 설정. 이 부분은 ebuild 파일의 설치 및 설치 후 작업 부분을 참고해서 진행한다. (참고라기보다.. 베낀거다..)

mkdir /var/lib/dav
mkdir /var/log/apache2
mkdir /var/cache/apache2

chown apache:apache /var/lib/dav
chown apache:apache /var/log/apache2
chown apache:apache /var/cache/apache2

chmod 755 /var/lib/dav
chmod 755 /var/log/apache2
chmod 755 /var/cache/apache2

cp /usr/portage/net-www/apache/files/apache.confd /etc/conf.d/apache2

복사한 파일을 편집기로 열어서 원하는 옵션을 추가해 준다. ex) APACHE_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE"

(4) 자동 기동

뭐 필요할때만 잠깐 띄워서 쓴다면 상관없지만.. 기왕이면 부팅될 때 자동으로 올라오면 그 얼마나 훌륭한 세상이겠는가.. Gentoo 에서 마련해준(?) 멋진 스크립트를 이용해보자.

cp /usr/portage/net-www/apache/files/apache.rc6 /etc/init.d/apache2
vi apache2
* /usr/sbin/apache를 /usr/sbin/httpd 로 수정한다. apachectl 을 apache2ctl 로 수정한다.
* /var/run/apache.pid를 /var/run/httpd.pid
chmod +x /etc/init.d/apache2

/etc/apache2/conf/httpd.conf 파일을 살짝 수정해 준다.

ServerRoot 가 /usr 로 되어있다. /usr/lib/apache2 로 변경한다. 조금 아래쪽의 LoadModule 에 보면 경로가 모두 lib/apache2/moduels/... 로 되어있는데 modules/... 로 변경한다.

또한

User apache
Group apache

를 확인한다.

rc-update add apache2 default

(5) 기동 및 확인.

/etc/init.d/apache start

브라우저로 http://localhost 로 접속했을 때 It works!! 가 나온다면 OK!!
반응형