☠️ Deprecated. Custom version of Nginx, built with Shibboleth (FastCGI authorizer) support, HTML XLST transforms, and other goodies baked in.
Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
build
.gitignore
.travis.yml
CHANGES.rst
Dockerfile
LICENCE.txt
README.rst
docker-compose.yml
nginx-build.sh
nginx-centos-6.repo
nginx-eresearch.patch
nginx-xslt-html-parser.patch

README.rst

Deprecated and no longer supported or maintained. See https://github.com/jcu-eresearch/nginx-dynamic-modules instead for how to build dynamic modules separately without needing to recompile nginx.

About this nginx

https://travis-ci.org/jcu-eresearch/nginx-custom-build.svg?branch=master

Important

This nginx build currently supports version 1.10.0+. Please see the tags within this repository for previously supported versions (v1.4.x, v1.6.3, v1.8.x, etc).

This version of nginx is customised in a number of different ways:

  • Adds support for Shibboleth authentication for applications served by nginx using the nginx-http-shibboleth module. This requires a Shibboleth SP built with FastCGI support and correctly configured.

    This is built as a dynamic module and deployable using its own RPM package.

  • Adds LDAP authentication for nginx using nginx-ldap-auth.

  • Has custom HTML XSLT transformation built in. This allows transformation of HTML documents on-the-fly via XSL (eg that which comes from Diazo for theming). Help support the patch being merged into nginx's core.

  • Has the ngx-fancyindex module for folder listings.

  • Has the ngx_ajp_module module for talking to AJP backends.

  • Has HTTP/2 support built

  • Has XLST support built.

See the build script for details of where these dependencies live.

Building nginx

  1. Ensure Docker and Docker Compose are installed.

  2. Run the following:

    git clone https://github.com/jcu-eresearch/nginx-custom-build.git
    cd nginx-custom-build
    docker-compose up
    
  3. Enjoy your new RPMs, available in the build/ directory.

If you're not into Docker, then you can manually run https://github.com/jcu-eresearch/nginx-custom-build/blob/master/nginx-build.sh on your own EL 6 machine, ensuring that you set up your build environment first. You can follow the Dockerfile and its RUN commands. Otherwise, the build script is self-contained and will automatically clone the latest patches from this GitHub repository.

The configuration in master will always build the latest stable version of nginx. Occasionally, mainline compatible versions will be present; consult available branches.

It is also possible to select a specific version of nginx to build against by setting the environment variable _NGINX_VERSION (such as export _NGINX_VERSION=1.9.13), which is used within the build script. From Docker Compose, you can use the following:

docker-compose run -e _NGINX_VERSION=1.8.1 nginx-custom-build

Credits