본문 바로가기

리눅스

CentOS 7에서 Apache를 소스 코드로 설치하고 HTTP/2를 활성화하는 방법

728x90

CentOS 7에서 Apache를 소스 코드로 설치하고 HTTP/2를 활성화하는 방법

1. 필수 패키지 설치

sudo yum install -y gcc pcre-devel openssl-devel
sudo yum install -y libnghttp2-devel

2. Apache 소스 다운로드

Apache 웹사이트에서 원하는 버전의 소스를 다운로드하고 압축을 해제합니다.

cd /usr/local/src
wget --no-check-certificate https://dlcdn.apache.org/httpd/httpd-2.4.57.tar.gz
tar xfz httpd-2.4.57.tar.gz
  • apr, apr-util 패키지 다운로드
wget --no-check-certificate https://dlcdn.apache.org/apr/apr-1.7.4.tar.gz
wget --no-check-certificate https://dlcdn.apache.org/apr/apr-util-1.6.3.tar.gz
  • 압축 해제할 디렉토리 생성
mkdir httpd-2.4.57/srclib/{apr,apr-util}
  • 압축 해제
tar xfz apr-1.7.4.tar.gz -C httpd-2.4.57/srclib/apr --strip-components=1
tar xfz apr-util-1.6.3.tar.gz -C httpd-2.4.57/srclib/apr-util --strip-components=1

3. 소스 컴파일

cd httpd-2.4.57
./configure --prefix=/usr/local/apache2 --enable-http2 --with-ssl --enable-rewrite --enable-module=so --enable-mods-shared=all --with-included-apr --with-mpm=worker -enable-nonportable-atomics=yes --with-mpm=worker
sudo make

(or 병령로 실행)

make -j $(($(nproc) + 1))
728x90

 

4. Apache 설치

sudo make install

5. Apache 구성 파일 수정

sudo vi /usr/local/apache2/conf/httpd.conf

6. mod_http2 모듈 활성화

Apache 구성 파일 (httpd.conf)에서 다음 줄을 찾고 주석 해제하거나 추가합니다.

LoadModule http2_module modules/mod_http2.so

7. SSL/TLS 설정

Apache 구성 파일 (httpd.conf)에서 SSL/TLS 설정 부분을 찾고, 필요한 경우 SSL 인증서를 생성하고 경로를 설정합니다.

예를 들어:

SSLCertificateFile /path/to/certificate.crt
SSLCertificateKeyFile /path/to/private.key

8. VirtualHost 설정

Apache 구성 파일 (httpd.conf) 또는 별도의 VirtualHost 파일에 HTTP/2를 사용할 가상 호스트를 설정합니다.

예를 들어:

<VirtualHost *:443>
    ...
    Protocols h2 http/1.1
    ...
</VirtualHost>

9. Apache 서비스 시작

sudo /usr/local/apache2/bin/apachectl start

 

이제 Apache가 소스로부터 컴파일되어 설치되었고, HTTP/2가 활성화되었습니다. 이후에는 HTTP/2를 지원하는 웹 서버로서 Apache를 사용할 수 있습니다.

 

728x90