Install Nginx On CentOS 5.5 With SSL, PCRE, GeoIP, Zlib, Gzip And DAV Support

Want to support HowtoForge? Become a subscriber!
 
Submitted by poustchi (Contact Author) (Forums) on Fri, 2010-09-17 16:12. :: CentOS | Web Server | nginx

Install Nginx On CentOS 5.5 With SSL, PCRE, GeoIP, Zlib, Gzip And DAV Support

Nginx (pronounced "engine x") is a free, open-source, high-performance HTTP server. Nginx is known for its stability, rich feature set, simple configuration, and low resource consumption. This tutorial shows how you can compile and install Nginx on CentOS 5.5 server with SSL, PCRE, GeoIP, Zlib, Gzip and DAV support.

I do not issue any guarantee that this will work for you!

 

Pre-Installation

First we install httpd-devel, pcre, pcre-devel, zlib, zlib-devel, perl, geoip and geoip-devel packages like this:

yum install -y httpd-devel pcre perl pcre-devel zlib zlib-devel GeoIP GeoIP-devel

 

Download required packages

cd
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.10.tar.gz
wget http://zlib.net/zlib-1.2.5.tar.gz
wget ftp://ftp.openssl.org/source/openssl-0.9.8o.tar.gz

Now you have to untar these files.

tar -xvf zlib-1.2.5.tar.gz
tar -xvf pcre-8.10.tar.gz
tar -xvf openssl-0.9.8o.tar.gz

 

Download Nginx source package

You need to download Nginx source package from http://nginx.org/.

cd
wget http://nginx.org/download/nginx-0.7.67.tar.gz
tar -xvf nginx-0.7.67.tar.gz
cd nginx-0.7.67

 

Compile and Install Nginx

Now you can compile and install Nginx with the following commands:

./configure --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 --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_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_perl_module --with-mail --with-mail_ssl_module --with-cc-opt='-m32 -march=i386' --with-openssl=/root/openssl-0.9.8o --with-pcre --with-pcre=/root/pcre-8.10 --with-zlib=/root/zlib-1.2.5 --with-http_geoip_module

You can find out more options by using the following command:

./configure --help

Now run:

make
make install

 

Configuration Summary

nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"

 

Start Nginx Server

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

 

Testing

/usr/local/nginx/sbin/nginx -V


Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.
Submitted by Install SSL on NGINX (not registered) on Sun, 2013-12-08 19:18.
Here's a very in-depth guide about installing a signed certificate (free) from StartSSL on a nginx web server:
 

http://www.jeedo.net/how-to-configure-and-install-free-ssl-certificates-from-startssl/

Hope this helps.

Submitted by johandry (not registered) on Wed, 2013-11-27 22:05.

I had an error with nginx/tmp/client_body, do this:

mkdir -p /var/lib/nginx/tmp/client_body
chown -R nginx.nginx /var/lib/nginx/
chmod -R 770 /var/lib/nginx/

Submitted by sj314 (not registered) on Fri, 2010-11-12 13:53.
Remove --with-cc-opt='-m32 -march=i386' - 64bit platform
Submitted by pirulo (registered user) on Mon, 2010-09-20 23:02.

Hello.

Nice tutorial.

Please can you add the necessary  steps to configure and run virtual hosts and mysql support?

Thanks!

 

 

Submitted by Eyal Estrin (not registered) on Fri, 2010-09-17 15:28.

Hardening guide for Nginx 0.7.65 on RedHat 5.4 (64bit edition)
http://security-24-7.com/hardening-guide-for-nginx-0-7-65-on-redhat-5-4-64bit-edition/

How to implement SSL on Nginx 0.7.65
http://security-24-7.com/how-to-implement-ssl-on-nginx-0-7-65/