Nginx auf Debian installieren / compilieren Version 0.8.50

Nachdem Nginx 0.7.65 recht erfolgreich auf meinem Server läuft, hab ich mich mal an der Version 0.8.50 versucht.
Das ganze wieder nach bewährtem Schema aus Nginx auf Debian installieren / compilieren

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
cd /usr/src
wget http://nginx.org/download/nginx-0.8.50.tar.gz
tar xvfz nginx-0.8.50.tar.gz
cd nginx-0.8.50
./configure --prefix=/usr \
--conf-path=/etc/nginx/nginx.conf \
--sbin-path=/usr/sbin \
--user=www-data \
--group=www-data \
--http-log-path=/var/log/nginx/access.log \
--without-mail_pop3_module \
--without-mail_imap_module \
--without-mail_smtp_module \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-http_addition_module \
--with-http_image_filter_module \
--with-file-aio \
--add-module=/usr/src/headers-more-nginx-module/
make
make install
/etc/init.d/nginx restart

Schon war ich auf der neuen Version.

Wer aufgepasst hat, bemerkt, das ich ein paar neue configure Parameter benutze:

1
--with-http_image_filter_module

entfernt aus Image Dateien die EXIF informationen, wenn diese mehr als 5% der Dateigrösse ausmachen. Ich hab schonmal 30kb Information in Icons gefunden.

1
--with-file-aio

aktuelle Linux Kernel können es, warum nicht benutzen? (OK, ist jetzt keine wirkliche Erklärung)

Das wichtigste:

1
--add-module=/usr/src/headers-more-nginx-module/

Ein Blick in den Firebug zeigt im Header, das Nginx braf seine Releasenummer mit überträgt.
Ich bin kein Freund davon, unnötige Informationen über die Software und Versionen Preis zu geben. Schon garnicht an Bots und Spider!
Unter http://wiki.nginx.org/NginxHttpHeadersMoreModule gibt es ein Modul, um einen belibige Felder im Header zu überschreiben/setzen. Den Sourcecode gibts auf Github.
http://github.com/agentzh/headers-more-nginx-module

1
2
cd /usr/src
git clone http://github.com/agentzh/headers-more-nginx-module.git headers-more-nginx-module

In der /etc/nginx/nginx.conf wird dann im “http” Abschnitt das zu setzende Headerfeld angegeben:

1
more_set_headers 'Server: nginx';

Wer will, kann sich hier auch als Apache tarnen ;)

Veröffentlicht in der Kategorie Linux, Nginx | Kommentare deaktiviert

Der Ventilsitzfräser für den Wasserhahn

Mein Wasserhahn am Waschbecken im Bad tropft.
Bald tropft er nicht mehr, ein kleines Rinnsal läuft aus ihm heraus.
Stärker zudrehen bringt auch nix mehr.
Dabei habe ich den Einsatz erst vor 6 Monaten gewechselt!

Die 6 Monate alte Syphonzange geholt und den Einsatz rausschrauben.
Der Dichtungsgummi zeigte eine kleine Wulst und der Finger fühlte im Hahn eine kleine Kerbe.

Irgendwo hatte ich dafür mal ein Werkzeug gesehen und meinte es hiesse Ventilsitzfräser.
Also in den Baumarkt, den Verkäufer beim Weglaufen festgehalten und gesagt: “Ich suche einen Ventilsitzfräser für einen 3/8 Wasserhahn.”
Komisch, jetzt wollte er gar nicht mehr weglaufen, er schmunzelte sogar. Nach dem dritten mal “HÄ?” und “Ventilsitzfräser” rief er jemand an, der das Wort auch nicht kannte …

Vollkommen verunsichert setze ich mich zu Hause an meinen PC und frage die allwissende Müllhalde Google nach einem Ventilsitzfräser.
Ok, mit dem Zusatz Wasserhahn sind es dann auch keine Fräser mehr für Verbrennungsmotorventile(die sehen so ähnlich aus), sondern genau das, was ich suchte.
Condrad Ventilsitzfräser
Für 11,95€!
Anmelden, kaufen, fertig!

Heute kam er dann.
Wasser abdrehen, Hahn raus schrauben, Fräser reinschrauben und unter Schmerzen das Sitz nachgefriemelt.
Kleiner Tip, Handtuch über den Griff, dann tuts auch nicht so in der Hand weh.

Wenn der Schmerz nachgelassen hat, schabe ich noch etwas weiter. Zumindest ist der Hahn wieder dicht, wenn man zudreht.

Ventilsitzfräser

Veröffentlicht in der Kategorie Allgemein | Kommentare deaktiviert

ESX Fallstricke

Vor mir lag ein 19″ NoName Dualprozessor, 16GB Ram und 16x 1TB SATA Disks. Die richtige Machine um ESX 4 zu installieren.
Raidcontroller war ein Areca ARC-1160.
Also 2 Disks Raid 0 fürs System, 12 Disks Raid Level5 und 2 HotSpare.
CD Einlegen, ESX Setup starten und benutzerdefinierten Treiber laden.
Beim Auswählen des Datenträgers fürs VMFS auswählen … warum kann ich den 11 TB Datenträger nicht auswählen?
Schon nach wenigen Minuten die Antwort, ESX kann leider nur 2 TB Datenträger ansprechen … also nochmal die Raid’s neu einrichten.
5×3 Disks Raid 5 und 2 HotSpare, alle Disks ~1,9TB. Wieder die CD rein, Custom Treiber laden und erstmal alles auf das erste Raid installieren.
Installation macht und tut und … BUMS …
“Errno 1 Operation Not Permitted /mnt/sysimage/boot”
Also wieder Google befragt, dieses mal etwas länger bis ich http://communities.vmware.com/thread/272494 fand.
Nochmal den älteren Treiber herunterladen und wieder das Setup starten, custom Treiber laden …

Endlich läuft der ESX, also mal das VMFS Volume über die restlichen Raid’s erweitern. Mit 11 TB genug Platz um den Exchange mit allen Datenträgern zu schlucken.

Auf dem Exchange den VMWare Converter gestartet, Migration auf den ESX ausgewählt und … warum sieht der Converter den einen Datenträger mit 1,1 TB Grösse nicht?
Wieder Google befragen, aha, der Converter kann nur maximal 920GB große Disks lesen!
Datenträgerverwaltung aufgerufen und das Volume auf 820GB verkleinert, aber er wollte sie einfach nicht.
Na gut, man kann den Inhalt ja auch manuell im Nachhinein kopieren.

Irgendwann lief dann das Convert auch mit turboschnellen 30 MB pro Sekunde … bevor der Converter es ausgerechnet hat, hat die präzise Schätzung ergeben, das man schnell mal auf den Abbrechen Knopf drückt und das Projekt auf unbestimmte Zeit verschiebt …

6 Stunden Installationsorgie, Erkältung und Reuma im Ellenbogen von der Klimaanlage …

Veröffentlicht in der Kategorie Linux | Kommentare deaktiviert

HTC Desire

so, ich war mal wieder drann mit einem neuen Telefon.
Android 2.1, Exchange Server Client(aka Zarafa tauglich), GPS, UMTS, Kamera, Webbrowser bla bli blupsi.
Alles was ein Telefon braucht.

nur die WordPress App stürtzt beim Blog schreiben ab.
irgendwie doof.

Veröffentlicht in der Kategorie Allgemein | Kommentare deaktiviert

Gentoo installieren mit 3 cmd’s

ach… hört doch auf. um gentoo zu installieren braucht man nur 3 cmd’s.

1
cfdisk /dev/hda && mkfs.xfs /dev/hda1 && mount /dev/hda1 /mnt/gentoo/ && chroot /mnt/gentoo/ && env-update && . /etc/profile && emerge sync && cd /usr/portage && scripts/bootsrap.sh && emerge system && emerge vim && vi /etc/fstab && emerge gentoo-dev-sources && cd /usr/src/linux && make menuconfig && make install modules_install && emerge gnome mozilla-firefox openoffice && emerge grub && cp /boot/grub/grub.conf.sample /boot/grub/grub.conf && vi /boot/grub/grub.conf && grub && init 6

das is nummer eins.

Quelle
von einem guten Freund irgendwo aus dem Netz

Veröffentlicht in der Kategorie Linux | Kommentare deaktiviert

Nginx, PHP-FPM und WordPress auf Debian Lenny

Nachdem unser Nginx nun statischen Content ausliefern kann, kommen wir heute zum Thema PHP.
Realisiert wird das ganze über FastCGI mit PHP-FPM

also runterladen und patchen:

1
2
3
4
5
6
cd /usr/local/src
wget http://de.php.net/get/php-5.2.13.tar.gz/from/this/mirror
tar xvfz php-5.2.13.tar.gz
wget http://php-fpm.org/downloads/php-5.2.13-fpm-0.5.13.diff.gz
gzip -d php-5.2.13-fpm-0.5.13.diff.gz
patch -p1 -d php-5.2.13 < php-5.2.13-fpm-0.5.13.diff

So. Jetzt nur noch php compilieren *g*

1
2
3
4
cd php-5.2.13
./configure  --enable-fastcgi --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --with-xsl --with-pcre-regex --with-mysqli --with-mysql --enable-exif --with-gd --with-ldap --with-pdo-mysql --with-bz2 --with-ttf --with-t1lib --with-jpeg-dir=/usr --with-png-dir=/usr --with-gettext
make
make install

Wenn Configure mit fehlenden Librarrys abbricht, die entsprechenden “-dev” Pakete suchen und installieren.
z.B.

1
2
apt-cache search libjpeg
apt-get install libjpeg62-dev

Unsere php.ini liegt dann unter “/usr/local/lib/php.ini” Hier müssen wir die üblichen Anpassungen vornehmen, besonders das “extension_dir” anpassen!

In der Datei “/usr/local/etc/php-fpm.conf” ist dann an 4 Stellen als User/Gruppe “www-data” einzutragen.

Dann lässt sich der FCGI Prozessmanager starten:

1
/usr/local/sbin/php-fpm start

Jetzt müssen wir unserem Nginx sagen, was er mit .php Datein machen soll und fertig sind wir.

1
2
3
4
location ~ (.*)\.php$ {
fastcgi_pass   localhost:9000;  # port where FastCGI processes were spawned
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME    /var/www$fastcgi_script_name;  # same path as above

fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

# required if PHP was built with –enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
}

Nginx neu starten und schon sollten Php-Scripte ausgeführt werden. Am besten probiert man das mit einer kleinen phpinfo.php

1
 

Wer das WordPress als root des Nginx angelegt hat, braucht nur das Rewrite für die “/” Location anpassen:

1
2
3
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php?q=$1 last;
}

Dumm nur, wenn man das WordPress in einem Unterverzeichniss hat z.B. “/blog/”, aber auch das kann man einfach lösen:

1
2
3
location /blog {
root   /var/www;
index  index.php;

if (-f $request_filename) {
break;
}

if (!-e $request_filename) {
rewrite ^(.+)$ /blog/index.php?$1 last;
}
}

Quellen:
http://n3m0.net/blog/2010/04/03/php-fpm-auf-debian-5-0-lenny/
http://elasticdog.com/2008/02/howto-install-wordpress-on-nginx/

Veröffentlicht in der Kategorie Linux, Nginx | Kommentare deaktiviert

Nginx auf Debian installieren / compilieren

Ich habe auch mal mit Nginx experiementiert und versuche greade meinen Server vom Apache umzustellen.

Für die Bequemen – Nginx unter Debian installieren:

1
apt-get install nginx

und für alle die gern die aktuelle Version haben geht es dann weiter:

1
2
apt-get remove nginx
echo "nginx hold" | dpkg --set-selections

so haben wir schon mal das Initscript und diverse Verzeichnisse und Debian versucht nicht mehr das Paket zu aktualisieren/installieren.

1
2
3
4
cd /usr/src
wget http://nginx.org/download/nginx-0.7.65.tar.gz
tar xvfz nginx-0.7.65.tar.gz
cd nginx-0.7.65

./configure –prefix=/usr –conf-path=/etc/nginx/nginx.conf –sbin-path=/usr/sbin –user=www-data –group=www-data –http-log-path=/var/log/nginx/access.log –without-mail_pop3_module –without-mail_imap_module –without-mail_smtp_module –with-http_ssl_module –with-http_stub_status_module –with-http_gzip_static_module

make && make install

dazu noch im Verzeichniss /etc/nginx/ die Datei nginx.conf anpassen (vorher die alte Datei umbenennen und neu anlegen!)

1
2
user  www-data;
worker_processes  4;

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;

log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”‘;

access_log /var/log/nginx/access.log main;

sendfile on;
keepalive_timeout 10 10;

gzip on;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

server {
listen *:80;
server_name www.sturbi.de;
root /var/www;

location / {
root /var/www;
index index.php;
}
}
server {
listen 443;

ssl on;
ssl_certificate /etc/ssl/certs/www.sturbi.de.pem;
ssl_certificate_key /etc/ssl/private/www.sturbi.de.key;

server_name www.sturbi.de;

location / {
root /var/www;
index index.html;

}
}
}

1
/etc/init.d/nginx start

und nginx sollte unseren Statischen Content wieder ausliefern.
und morgen basteln wir uns ein PHP-FPM und richten WordPress ein.

Veröffentlicht in der Kategorie Linux, Nginx | Kommentare deaktiviert

Servicewüste Deutschland …

Mittagspause.
Es geht zum Italiener um die Ecke, gutes Essen, preiswert, nett.
Spaghetti mit irgend einem Fleisch für 5 €.
Brot gibts auch noch mit dazu.
Die Spaghetthi kann man auch noch kräftig mit der Pfeffermühle nachwürzen.
Getränk braucht man nicht, ist eh viel zu teuer.
Bezahlt wird natürlich zeitgemäß mit EC Karte. Passend. Wie sonst.

mit den Worten von Bodo H. Hauser:
“Noch Fragen, Kienzle?”

Veröffentlicht in der Kategorie Allgemein | Kommentare deaktiviert