yum install lua-devel libxml2-devel gcc gcc-c++ flex compat-gcc-34-g77 libjpeg-devel libpng-devel freetype-devel gd-devel expat-devel



1. libnghttpd2 설치

$ yum install epel-release
$ yum install libnghttp2 libnghttp2-devel


2. openssl 1.1.0 버전 설치

$ ./config --prefix=/usr/local/openssl shared zlib
$ make && make install

$ ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
( 이 작업 전에 기존에 등록되어 있는 파일이 있다면 백업정돈 하자)

$ openssl version

마지막 명령줄을 실행하면 openssl 의 버전이 나오면서 내가 설치한 버전이 잘 설치 되었는지 확인할 수 있다.

하지만,! 설치고 에러가 날 수 있는데, libssl.so.1.1 / libcrypto.so.1.1 이 없다는 ...

위 에러 발생시 openssl 의 압축을 해제 한 폴더를 보면 두 파일이 있다.

/usr/lib64 로 복사하면 정상 실행 된다.



3. apr 설치

$ ./configure
$ make && make install

만약 configure 하는 도중 libtoolT 가 없다고 하면, ln -s libtool libtoolT 를 한다



4. apr-util 설치

$ ./configure --with-apr=/usr/local/apr --with-expat=builtin
$ make && make install


5. pcre 설치 (pcre2를 해선 안된다. pcre2 는 컴파일 시 아파치가 인식하지 못한다)

$ ./configure --prefix=/usr/local/pcre
$ make && make install


6. apache  설치

$ ./configure \
--prefix=/apps/httpd-2.4.33 \
--enable-module=most \
--enable-mods-shared=all \
--enable-so \
--with-mpm=event \
--enable-cache \
--enable-deflate \
--enable-expires \
--enable-cgi \
--enable-vhost-alias \
--enable-rewrite \
--enable-mime-magic \
--enable-ssl \
--enable-http2 \
--with-ssl=/usr/local/openssl \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr \
--with-pcre=/usr/local/pcre/bin/pcre-config


7. httpd.conf  수정

    HTTP2 사용을 위해선 추가적으로 작업이 필요하다


LoadModule http2_module modules/mod_http2.so
<IfModule http2_module>
ProtocolsHonorOrder    On
Protocols h2 h2c http/1.1
</IfModule>


8. HTTP2 는 SSL 환경에서만 동작이 가능하기 때문에 http-ssl.conf 파일도 수정하도록 한다.

SSLProtocol    ALL -SSLv2 -SSLv3
SSLCipherSuite    ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
SSLHonorCipherOrder    on


9. 서비스 등록하기


$ cp {설치폴더}/bin/apachectl /etc/init.d/httpd

$ service httpd start
$ service httpd stop


위 설정까지만 해도 충분히 아파치는 잘 동작한다.

단, PHP 와 연결을 위한 설정 몇개를 더 쓴다


<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>

<IfModule mime_module>
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
</IfModule>

<Directory "/home/*">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from All
Require all granted
</Directory>




+ Recent posts