CentOS 7에서 Apache 2.0.64 버전을 컴파일해서 설치하는 방법에 대해 알아보겠습니다.
1. 의존성 설치
# yum install -y wget
# yum install -y net-tools
# yum install -y gcc
# yum install -y gcc-c++
# yum install -y make
2. 아파치 설치
아파치 사이트( 링크 )에서 2.0.64.tar.gz 파일을 받고, 압축을 해제합니다.
# wget https://archive.apache.org/dist/httpd/httpd-2.0.64.tar.gz
# tar xvfz httpd-2.0.64.tar.gz
# cd httpd-2.0.64
*** 주의
미러사이트에서 재배포된 아파치 파일을 받을 경우 악성코드에 주의해야 합니다.
압축 파일을 받은 후 md5sum 명령어를 통해 소스코드를 검증할 수 있습니다.
md5sum httpd-2.0.64.tar.gz
다음으로 컴파일 할 때 사용하기를 바라는 C 컴파일러 옵션을 설정하고, 환경 변수가 잘 잡혀있는지 확인합니다.
# CFLAGS="-DHARD_SERVER_LIMIT=1024 \
-DDEFAULT_SERVER_LIMIT=1024 \
-DHARD_SERVER_LIMIT=1024 \
-DDEFAULT_SERVER_LIMIT=1024"; export CFLAGS
# echo $CFLAGS
다음은 설치에 대한 환경 설정을 하기 전에 /usr/local/victolee 디렉터리를 생성합니다.
이 디렉터리는 여러 라이브러리를 모아 놓기 위한 디렉터리인데, 이렇게 관리를 할 수 있다는 것이 컴파일 설치의 큰 장점이죠.
이어서 빌드를 하기 위해 환경 설정을 한 후, make 명령어로 빌드를 하고, make install 명령어로 설치를합니다.
# mkdir /usr/local/victolee
# ./configure \
--prefix=/usr/local/victolee/apache2.0.64 \
--with-mpm=worker \
--enable-so \
--disable-access \
--enable-access=shared \
--disable-auth \
--enable-auth=shared \
--disable-include \
--enable-include=shared \
--disable-log-config \
--enable-log-config=shared \
--disable-env \
--enable-env=shared \
--disable-setenvif \
--enable-setenvif=shared \
--disable-mime \
--enable-mime=shared \
--disable-status \
--enable-status=shared \
--disable-autoindex \
--enable-autoindex=shared -disable-asis \
--enable-asis=shared \
--disable-cgi \
--disable-cgid \
--enable-cgid=shared \
--disable-negotiation \
--enable-negotiation=shared \
--disable-dir \
--enable-dir=shared \
--disable-imap \
--enable-imap=shared \
--disable-actions \
--enable-actions=shared \
--disable-userdir \
--enable-userdir=shared \
--disable-alias \
--enable-alias=shared \
--enable-mods-shared=all
# make
# make install
# cd /usr/local/victolee/apache2.0.64
configure의 설정 내용은 ./configure --help 명령어를 통해 확인이 가능합니다.
# cd /usr/local/victolee/apache2.0.64
이 경로에 아파치가 설치된 이유는 환경 설정 부분에서 --prefix 값이 /usr/local/victolee/apache2.0.64이기 때문입니다.
3. 아파치 설정 수정
설치된 아파치 디렉터리에서 파일 및 디렉터리의 목록을 보시면,
configure에서 설치했던 모듈들이 modules 디렉터리에 저장이 되어있습니다.
이후에 PHP 모듈 같은 다른 모듈들을 설치하게 되면 modules 디렉터리에 존재하게 됩니다.
그리고 htdocs 디렉터리에는 웹 콘텐츠( html 파일 등 )들이 존재합니다.
아파치 환경 설정을 하는 파일은 conf/httpd.conf 파일이고, 지금은 테스트를 위해 Server Name을 수정해볼 것입니다.
# ls -l
# vi conf/httpd.conf
( ServerName을 검색하여 아래와 같이 수정 ( line : 326 ) )
ServerName 127.0.0.1:80
4. 아파치 실행
이제 아파치를 실행해 보겠습니다.
# /usr/local/victolee/apache2.0.64/bin/apachectl start
# ps -ef | grep httpd
ps -ef | grep httpd 명령 수행 결과 아파치가 실행되지 않은 것을 확인할 수 있습니다.
# cat /usr/local/victolee/apache2.0.64/logs/error_log
에러 내용을 확인해보면 다음과 같습니다.
Invalid argument: mod_rewrite: Could not set permissions on rewrite_log_lock; check User and Group directives
유저와 그룹에 대한 권한을 확인하라는 것 같습니다.
# vi /usr/local/victolee/apache2.0.64/conf/httpd.conf
( Group을 검색하여 아래와 같이 수정 ( line : 303 ) )
Group nobody
# /usr/local/victolee/apache/bin/apachectl start # ps -ef | grep httpd
이제 정상적으로 아파치가 실행되네요.
5. 테스트
이제 아파치가 잘 실행되는지 브라우저에서 확인합니다.
ifconfig 명령어를 통해 IP주소를 확인한 후, 브라우저에 접속해봅니다. ( 저 같은 경우는, http://192.168.245.130 )
위와 같은 페이지가 보인다면, 아파치가 성공적으로 설치된 것입니다.
이상으로 아파치 2.0.64 버전을 컴파일로 설치하는 방법에 대해 알아보았습니다.