Security_Analysis

Apache 설치(Source<tar.gz> Install) 본문

Operating System

Apache 설치(Source<tar.gz> Install)

Positivie 2023. 12. 25. 16:04
728x90
반응형

※ 본 글에 있는 설치방법은 인터넷이 되는 환경에서의 별도의 경로에 Apache를 설치하기 위한 방법으로, 

   인터넷이 되지 않는 환경에서 Apache Source 설치를 해야하시는 분은 "여기로" 넘어가시기 바랍니다. 

 

0. 설치 버전 및 환경


     OS : CentOS7 Minimal ( 인터넷 연결 되어 있음 ) 

     Apache Version : 2.4.58

     설치방법 : C Compiler, tar.gz , yum


1. 부가적 필요한 패키지 

※ gcc, gcc-c++ : tar.gz 파일을 ./configure 와 make 하는 과정에서 C Compiler가 필요하므로 설치필요

※ pcre-devel : Apache 설치중에 libpcre가 필요하며, libpcre가 pcre-devel 에 포함되어 있음

※ expat-devel : Apache 설치중에 expat.h를 필요로 하는데, expat-devel에 포함되어 있음

[root@localhost ~]# yum -y install gcc gcc-c++ pcre-devel expat-devel

2. wget 설치

※ 웹(w) 상의 파일을 다운로드(get) 할때 사용하는 명령으로CentOS7 Minimal 버전에는 설치되어 있지 않으므로 별도 설치가 필요함

[root@localhost ~]# yum -y install wget

3. Mirrorlist 를 통한 apr, apr-util, httpd, pcre 다운로드 

※ apr, apr-util, httpd : Kakao Mirrorlist 를 통해서 다운로드

※ pcre : sourceforge 에서 다운로드 

[root@localhost ~]# cd /usr/local
[root@localhost local]# mkdir apache_rpm
[root@localhost local]# cd apache_rpm

# apr
[root@localhost apache_rpm]# wget https://mirror.kakao.com/apache/apr/apr-1.7.4.tar.gz

# apr-util
[root@localhost apache_rpm]# wget https://mirror.kakao.com/apache/apr/apr-util-1.6.3.tar.gz

# httpd
[root@localhost apache_rpm]# wget https://mirror.kakao.com/apache/httpd/httpd-2.4.58.tar.gz

# pcre 
[root@localhost apache_rpm]# wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz/download

4. 다운로드 받은 tar.gz 파일 압축해제

[root@localhost apache_rpm]# tar xvzf apr-1.7.4.tar.gz
[root@localhost apache_rpm]# tar xvzf apr-util-1.6.3.tar.gz
[root@localhost apache_rpm]# tar xvzf httpd-2.4.58.tar.gz
[root@localhost apache_rpm]# tar xvzf pcre-8.45.tar.gz

5. 압축 해제된 apr 과 apr-util 디렉토리의 이름을 바꿔서 경로 이동

※ apr-1.7.4 를 apr 로 / apr-util-1.6.3 을 apr-util 로 변경하여 

※ httpd-2.4.58 디렉터리 내부 srclib 안으로 이동 

 

# 현재 위치 
# pwd
[root@localhost apache_rpm]# pwd
/usr/local/apache_rpm

[root@localhost apache_rpm]# mv ./apr-1.7.4 ./httpd-2.4.58/srclib/apr
[root@localhost apache_rpm]# mv ./apr-util-1.6.3 ./httpd-2.4.58/srclib/apr-util

6. pcre 경로로 이동하여 configure && make && make install 

# 현재 위치 
# pwd
[root@localhost apache_rpm]# pwd
/usr/local/apache_rpm

[root@localhost apache_rpm]# cd ./pcre-8.45
[root@localhost pcre-8.45]# ./configure --prefix=/usr/local/pcre
[root@localhost pcre-8.45]# make
[root@localhost pcre-8.45]# make install

7. httpd  경로로 이동하여, configure && make && make install 

[root@localhost pcre-8.45]# cd ../

[root@localhost apache_rpm]# cd httpd-2.4.58
[root@localhost httpd-2.4.58]# ./configure --prefix=/usr/local/httpd_apache --enable-modules=all --enable-so --with-included-apr --with-mpm-shared=all
[root@localhost httpd-2.4.58]# make
[root@localhost httpd-2.4.58]# make install

8. install 된 httpd 경로로 이동하여 서비스 활성화 테스트

[root@localhost httpd-2.4.58]# cd ../
[root@localhost apache_rpm]# cd ../
[root@localhost local]# cd ./httpd_apache
[root@localhost httpd_apache]# cd ./bin

[root@localhost bin]# pwd
/usr/local/httpd_apache/bin

[root@localhost bin]# /usr/local/httpd_apache/bin/httpd -k start

※ AH00558 Error 발생시 

 Could not reliably determine the server's fully qualified domain name, using 172.17.0.1. Set the 'ServerName' directive globally to suppress this message

 

무시해도 되지만, httpd.conf 파일에서 ServerName이 설정되어 있지 않아서 발생하는 오류이므로, 

외부 공개를 목적으로 하는게 아닌 나만 쓰기 위함이면, localhost 로 설정가능 


※ 페이지 로드 되지 않을 시

방화벽 비활성화 혹은 80번 포트 OPEN

 

방화벽에 의해서 80번 포트가 막혀있을 수 있으므로, 80번 포트를 열어주거나, 방화벽 비활성화 처리

# 방화벽 비활성화
[root@localhost ~]# systemctl stop firewalld

# 방화벽 80번 포트 OPEN
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp
[root@localhost ~]# firewall-cmd --reload

 

 

728x90
반응형