아파치 설치

웹서버 설치 (Apache)

 

6.1  Cronolog 설치  - 아파치 날짜별 로그관리
6.1.1  cronlog 다운로드

tmp#  wget   cronolog-1.6.2.tar.gz    

또는  http://cronolog.org/download/index.html

 

# tar zxvf cronolog-1.6.2.tar.gz

# cd cronolog-1.6.2

# ./configure ;make ; make install

/usr/local/sbin/cronolog 에 설치된다.

 

6.1.2 Apache에 croonolog 작용하기

httpd.conf 의 ErrorLog , CustomLog 부분만 수정해주면 된다.
ErrorLog "| /usr/local/sbin/cronolog /usr/local/apache/logs/errors_%Y%m%d.log"

CustomLog "| /usr/local/sbin/cronolog /usr/local/apache/logs/access_%Y%m%d.log" common env=acceptlist

 

6.2  Apache 소스받아 설치하기

6.2.1  소스받기

ftp ftp.sayclub.co.kr     계정은 ftp  암호는 그냥 엔터치면됨.

ftp> cd  /pub/apache/httpd  에서 다운로드 받음.

httpd-2.2.3 다운로드 설치함
 

또는  http://www.apache.org/dist/

 

6.2.2  컴파일

# ./configure --prefix=/usr/local/apache --enable-shared=max --enable-module=all --enable-module=log_agent --enable-module=log_referer ; make ; make install

(10분소요됨)

또는 기본 컴파일 # ./configure --prefix=/usr/local/apache ; make ; make install

 

※ 컴파일중 arp오류시 ar 명령어를 쳐서 있는지 본다. 없으면 .cshrc 에 /usr/ccs/bin 를 잡아준다.

/home/httpd-2.0.52/srclib/apr/libtool: ar: command not found

make[3]: *** [libapr-0.la] Error 127

make[3]: Leaving directory `/home/httpd-2.0.52/srclib/apr'

make[2]: *** [all-recursive] Error 1
 

 

6.2.3  httpd.conf 수정

# vi /usr/local/apache/conf/httpd.conf

ServerName  www.yejin.pe.kr
 
DocumentRoot "/usr/local/apache/htdocs"
 
<IfModule mod_dir.c>
 
    DirectoryIndex index.html
 
</IfModule>
 
User daemon
 
Group daemon
 

※ 예전버전은 User nobody , Group nobody 으로 작업해야함.

 

6.2.4  Index.html 만들고, 데몬재시작

index.html을 만들어 준다.

# vi /usr/local/apache/htdocs/index.html

# /usr/local/apache/bin/apachectl start

 

6.2.5  데몬이 안뜰시 에러로그보기

/usr/local/apache/logs>more  error_log

 

6.2.6  기존 RPM제거

1) Linux경우 기존RPM 제거

# rpm -qa| grep httpd
# rpm -e httpd-deveb httpd --nodeps
# killall  httpd

 

6.2.7  Linux 부팅시 Apache 자동시작되게 하기
# vi  /etc/rc.d/rc.local  의 맨아래줄에 다음을 추가

/usr/local/apache/bin/apachectl  start
 

 

 

6.2.8  Solaris용 Apach 바이너리 받아 설치하기

# ftp  ftp.sayclub.co.kr  , /pub/sun_freeware/sparc/

# pkgadd  –d

 

 

6.3  아파치 virtual host 설정
6.3.1 Vittual Host 설정

# vi /usr/local/apache/conf/httpd.conf

# Virtual hosts

Include conf/extra/httpd-vhosts.conf   // 주석문 해제
 

 

[root@ispdns extra# cd /usr/local/apache/conf/extra/

[root@ispdns extra# vi httpd-vhosts.conf

[root@ispdns www.yejin.pe.kr# more /usr/local/apache/conf/extra/httpd-vhosts.conf

NameVirtualHost *:80

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host2.example.com

    DocumentRoot /usr/local/apache/htdocs/www.yejin.pe.kr

    ServerName www.yejin.pe.kr

    ErrorLog logs/yejin.pe.kr.error_log

    #CustomLog logs/dummy-host2.example.com-access_log common

</VirtualHost>

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /usr/local/apache/htdocs/www.foxylady.co.kr

    ServerName www.foxylady.co.kr

    #ServerAlias www.dummy-host.example.com

    #ErrorLog logs/dummy-host.example.com-error_log

    #CustomLog logs/dummy-host.example.com-access_log common

</VirtualHost>
 

부팅

conf# ../bin/apachectl -t

conf# ../bin/apachectl restart

/sbin# more rc3

/etc/rc3.d# ls K50apache

/etc/init.d# ls apache

 

부팅시 아파치데몬 자동시작되게 하기 : Hard-Link 설정

/etc/init.d# ln -n apache /etc/rc3.d/S55apache
 

6.3.3  웹서버 benchmark 할 때 유용한 lynx, ab

  1) time lynx -source localhost > /dev/null

  2) ab -n 10 localhost/     10회 반복해서 요청

   ab -n 10 -c 10 loclahost/  10회 반복, 10건이 동시 접속일 때

 

 

7. 설정을 적용하기 않고 사전에 테스트하기

# ../bin/apachectl configtest

 

8. 아파치 설정화일 변경후  연결을 끊지 않고, 변경된 httpd.conf파일 설정 적용하기
# apachectl graceful
bind에서 rndc reload와 유사함.