본문 바로가기
FullStack/41. WEB.WAS

Apache HTTPD Server 컴파일

by nakanara 2022. 3. 21.
반응형

 

 

Apache HTTPD Server 컴파일하는 방법을 정리합니다.
YUM을 통한 설치가 간편한 방법이지만, 특정 경로에 설치가 필요해서 사용하였습니다.

사전 라이브러리 설치

$ sudo yum install -y gcc-c++ 
$ sudo yum install -y expat-devel
$ sudo yum install -y httpd-devel
$ sudo yum install -y make
$ sudo yum install -y autoconf
$ sudo yum install -y libtool

-- deflate
$ sudo yum install -y zlib-devel

-- http2
$ sudo yum install -y libnghttp2
$ sudo yum install -y libnghttp2-devel

-- ssl
$ sudo yum install -y openssl-devel

* zlib-devel : 데이터 압축 라이브러리 mod-deflate 설치 시 필요

HTTPD 컴파일을 위한 관련 라이브러리 다운로드

  • 다운로드를 위한 임시 폴더 생성 및 wget 설치
$ mkdir -p /app/temp
$ cd /app/temp
$ sudo yum install -y wget
  • httpd-2.4.52 다운로드
  • apr-1.7.0 다운로드
  • apr-util 1.6.1 다운로드
$ wget https://dlcdn.apache.org//httpd/httpd-2.4.53.tar.gz --no-check-certificate
$ wget https://dlcdn.apache.org//apr/apr-1.7.0.tar.gz --no-check-certificate
$ wget https://dlcdn.apache.org//apr/apr-util-1.6.1.tar.gz --no-check-certificate

$ tar xvfz httpd-2.4.53.tar.gz
$ tar xvfz apr-1.7.0.tar.gz
$ tar xvfz apr-util-1.6.1.tar.gz

$ mv apr-1.7.0 httpd-2.4.53/srclib/apr
$ mv apr-util-1.6.1 httpd-2.4.53/srclib/apr-util

APR은 고급 IO 기능 및 OS 수준의 기능 등을 아파치가 설치된 OS에 관계없이 활용할 수 있도록 지원하는
크로스 플랫폼 라이브러리로써 아파치의 확장성, 성능 등에 밀접한 연관성을 갖고 있는 의존성 라이브러리

 

$ wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz/download -O pcre-8.45.tar.gz --no-check-certificate

$ tar xvfz pcre-8.45.tar.gz
$ cd pcre-8.45
$ ./configure --prefix=/app/temp/httpd-2.4.53/srclib/apr-util --with-apr=/app/temp/httpd-2.4.53/srclib/apr-util
$ make && make install

PCRE는 정규표현식 라이브러리로 apache 설치 시에 PCRE2를 설치하면 인식하지 못하기 때문에 PCRE1 중 가장 최신 버전 설치

PCRE를 설치할 때 prefix로 /usr/local 경로를 주게 되는데 make install 설치 후 /usr/local/bin/ 하위에 pcre-config 파일이 생성된다. /usr/local 폴더는 리눅스에서 소스(Apache, MySQL, PHP 등)를 컴파일하여 설치할 때 주로 사용되는 폴더로 윈도우의 Program Files와 유사

컴파일

prefix에 설정한 위치에 컴파일된 소스가 생성된다.

$ cd httpd-2.4.53

./configure --prefix=/app/Apache24 \
--enable-modules=most \
--enable-mods-shared=all \
--enable-so \
--enable-http2 \
--enable-rewrite \
--enable-headers \
--enable-deflate \
--enable-cache \
--enable-expires \
--with-included-apr \
--with-pcre=/app/temp/pcre-8.45/pcre-config \
--enable-mods-shared=ssl \
--with-ssl=/usr/lib64/openssl \
--enable-ssl=shared \


$ make && make install

 

Tomcat Connectors(mod_jk) 컴파일

$ wget https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz  --no-check-certificate

$ tar xvfz tomcat-connectors-1.2.48-src.tar.gz
$ cd tomcat-connectors-1.2.48-src/native
$ ./configure --with-apxs=/usr/bin/apxs
$ make && make install

$ cd ./apache-2.0
$ cp ./mod_jk.so /app/Apache24/modules/

 

 

2021.08.25 - [BackEnd/Linux] - CentOS7 OpenSSL 1.0.2 -> 1.1.1 업그레이드

반응형