사용한 OS : RHEL 7, RHEL 8

 

[목차]

1. 아파치 설치 전 패키지 설치(yum)

2. 아파치 2.4.57 설치

3. 설치 확인

 


1. 아파치 설치 전 패키지 설치(yum)

1-1. RHEL 7 에서 진행 할 때

1) C, C++ 컴파일러 설치

- 소스 컴파일 하려면 gcc compiler 필요함

yum install -y gcc gcc-c++

2) XML parcer 라이브러리 설치

- 아파치 2.4 설치 할 때 apr, apr-util, pcre 패키지가 필요하다.

- apr, apr-util, pcre 패키지를 설치하려면 XML parser 라이브러리 설치해야한다.

yum install -y expat expat-devel expat-static

3) PCRE 설치

- wget으로 파일을 받아서 진행

- https://sourceforge.net/projects/pcre/files/pcre/ 에서 받는다.

 

1-2. RHEL 8에서 진행 할 때

make 패키지 설치해준다.(yum)

1) C, C++ 컴파일러 설치

- 소스 컴파일 하려면 gcc compiler 필요함

yum install -y gcc gcc-c++ make

2) XML parcer 라이브러리 설치

- 아파치 2.4 설치 할 때 apr, apr-util, pcre 패키지가 필요하다.

- apr, apr-util, pcre 패키지를 설치하려면 XML parser 라이브러리 설치해야한다.

yum install -y expat expat-devel

3) PCRE 설치

- wget으로 파일을 받아서 진행

- https://sourceforge.net/projects/pcre/files/pcre/ 에서 받는다.

 


2. Apache 2.4.57 설치

 

1) 아파치 설치에 필요한 파일 다운로드 (다운로드 파일 경로 : /usr/local/src)

- http

https://dlcdn.apache.org/httpd/

- apr / apr-utils

https://apr.apache.org/download.cgi

- pcre

https://sourceforge.net/projects/pcre/files/pcre/8.45/

$ cd /usr/local/src

# 아파치 다운로드 & 압축해제
wget https://dlcdn.apache.org/httpd/httpd-2.4.58.tar.gz
tar zxvf httpd-2.4.58.tar.gz

# apr 다운로드 & 압축해제
wget https://dlcdn.apache.org/apr/apr-1.7.4.tar.gz
tar zxvf apr-1.7.4.tar.gz

# apr-util 다운로드 & 압축해제
wget https://dlcdn.apache.org/apr/apr-util-1.6.3.tar.gz
tar zxvf apr-util-1.6.3.tar.gz

# prce 다운로드 & 압축해제
wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz
tar zxvf pcre-8.45.tar.gz

 

2) 컴파일 설치 순서(의존성 문제 떄문에 아래와 같은 순서로 진행 필요함)

arp → arp-util → pcre → httpd

 

3)  apr설치

# arp 소스파일 있는 경로로 이동
cd /usr/local/src/apr-1.7.4

# apr makefile 생성
./configure --prefix=/usr/local/src/apr-1.7.4

# 설치
make && make install

 

4) apr-util 설치

# arp-util 소스파일 경로로 이동
cd /usr/local/src/apr-util-1.6.3

# arp-util makefile 생성 + 의존성 소스의 경로를 넣어준다.
./configure --prefix=/usr/local/src/apr-util-1.6.3 --with-apr=/usr/local/src/apr-1.7.4

# 설치
make && make install

 

5) pcre 설치

# pcre 경로로 이동
cd /usr/local/src/pcre-8.45

# makefile 생성 + apr / apr-util 의존소스 경로 넣어서 진행
./configure --prefix=/usr/local/src/pcre-8.45 --with-apr-util=/usr/local/src/apr-util-1.6.3  --with-apr=/usr/local/src/apr-1.7.4

# 설치
make && make install

 

6) Apache 설치 진행

# httpd 설치 경로로 이동
/usr/local/src/httpd-2.4.57

# makefile 생성 + 의존소스 파일 다 넣어주기
# pcre-config 파일의 경로를 넣어야 함 !!!!
./configure --prefix=/usr/local/src/httpd-2.4.57 --with-apr-util=/usr/local/src/apr-util-1.6.3  --with-apr=/usr/local/src/apr-1.7.4  --with-pcre=/usr/local/src/pcre-8.45/bin/pcre-config

# 설치
make && make install

# 설치 확인
$ /usr/local/src/httpd-2.4.57/bin/apachectl -V
Server version: Apache/2.4.57 (Unix)
Server built:   Oct 17 2023 15:10:06
Server's Module Magic Number: 20120211:127
Server loaded:  APR 1.7.4, APR-UTIL 1.6.3, PCRE 8.45 2021-06-15
Compiled using: APR 1.7.4, APR-UTIL 1.6.3, PCRE 8.45 2021-06-15
Architecture:   64-bit
Server MPM:     event
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_PROC_PTHREAD_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/usr/local/src/httpd-2.4.57"
 -D SUEXEC_BIN="/usr/local/src/httpd-2.4.57/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

 

7)  Apache start

/usr/local/src/httpd-2.4.57/conf/httpd.conf 에서 ServerName을 넣어주고 start한다.

 


3. 아파치 설치확인

 

1) 브라우저에서 확인

브라우저로 확인 할 때, 방화벽(firewalld)의 활성화 여부를 꼭 체크하자

 

2) curl 명령어로 확인

curl localhost:80
<html><body><h1>It works!</h1></body></html>

 

8) 기타 - httpd, apachectl 명령어를 /bin에 복사해두면 편하게 쓸 수 있다.

cd /usr/local/src/httpd-2.4.57/
cp -arpv httpd /bin/

/usr/local/src/httpd-2.4.57/httpd/bin
cp -arpv apachectl /bin/

 

★ 참고 URL

https://anggeum.tistory.com/entry/Apache-HTTP-Server-v24-%EC%84%A4%EC%B9%98-Source-Compile
https://velog.io/@dongli/Web-%EC%84%9C%EB%B2%84-%EC%86%8C%EC%8A%A4-%EC%84%A4%EC%B9%98

+ Recent posts