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 $@
vim debian/control
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
ar -x nginx_0.9.1-ppa3_i386.deb
tar xzvf data.tar.gz