Docker Centos 6 OpenResty with Naxsi RPM Builder
This project contains a Dockerfile for a container that will build an OpenResty RPM package with Naxsi and Lua included, statically linked to CentOS 6 packages.
These instructions will tell you how to use this container to build an RPM.
You'll need some form of docker that can have a volume mounted where it'll put the RPM.
Boot2docker works if you want to test it on your local machine. The following commands once you run boot2docker will get it up an running. It mounts the "/Users" directory in the VM, we'll use this as the output path for the RPM to get it on our hosts directory.
boot2docker init boot2docker up eval "$(boot2docker shellinit)"
Assuming you have a docker instance to communicate with
docker build -t rpm-builder-waf . && docker run -v $(pwd):/rpmbuild rpm-builder-waf
Will cause an RPM to fall out at
You can customise the RPM output directory in the container by setting the
$RPM_OUTPUT_DIR environment variable.
- The RPM will install to
- The RPM comes with a SystemV script
- The RPM will install example HTTPS certificate at
- The nginx configuration file to set which servers it connects to can be found at
Testing the RPM
There is bundled a vagrant file that starts a CentOS 6 machine, that can be used for testing the RPM.
It has a base image for VirtualBox.
- OpenResty - It's very suitable for making WAF firewalls.
- FPM - Makes making RPMs very easy.
- Docker - So we can statically link to RedHat compatible binaries even if we're not running on RedHat.
- Naxsi - Framework for writing Web Application Firewalls
Feel free to submit pull requests and issues. If it's a particularly large PR, you may wish to discuss it in an issue first.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
We use SemVer for the version tags available See the tags on this repository.
- Billie Thompson - Developer - PurpleBooth
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE file for details
- jordansissel for writing FPM and saving my santity trying to build RPMs
- The Naxsi team for writing an awesome module