Nginx packages in Debian stable

The latest version of nginx packaged in Debian stable (Squeeze) is 0.7.67, which was released on June 15th 2010 and is thus very old. Starting with Wheezy (the next iteration of Debian stable), there will be several different nginx packages available : nginx-light, nginx-full, nginx-extras, as well as a nginx-naxsi package bundling the NAXSI Web Application Firewall. Each package is being compiled with a different set of modules (including third party ones).

Fortunately, these packages have been backported to Squeeze, and it is now possible to install different flavours of nginx 1.2.1.

The following line should be added to /etc/apt/sources.list in order to enable backports :

deb http://backports.debian.org/debian-backports squeeze-backports main

Below is a comparaison matrix of compiled-in modules for the default nginx version bundled in Squeeze, and for the different backported versions :

Standard HTTP modules :

                       |    nginx    | nginx-light |  nginx-full | nginx-extras
                       |   (0.7.67)  |    (1.2.1)  |   (1.2.1)   |   (1.2.1)
-----------------------|-------------|-------------|-------------|-------------
 Core                  |      X      |      X      |      X      |      X
 Access                |      X      |      X      |      X      |      X
 Auth Basic            |      X      |      X      |      X      |      X
 Auto Index            |      X      |      X      |      X      |      X
 Browser               |      X      |             |      X      |      X
 Charset               |      X      |      X      |      X      |      X
 Empty GIF             |      X      |      X      |      X      |      X
 FastCGI               |      X      |      X      |      X      |      X
 Geo                   |      X      |             |      X      |      X
 Gzip                  |      X      |      X      |      X      |      X
 Headers               |      X      |      X      |      X      |      X
 Index                 |      X      |      X      |      X      |      X
 Limit Requests        |      X      |             |      X      |      X
 Limit Zone            |      X      |             |      X      |      X
 Limit Conn            |      X      |      X      |      X      |      X
 Log                   |      X      |      X      |      X      |      X
 Map                   |      X      |      X      |      X      |      X
 Memcached             |      X      |             |      X      |      X
 Proxy                 |      X      |      X      |      X      |      X
 Referer               |      X      |             |      X      |      X
 Rewrite               |      X      |      X      |      X      |      X
 SCGI                  |      X      |             |      X      |      X
 Split Clients         |      X      |             |      X      |      X
 SSI                   |      X      |             |      X      |      X
 Upstream              |      X      |      X      |      X      |      X
 User ID               |      X      |             |      X      |      X
 UWSGI                 |      X      |             |      X      |      X
 X-Accel               |      X      |      X      |      X      |      X

Optional HTTP modules :

                       |    nginx    | nginx-light |  nginx-full | nginx-extras
                       |   (0.7.67)  |   (1.2.1)   |   (1.2.1)   |   (1.2.1)
-----------------------|-------------|-------------|-------------|-------------
 Addition              |             |             |      X      |      X
 Degradation           |             |             |             |
 Debug                 |      X      |             |      X      |      X
 Embedded Perl         |             |             |             |      X
 FLV                   |      X      |             |             |      X
 GeoIP                 |      X      |             |      X      |      X
 Google Perftools      |             |             |             |
 Gzip Precompression   |      X      |      X      |      X      |      X
 Image Filter          |             |             |      X      |      X
 IPv6                  |      X      |      X      |      X      |      X
 MP4                   |             |             |             |      X
 Random Index          |             |             |             |      X
 Real IP               |      X      |             |      X      |      X
 Secure Link           |             |             |             |      X
 SSL                   |      X      |      X      |      X      |      X
 Stub Status           |      X      |      X      |      X      |      X
 Substitution          |      X      |             |      X      |      X
 WebDAV                |      X      |             |      X      |      X
 XSLT                  |             |             |      X      |      X

Mail modules :

                       |    nginx    | nginx-light |  nginx-full | nginx-extras
                       |   (0.7.67)  |   (1.2.1)   |   (1.2.1)   |   (1.2.1)
-----------------------|-------------|-------------|-------------|-------------
 Mail Core             |      X      |             |      X      |      X
 IMAP                  |      X      |             |      X      |      X
 POP3                  |      X      |             |      X      |      X
 SMTP                  |      X      |             |      X      |      X
 SSL                   |      X      |             |      X      |      X

Third party modules :

                       |    nginx    | nginx-light |  nginx-full | nginx-extras
                       |   (0.7.67)  |   (1.2.1)   |   (1.2.1)   |   (1.2.1)
-----------------------|-------------|-------------|-------------|-------------
 Auth PAM              |             |             |      X      |      X
 DAV Ext               |             |             |      X      |      X
 Echo                  |             |      X      |      X      |      X
 Embedded Lua          |             |             |             |      X
 HTTP Chunkin          |             |             |             |      X
 HTTP Headers More     |             |             |             |      X
 HTTP Push             |             |             |             |      X
 Nginx Development Kit |             |             |             |      X
 Upload                |             |             |             |      X
 Upload Progress       |             |             |             |      X
 Upstream Fair Queue   |      X      |             |      X      |      X

For reference, here is the resulting output of running nginx -V to list configure arguments for all the different packages :

nginx 0.7.67 (squeeze):

nginx version: nginx/0.7.67
TLS SNI support enabled
configure arguments: --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-debug --with-http_dav_module --with-http_flv_module --with-http_geoip_module --with-http_gzip_static_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-ipv6 --with-mail --with-mail_ssl_module --add-module=/home/thijs/nginx/nginx-0.7.67/modules/nginx-upstream-fair

nginx-light 1.2.1 (squeeze-backports) :

nginx version: nginx/1.2.1
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-pcre-jit --with-http_gzip_static_module --with-http_ssl_module --with-ipv6 --without-http_browser_module --without-http_geo_module --without-http_limit_req_module --without-http_limit_zone_module --without-http_memcached_module --without-http_referer_module --without-http_scgi_module --without-http_split_clients_module --with-http_stub_status_module --without-http_ssi_module --without-http_userid_module --without-http_uwsgi_module --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-echo

nginx-full 1.2.1 (squeeze-backports) :

nginx version: nginx/1.2.1
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-pcre-jit --with-debug --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-auth-pam --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-echo --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-upstream-fair --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-dav-ext-module

nginx-extras 1.2.1 (squeeze-backports) :

nginx version: nginx/1.2.1
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-pcre-jit --with-debug --with-http_addition_module --with-http_dav_module --with-http_flv_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_mp4_module --with-http_perl_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-auth-pam --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/chunkin-nginx-module --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/headers-more-nginx-module --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-development-kit --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-echo --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-http-push --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-lua --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-upload-module --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-upload-progress --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-upstream-fair --add-module=/tmp/buildd/nginx-1.2.1/debian/modules/nginx-dav-ext-module