먼저 아파치 2.4 및 DB는 사전에 서버 구축이 되어 있다는 가정하에 출발한다 ‘ㅅ’a
php 4.3 혹은 4.4.의 경우 배포툴을 까봤을때 apache 1.x 혹은 apache 2.0.x 와 호환되도록 되어 있다.
일반적인 웹서비스를 구성할수 있는 extension 을 포함한 설치 방법이다.
1 2 3 |
~]# cd /opt ~]# wget http://museum.php.net/php4/php-4.3.11.tar.gz ~]# tar xfzp php-4.3.11.tar.gz |
문제점은 아래와 같다. –
CentOS6에 포함된 openssl-1.0.1e , curl 버전 충돌 이난다. 그리고 apache MPM 정상인식 불가에 따른 configure 수정이 필요하다.
shutdown-patch 는 snmp 공격에 의해 error_log 가 난잡해지는것을 방지하는 패치이다
1 2 3 4 5 6 |
~]# cd php-4.3.11 ~]# wget http://www.enteroa.com/extra_files/php-4.3.11-shutdown-patch.diff ~]# wget http://www.enteroa.com/extra_files/php4-apache24.patch ~]# patch -p1 < php-4.3.11-shutdown-patch.diff ~]# patch -p0 < php4-apache24.patch |
위 패치파일을 받아 패치를 한뒤에 컴파일을 진행한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
~]# ./configure --prefix=/usr/local/php \ --with-mysql=/usr/local/mysql \ --with-apxs2=/usr/local/apache/bin/apxs \ --with-png-dir=/usr/lib64 \ --with-zlib-dir=/usr/lib64 \ --with-gif-dir=/usr/lib64 \ --with-freetype-dir=/usr/lib64 \ --with-jpeg-dir=/usr/lib64 \ --with-config-file-path=/usr/local/apache/conf \ --with-mod-charset \ --with-language=korean \ --with-charset=euc_kr \ --with-libidn \ --with-gdbm \ --with-iconv \ --with-mcrypt \ --with-mhash \ --with-gettext \ --with-ttf \ --with-kerberos \ --with-curl \ --with-db \ --with-idn \ --with-gd \ --with-png \ --with-zlib \ --with-xml \ --with-openssl \ --enable-modules=so \ --enable-idn \ --enable-exif \ --enable-trans-sid \ --enable-wddx \ --enable-dbx \ --enable-dbase \ --enable-mbstr-enc-trans \ --enable-mbregex \ --enable-mbstring \ --enable-magic-quotes \ --enable-calendar \ --enable-sockets \ --enable-ftp \ --enable-gd-imgstrttf \ --enable-track-vars \ --enable-bcmath \ --enable-force-cgi-redirect \ --enable-sigchild \ --disable-debug ~]# make ~]# make install ~]# libtool --finish /opt/php-4.3.11/libs |
–with-ldap 과 –with-imap 은 포함시 해결이 되지 않아 제거 하였다 ‘ㅅ’a
그다음 아파치 구동을 한다 ‘ㅅ’a
그렇다.. 이 테스트의 목적은 PHP-4.x 기반의 HTTP/2 구현이 주목적…
부가적으로 각종 웹, OS 취약점 등등이 패치된 구형 php가 구동 가능한 서버를 구축할 수 있다.
크롬에서의 HTTP/2 사용확인은 아래의 주소를 별도의 탭에 띄워두고 사이트 접속을 하면 현재 유지되는 커넥션의 정보를 확인할 수 있다.
chrome://net-internals/#http2