Compiling EPEL Nginx 0.8.53 SRC.RPM with TLS SNI Support for CentOS 5
When I first compiled Nginx with TLS SNI Extensions for CentOS v5.x the version in EPEL was not newer that 0.7.65. Since the Nginx v0.6 branch is no longer supported, EPEL has moved to the Nginx v0.8 branch. This document describes compiling the EPEL Nginx v0.8 src rpm against the openssl v1.x libraries, and should be read as an addendum to the original howto.
Compile
Compiling the binary RPM can be done with no changes to the source RPM, however a newer version (or the same version with a higher priority) in the EPEL repository will over-write the TLS SNI RPM. To get around this the RPM 'Epoch' is set to '1' in the spec file. It is important that the 'openssl-devel-1.0.0-2.RHL5' or later RPM is installed.
$ rpm -ivh nginx-0.8.53-1.el5.src.rpm
Edit the '<rpmbuild>/SPECS/nginx.spec' file and add the line 'Epoch: 1'
rpmbuild -ba nginx.spec
Install
Install the binary RPM's (as per the previous howto, only x86_64 binary RPM's and depencies are provided)
# rpm -Uvh openssl-1.0.0-2.RHL5.x86_64.rpm \ openssl098e-0.9.8e-12.RHL5.6.x86_64.rpm \ ca-certificates-2009-2.RHL5.noarch.rpm \ nginx-0.8.53-1.RHL5.x86_64.rpm
Files/RPM's
The RPM's used in this howto are available via http and https.
ca-certificates-2009-2.RHL5.noarch.rpm ca-certificates-2009-2.RHL5.src.rpm nginx-0.8.53-1.el5.src.rpm nginx-0.8.53-1.RHL5.x86_64.rpm openssl-1.0.0-2.RHL5.src.rpm openssl-1.0.0-2.RHL5.x86_64.rpm openssl-devel-1.0.0-2.RHL5.x86_64.rpm openssl-perl-1.0.0-2.RHL5.x86_64.rpm openssl-static-1.0.0-2.RHL5.x86_64.rpm openssl098e-0.9.8e-12.RHL5.6.src.rpm openssl098e-0.9.8e-12.RHL5.6.x86_64.rpm
Note: The RPM files are not signed, and they are not in a yum repository. Either install using RPM, or use the yum '--nogpgcheck' option.
Links
Appendices
Nginx version information
/usr/sbin/nginx -V nginx version: nginx/0.8.53 built by gcc 4.1.2 20080704 (Red Hat 4.1.2-48) TLS SNI support enabled configure arguments: --user=nginx --group=nginx --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_stub_status_module --with-http_perl_module --with-mail --with-file-aio --with-mail_ssl_module --with-ipv6 --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'
Additional dependencies
The newer version of Nginx has additional dependencies.
================================================================================================= Package Arch Version Repository Size ================================================================================================= Updating: nginx x86_64 0.8.53-1.RHL5 /nginx-0.8.53-1.RHL5.x86_64 953 k Installing for dependencies: GeoIP x86_64 1.4.7-0.1.20090931cvs.el5 epel 710 k fontconfig x86_64 2.4.1-7.el5 base 175 k freetype x86_64 2.2.1-28.el5_5.1 updates 311 k gd x86_64 2.0.33-9.4.el5_4.2 base 155 k libX11 x86_64 1.0.3-11.el5 base 798 k libXau x86_64 1.0.1-3.1 base 18 k libXdmcp x86_64 1.0.1-2.1 base 19 k libXpm x86_64 3.5.5-3 base 44 k libjpeg x86_64 6b-37 base 139 k libpng x86_64 2:1.2.10-7.1.el5_5.3 updates 234 k libxslt x86_64 1.1.17-2.el5_2.2 base 488 k pkgconfig x86_64 1:0.21-2.el5 base 61 k xorg-x11-filesystem noarch 7.1-2.fc6 base 5.4 k Transaction Summary ================================================================================================= Install 13 Package(s) Upgrade 1 Package(s)