반응형
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 업그레이드
반응형
'FullStack > 41. WEB.WAS' 카테고리의 다른 글
WebLogic - Basic Auth 오류 (0) | 2023.04.21 |
---|---|
CVE-2022-3786 및 CVE-2022-3602: X.509 이메일 주소 버퍼 오버플로 (0) | 2022.11.03 |
웹 서비스 성능 개선 - mod_expires 정적 리소스 캐시 사용 (0) | 2022.02.16 |
웹 서비스 성능 개선 - 텍스트 리소스 압축(gzip) 전송 (0) | 2022.02.14 |
Apache httpd - Tomcat 연결 끊김(502) 현상 (0) | 2022.02.03 |