Last active
August 29, 2015 14:04
-
-
Save mufus/1975613e529b37eeac53 to your computer and use it in GitHub Desktop.
Customize Debian Wheezy .deb packages
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Set up a new Debian 7 machine and install the usual basic packages | |
sudo apt-get install open-vm-tools lynx vim curl psmisc snmpd ntp patch rcconf rsync equivs | |
Add wheezy-backport apt-source | |
sudo vim /etc/apt/sources.list: | |
deb http://ftp.se.debian.org/debian/ wheezy-backports main non-free contrib | |
deb-src http://ftp.se.debian.org/debian/ wheezy-backports main non-free contrib | |
sudo apt-get update | |
Install Debian essential building packages | |
sudo apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev unzip | |
Re-package Nginx with additional modules | |
Install Nginx build dependencies from the backports repository | |
sudo apt-get -t wheezy-backports build-dep nginx | |
mkdir -p ~/build/nginx | |
cd ~/build/nginx | |
Download the nginx package source: | |
sudo apt-get -t wheezy-backports source nginx | |
cd into modules folder | |
cd nginx-1.6.0/debian/modules/ | |
Get the mod_zip module | |
sudo wget https://github.com/evanmiller/mod_zip/archive/master.zip | |
sudo unzip master.zip | |
sudo rm master.zip | |
Get the ModSecurity module and compile it | |
But first, install required packages | |
sudo apt-get install gcc make automake autoconf libtool | |
sudo apt-get install apache2-threaded-dev libcurl4-openssl-dev | |
sudo wget https://github.com/SpiderLabs/ModSecurity/archive/v2.8.0.zip | |
sudo unzip v2.8.0.zip | |
sudo rm v2.8.0.zip | |
cd ModSecurity-2.8.0/ | |
sudo ./autogen.sh | |
sudo ./configure --enable-standalone-module | |
sudo make | |
sudo make install | |
Get the ngx_pagespeed module | |
sudo wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.8.31.4-beta.zip | |
sudo unzip v1.8.31.4-beta.zip | |
sudo rm v1.8.31.4-beta.zip | |
cd ngx_pagespeed-1.8.31.4-beta/ | |
sudo wget https://dl.google.com/dl/page-speed/psol/1.8.31.4.tar.gz | |
sudo tar -xzvf 1.8.31.4.tar.gz | |
Edit the rules file, located in the debian folder: | |
sudo vi ~/build/nginx/nginx-1.6.0/debian/rules | |
Add to all blocks: | |
--add-module=$(MODULESDIR)/mod_zip-master \ | |
--add-module=$(MODULESDIR)/ModSecurity-2.8.0/nginx/modsecurity \ | |
--add-module=$(MODULESDIR)/ngx_pagespeed-1.8.31.4-beta | |
Increase the source package version | |
sudo vi ~/build/nginx/nginx-1.6.0/debian/changelog | |
nginx (1.6.0-1~bpo70+1-mufus) wheezy-backports; urgency=medium | |
Build the packages | |
cd ~/build/nginx/nginx-1.6.0/ | |
sudo dpkg-buildpackage -b | |
Install the package | |
sudo dpkg -i nginx-extras_1.6.2-1~bpo70+1-mufus_amd64.deb nginx-common_1.6.2-1~bpo70+1-mufus_all.deb nginx_1.6.2-1~bpo70+1-mufus_all.deb | |
Pin package to prevent update | |
sudo vim /etc/apt/preferences.d/nginx | |
Package: nginx | |
Pin: version 1.6.2-1~bpo70+1-mufus | |
Pin-Priority: 1001 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment