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 명령 수행 결과 아파치가 실행되지 않은 것을 확인할 수 있습니다.



어떤 에러가 발생했는지 확인하려면 logs/error_log 파일을 봐야 합니다.
# 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 버전을 컴파일로 설치하는 방법에 대해 알아보았습니다.