You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
VirtuBox e6b032c68d add submodules 7 months ago
docs Update changelog for new release 7 months ago
etc update nginx release & cleanup code 8 months ago
lib add submodules 7 months ago
var/www/html add support for server without nginx 10 months ago
.gitignore Auto stash before merge of "master" and "origin/master" 10 months ago
.gitmodules add submodules 7 months ago
.travis.yml add submodules 7 months ago
CHANGELOG.md update changelog 7 months ago
LICENSE clean license and add section license 1 year ago
README.md add submodules 7 months ago
nginx-build.sh add submodules 7 months ago
nginx-ee.png add modules selection 8 months ago

README.md

Nginx-EE

nginx-ee

Build Status

Automated Nginx compilation with additional modules for EasyEngine v3, Plesk Onyx or from scratch


Features

  • Compile the latest Nginx release : stable or mainline
  • Install Nginx or replace Nginx package previously installed
  • Nginx official modules selection
  • Nginx Third-party module selection
  • Brotli Support
  • TLS v1.3 support (Final)
  • Cloudflare HPACK (for Mainline release only)

Additional Third-party modules

Nginx current mainline release : v1.15.7 Nginx current stable release : v1.14.2

Optional modules :


Compatibility

Operating System

  • Ubuntu 18.04 LTS (Bionic)
  • Ubuntu 16.04 LTS (Xenial)
  • Debian 8 (Deprecated)

Plesk releases

  • 17.5.x
  • 17.8.x
  • 17.9.x

Usage

Interactive install

bash <(wget -O - https://raw.githubusercontent.com/VirtuBox/nginx-ee/master/nginx-build.sh) --interactive

Non interactive install

bash <(wget -O - https://raw.githubusercontent.com/VirtuBox/nginx-ee/master/nginx-build.sh) [options] ...

Options available

Build options :

  • --mainline : compile nginx mainline release
  • --stable : compile nginx stable release
  • --full : compile nginx mainline release with all additional modules

Additional modules (optional)

  • --pagespeed: compile nginx with ngx_pagespeed latest-stable
  • --pagespeed-beta: compile nginx with ngx_pagespeed latest-beta
  • --naxsi : compile nginx with naxsi
  • --rtmp : compile nginx with rtmp module

Example :

Compile Nginx mailine release with pagespeed stable

bash <(wget -O - https://raw.githubusercontent.com/VirtuBox/nginx-ee/master/nginx-build.sh) --mainline --pagespeed

Nginx modules

You can choose Nginx official modules and third-party modules you want to compile with Nginx-ee. The list of official modules built by default and optional modules is available on Nginx Docs

To override official modules compiled with nginx-ee, export the variable OVERRIDE_NGINX_MODULES before launching nginx-ee script.

To override third-party modules compiled with nginx-ee, export the variable OVERRIDE_NGINX_ADDITIONAL_MODULES before laucnhing nginx-ee script. Important : If you want to add a third-party module, you will have to download its source in /usr/local/src before launching the compilation.

Examples :

Override list of modules built by default with nginx-ee

# choose modules you want to build
# This is the list of modules built by default with nginx-ee
export OVERRIDE_NGINX_MODULES="--without-http_uwsgi_module \
    --without-mail_imap_module \
    --without-mail_pop3_module \
    --without-mail_smtp_module \
    --with-http_stub_status_module \
    --with-http_realip_module \
    --with-http_auth_request_module \
    --with-http_addition_module \
    --with-http_geoip_module \
    --with-http_gzip_static_module \
    --with-http_image_filter_module \
    --with-http_mp4_module \
    --with-http_sub_module"


# compile nginx-ee with the modules previously selected
bash <(wget -qO - https://raw.githubusercontent.com/VirtuBox/nginx-ee/master/nginx-build.sh)

Override list of third-party modules built by default with nginx-ee

You can add/remove additional third-party modules compiled with nginx-ee. By default Nginx-ee will compile the following third-party modules

    --add-module=/usr/local/src/ngx_http_substitutions_filter_module \
    --add-module=/usr/local/src/srcache-nginx-module \
    --add-module=/usr/local/src/ngx_http_redis \
    --add-module=/usr/local/src/redis2-nginx-module \
    --add-module=/usr/local/src/memc-nginx-module \
    --add-module=/usr/local/src/ngx_devel_kit \
    --add-module=/usr/local/src/set-misc-nginx-module \
    --add-module=/usr/local/src/ngx_http_auth_pam_module \
    --add-module=/usr/local/src/nginx-module-vts \
    --add-module=/usr/local/src/ipscrubtmp/ipscrub

Here an example to add the nginx module mod_zip :

# clone the module repository into /usr/local/src
git clone https://github.com/evanmiller/mod_zip.git /usr/local/src/mod_zip

# add the module to the modules list using the variable OVERRIDE_NGINX_ADDITIONAL_MODULES
# This is the list of third-party modules built by default with nginx-ee + mod_zip module
export OVERRIDE_NGINX_ADDITIONAL_MODULES="--add-module=/usr/local/src/ngx_http_substitutions_filter_module \
    --add-module=/usr/local/src/srcache-nginx-module \
    --add-module=/usr/local/src/ngx_http_redis \
    --add-module=/usr/local/src/redis2-nginx-module \
    --add-module=/usr/local/src/memc-nginx-module \
    --add-module=/usr/local/src/ngx_devel_kit \
    --add-module=/usr/local/src/set-misc-nginx-module \
    --add-module=/usr/local/src/ngx_http_auth_pam_module \
    --add-module=/usr/local/src/nginx-module-vts \
    --add-module=/usr/local/src/ipscrubtmp/ipscrub \
    --add-module=/usr/local/src/mod_zip" # add mod_zip module at the end of the list

# compile nginx-ee with the modules previously selected
bash <(wget -qO - https://raw.githubusercontent.com/VirtuBox/nginx-ee/master/nginx-build.sh)

Nginx configurations


Roadmap

  • Add choice between stable & mainline release
  • Add Nginx configuration examples
  • Add Cloudflare HPACK patch
  • Add support for servers without EasyEngine
  • Add non-interactive installation
  • Add automated update detection
  • Add support for Plesk servers
  • Add Nginx modules choice
  • Add support for Debian 9
  • Add support for Raspbian

Credits

  • centminmod : Nginx, Nginx modules & various other patches
  • hakase : OpenSSL-patch

Published & maintained by VirtuBox