출처: http://library.gabia.com/contents/infrahosting/3513

 

1. 설치에 필요한 패키지의 설치

리눅스 상에서 소스파일 다운로드하고, 컴파일을 위하여 필요한 패키지를 설치합니다.

#yum -y install wget gcc gcc-c++ pcre-devel openssl-devel

 

2. 설치파일 다운로드 및 압축해제

  -apache 소스 파일 다운로드 및 압축해제

#cd /usr/local/src

#wget http://mirror.apache-kr.org/httpd/httpd-2.4.18.tar.gz

#tar xzvf httpd-2.4.18.tar.gz

   -설치 시 필요한 파일 추가 다운로드 및 압축해제

#cd httpd-2.4.18/srclib

#wget http://mirror.apache-kr.org//apr/apr-1.5.2.tar.gz

#wget http://mirror.apache-kr.org//apr/apr-util-1.5.4.tar.gz

#tar xvfz apr-1.5.2.tar.gz

#tar xvfz apr-util-1.5.4.tar.gz

#mv apr-1.5.2 apr

#mv apr-util-1.5.4 apr-util

웹 서버 구축을 위한 apache 소스파일을 이용하기 위해서는
http://httpd.apache.org/download.cgi 사이트를 참고하여 httpd 2.4 최신버전을 다운로드 받습니다.
이 글에서는 리눅스에서 직접 설치를 위해 wget 명령어를 이용하였습니다.

 

3. apache 소스 컴파일 및 설치

Apache 설치에 필요한 환경이 모두 준비되었으면 httpd의 configure 명령어를 통해 설치 파일을 구성합니다.

   -configure command
#./configure --prefix=/usr/local/apache ?enable-so ?enable-rewrite ?enable-ssl ?enable-mods-shared=all ?enable-modules=shared ?enable-mpms-shared=all ?with-included-apr ?enable-unique-id

나는
#./configure --prefix=/data/apache --enable-mods-shared=all --enable-so --enable-rewrite

이렇게 함...!


컴파일이 정상적으로 완료되면 make 명령어를 통해 컴파일 및 설치를 진행합니다.

#make

#make install

 

4. 설치 후 설정

설치가 완료되면 서비스 스크립트를 /etc/init.d/ 위치에 복사하여 사용가능 하도록 처리 후

재부팅 시에도 웹 서버가 자동으로 구동될 수 있도록 runlevel에 등록해줍니다.

   -httpd 스크립트 복사 및 서비스 runlevel 등재
#cp -a /usr/local/apache/bin/apachectl /etc/init.d/httpd

#ln -s /etc/init.d/httpd /etc/rc3.d/S99httpd

#/etc/init.d/httpd -V

root 계정으로
#vi /etc/init.d/httpd

#!/bin/sh
#
# chkconfig: - 50 50
# description: init file for Apache2 server daemon

이 두 줄 삽입 후

#chkconfig --add httpd

아래와 같이 간단한 명령어를 통해 정상 등재되었는지 확인합니다.

#chkconfig --list

(httpd 가 리스트에 뜨면 됨)

httpd.conf 수정

/data/apache/conf/httpd.conf 의 아래 부분을 수정

User nobody
Group nobody

ServerName swing:80

httpd 파일 권한 수정

/data/apache/bin
httpd 파일 권한 수정
(root 계정으로)

#chown root:was ./httpd
#chmod 6775 ./httpd

 

5. 서비스 확인

#/etc/init.d/httpd start
http 스크립트 명령어를 통해 웹서비스를 시작한 후 정상적으로 80 port가 Listen되는지 확인합니다.

#netstat -lnpt |grep httpd
#/etc/init.d/httpd start
#/etc/init.d/httpd status
Not Found

#netstat -lnpt |grep httpd
tcp6 0 0 :::80 :::* LISTEN 48192/httpd

 

끝.

+ Recent posts