nginx_logo_klein2

Debian/Ubuntu Paket selber bauen (Nginx)

closeDieser Beitrag wurde vor mehr als drei Monaten veröffentlicht. Bedenke bitte, dass die hier angebotene Information nicht mehr aktuell und gültig sein könnte. Informiere dich daher bitte auch an anderer Stelle über dieses Thema. Sollten sich neue Informationen ergeben haben, so kannst du mich auch gerne auf diese über einen Kommentar hinweisen. Vielen Dank!

Heute zeige ich, wie du dir deinen eigenen Webserver (Nginx) als .deb-Paket bauen und installieren kannst… :-) In einem vorherigen Beitrag hatte ich bereits beschrieben, wie du PHP5-fpm mit Nginx installieren kannst. Da ich folgenden Fehler bei dem Update auf Version 0.9.1 bekommen habe ->


Can't locate nginx.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .).
BEGIN failed--compilation aborted. 


<- wurde das deb-Paket kurzerhand neu-gebaut und zwar ohne Perl-Unterstützung. :-)


1.) Root werden und einiges ggf. nachinstallieren + die Quellen (deb-src) herunterladen

sudo bash
aptitude install build-essential devscripts fakeroot debhelper autotools-dev libpcre3-dev zlib1g-dev libssl-dev
mkdir /usr/src/nginx ; cd !$
apt-get source nginx
cd $(ls -d nginx*/)

2.) Ggf. schauen, ob es bereits eine neue Version gibt und diese herunterladen und abgleichen

wget http://sysoev.ru/nginx/nginx-0.9.1.tar.gz
export DEBFULLNAME='nginx';export DEBEMAIL='deine@email-adresse.de'; uupdate --upstream-version 0.9.1 ../nginx-0.9.1.tar.gz
cd ../$(dpkg-parsechangelog | sed -n 's/^Source: //p')-0.9.1
sed -i '/^Maintainer/s/: .*/: dein_name /;/^Uploaders/s/: .*/: dein_name /;/XSBC-Original-Maintainer/d' debian/control;

3.) die ./configure Variablen ggf. an deine Bedürfnisse anpassen (debian/rules)

vim debian/rules
config.status: config.sub config.guess
        ./configure \
            --conf-path=/etc/nginx/nginx.conf \
            --user=wwddw-data \
            --group=www-data \
            --sbin-path=/usr/sbin/nginx \
            --pid-path=/var/run/nginx.pid \
            --with-sha1-asm \
            --with-zlib-asm=pentiumpro \
            --with-md5-asm \
            --with-ld-opt="-L /usr/lib" \
            --with-cc-opt="-D FD_SETSIZE=2048" \
            --with-cc-opt="-I /usr/include" \
            --with-cpu-opt="opteron" \
            --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-debug \
            --with-http_dav_module \
            --with-http_flv_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=$(CURDIR)/modules/nginx-upstream-fair \
            --add-module=$(CURDIR)/modules/nginx-echo \
            $(CONFIGURE_OPTS) >$@
        touch $@
Ich habe einige Module deaktiviert welche ich nicht benötige, SSL-Verschlüsselung + IPv6 + … aktiviert und unter anderem Optimierungen für meine CPU aktiviert. Unter folgendem Link, findest du alle Module, welche standardmäßig bei “nginx” mitgeliefert werden:
vim debian/control
In dieser Datei muss man ggf. noch Abhängigkeiten ergänzen oder entfernen. In meinem Fall habe ich die perl-lib entfernt, da ich dies auch aus der zu-vorigen Konfiguration entfernt hatte.

4.) Ggf. die Konfiguration ändern bzw. deine eigene übernehmen (debian/conf/)

Dafür änderst du einfach die Dateien unter “debian/conf/” und sobald du das fertige Paket installierst, wird deine Konfiguration übernommen, dies kann auch sehr hilfreich sein, wenn du das selbe Programm mit den selben oder ähnlichen Konfiguration auf verschiedenen Computern installierst.

export DEBFULLNAME='nginx';export DEBEMAIL='deine@email-adresse.de';debuild -i -us -uc

5.) Installiere dein neues Debian-Paket :-)

cd ..
dpkg -i nginx_0.9*deb && sudo aptitude hold nginx
Anbei noch meine Nginx-Version ->
Du kannst .deb-Dateien auch entpacken, wenn du diese genauer anschauen möchtest.
ar -x nginx_0.9.1-ppa3_i386.deb
tar xzvf data.tar.gz
Links:
  • http://suckup.de/ Lars Moelleken

    UPDATE: …so gerade nginx 0.9.1 neu gebaut und installiert ;-) #debian #webserver #update #nginx

  • http://suckup.de/ Lars Moelleken

    UPDATE: nginx-0.9.5-4 -> http://www.multiupload.com/ZSVG7V68CO