Nginx + WordPress

Ich habe bereits in einem vorherigem Blog-Post erklärt, wie du “Nginx” (Webserver) unter Debian und / oder Ubuntu installierst. Heute zeige ich mit einigen Beispielen, wie du Nginx konfigurierst, diese Einstellungen werden in dem entsprechendem “Virtual Host” (/etc/nginx/sites-enabled/*.conf) durchgeführt.

## Slash am Ende anfuegen
if ($request_uri ~* "^[\w\-\/]+[^\/?]$") {
    rewrite ^(.*)$ $scheme://$host$1/ permanent;
}
## entferne doppel-slashes //
if ($request_uri ~* "\/\/") {
    rewrite ^/(.*) $scheme://$host/$1 permanent;
}
## www eifuegen
if ($host !~* ^(www|subdomain)) {
    rewrite ^/(.*)$ $scheme://www.$host/$1 permanent;
}
## www vorne entfernen
if ($host ~* ^www\.(.*)) {
    set $host_without_www $1;
    rewrite ^(.*)$ http://$host_without_www$1 permanent;
}
## immer SSL verwenden
    rewrite ^(.*) https://$server_name$1 permanent;
## immer HTTP verwenden
    rewrite ^(.*) http://$server_name$1 permanent;
## WordPress3
if (!-e $request_filename) {
    rewrite ^(.+)$ /index.php?q=$1 last;
    break;
}
## WordPress3 MU
if (!-e $request_filename) {
    rewrite ^.+/?(/wp-.*) $1 last;
    rewrite ^.+/?(/.*\.php)$ $1 last;
    rewrite ^(.+)$ /index.php?q=$1 last;
    break;
}
## WordPress3 Multi-Domain
rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last;
if (!-e $request_filename) {
    rewrite ^.+/?(/ms-.*) $1 last;
    rewrite ^/files/(.+) /wp-includes/ms-files.php?file=$1 last;
    rewrite ^.+/?(/wp-.*) $1 last;
    rewrite ^.+/?(/.*.php)$ $1 last;
    rewrite ^(.+)$ /index.php?q=$1 last;
    break;
}
location ~* ^.+.(htm|html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
    access_log off;
    expires max;
    root /var/www/www.domain.de/web/;
    rewrite ^/.(/wp-.*/.*.(html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js))$ $1 last;
    rewrite ^.*/files/(.*(html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js))$ /wp-includes/ms-files.php?file=$1 last;
    if (!-e $request_filename) {
        rewrite ^.+/?(/wp-.*) $1 last;
        rewrite ^.+/?(/.*.php)$ $1 last;
        rewrite ^(.+)$ /index.php?q=$1 last;
        access_log off;
        expires max;
        break;
    }
}
## WordPress-Forum
if (!-e $request_filename) {
    rewrite ^/forums/topic/(.*)$ /forums/topic.php?q=$1 last;
    rewrite ^/forums/forum/(.*)$ /forums/forum.php?q=$1 last;
    rewrite ^/forums/profile/(.*)$ /forums/profile.php?q=$1 last;
    rewrite ^/forums/view/(.*)$ /forums/view.php?q=$1 last;
    rewrite ^/forums/tags/(.*)$ /forums/tags.php?q=$1 last;
    rewrite ^/forums/rss/(.*)$ /forums/rss.php?q=$1 last;
    rewrite ^/forums/bb-admin/ /forums/bb-admin/index.php last;
    rewrite ^/forums/ /forums/index.php last;
    break;
}
## Feedburner
if ($http_user_agent !~ FeedBurner) {
    rewrite ^/comment/feed/?$ http://feeds.feedburner.com/domain last;
    rewrite ^/feed/?$ http://feeds.feedburner.com/domain last;
}
## WordPress W3 Total Cache
set $totalcache_file '';
set $totalcache_uri $request_uri;
if ($request_method = POST) {
    set $totalcache_uri '';
}
if ($query_string) {
    set $totalcache_uri '';
}
if ($http_cookie ~* "comment_author_|wordpress|wp-postpass_" ) {
    set $totalcache_uri '';
}
if ($totalcache_uri ~ ^(.+)$) {
    set $totalcache_file /wp-content/w3tc-$http_host/pgcache/$1/_default_.html;
}
if (-f $document_root$totalcache_file) {
    rewrite ^(.*)$ $totalcache_file break;
}

ggf. kann man auch gzip-Dateien ausgeben lassen: set $totalcache_file /wp-content/w3tc$http_host/pgcache/$1/_default_.html.gzip;

## WordPress SuperCache
set $supercache_file '';
set $supercache_uri $request_uri;
if ($request_method = POST) {
    set $supercache_uri '';
}
if ($query_string) {
    set $supercache_uri '';
}
if ($http_cookie ~* "comment_author_|wordpress|wp-postpass_" ) {
    set $supercache_uri '';
}
if ($supercache_uri ~ ^(.+)$) {
    set $supercache_file /wp-content/cache/supercache/$http_host/$1index.html;
}
if (-f $document_root$supercache_file) {
    rewrite ^(.*)$ $supercache_file break;
}
if (!-e $request_filename) {
    rewrite . /index.php last;
}
location ~* ^.+.(htm|html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
    access_log off;
    expires max;
    root /var/www/www.domain.de/web/;
}
## .htaccess & .htpassword sperren
location ~ /\.ht {
    deny  all;
}


Weitere Infos findest du im Wiki von nginx: wiki.nginx.org/Wordpress

Dienste unter Debian / Ubuntu deaktivieren

Da ich vor einiger Zeit von “Apache2” zu “nginx” als Webserver umgestiegen bin, den “alten Indianer” jedoch in der Zwischenzeit noch auf einem anderen Port (127.0.0.1:8080) aktiv hatte, war es nun an der Zeit diesen abzuschalten.


Jeder Dienst besitzt ein Start-/Stop-Skript im Verzeichnis /etc/init.d diese werden dann den verschiedenen Runleveln zugeordnet.


/etc/rc0.d – Während das System herunterfährt
/etc/rcS.d – Während des Bootens ausführen
/etc/rc1.d – Arbeiten als einzelner Benutzer
/etc/rc2.d – Mehrbenutzerbetrieb inkl. Netzwerk
/etc/rc3.d bis /etc/rc5.d – Nicht genutzt
/etc/rc6.d – Während das System neu startet


Der Standard Runlevel von Debian / Ubuntu ist 2. Um diese Zuordnungen zu verstehen, zeige ich einfach ein Beispiel:

Befehl:

ls -alhF /etc/rc2.d/S20php5-fpm

Ausgabe:

lrwxrwxrwx 1 root root 18 28. Aug 02:10 /etc/rc2.d/S20php5-fpm -> ../init.d/php5-fpm*

Wie man sieht handelt es sich hierbei um einen Symbolischer-Link welcher auf ein Start-/Stop-Skript zeigt. Um diese Zuordnung zu ändern gibt es den Befehl “update-rc.d”

update-rc.d apache2 defaults

Defaults bedeutet, dass Apache in den Runleveln 2-5 gestartet und in allen anderen beendet wird.
In meinem Fall wollte ich den Dienst ausschauten und daher die Links entfernen, dies hab ich mittels diesem Befehl gemacht.

update-rc.d -f apache2 remove

Die Reihenfolge, vor/nach welchen anderen Scripts ein Dienst starten soll, wird über folgende Einstellungen geregelt.

Möchte man Apache z.B so einrichten, dass er nur in Runlevel 4 und 5 und nach allen anderen Diensten gestartet wird (99) , benutzt man folgende Zeile:

update-rc.d apache2 start 99 4 5 stop 01 0 1 2 3 6

Die Zeile hat folgende Bedeutung: Füge Startlinks (die mit “S99…” beginnen) in /etc/rc4.d und /etc/rc5.d ein, füge außerdem Stoplinks (die mit “K01…” beginnen) in den anderen rc.xd-Verzeichnissen ein. Apache wird also bei Runlevel-Wechseln zuletzt gestartet und zuerst wieder beendet.


Alternativ gibt es ein Front-End, welches dies ebenfalls erledigen kann, dieses muss in den meisten Fällen jedoch erst-einmal installiert werden.


aptitude install sysv-rc-conf
sysv-rc-conf

Mit dem Befehl “sysv-rc-conf” kannst du nun sehr bequem Dienst ein-/ und ausschalten. (dies hat natürlich keinen Einfluss auf die momentan laufenden Prozesse, dieser musst du z.B. mit “/etc/init.d/apache2 stop” oder “pkill apache2” beenden)

vim – Tastaturbelegung



vi-vim-cheat-sheet_de_layout
vi-vim-cheat-sheet_de_layout



Das Bild hab ich zufällig auf dem IrfanViewMirror gefunden… :-)

vim – retab

Wie bereits in meinem vim-HowTo beschreiben kann man Tabs in beliebig viele Leerzeichen umwandel.

z.B.: aus allen Tabs, Leerzeichen machen:

:set tabstop=4
:set shiftwidth=4
:set expandtab
:retab

Um nun jedoch Leerzeichen in Tabs zu verwandeln, muss man sich einem kleinen Trick behelfen.

:command! -nargs=1 -range SuperRetab <line1>,<line2>s/\v%(^ *)@<= {<args>}/\t/g

PS: diesen Befehl kannst du auch fest in deiner ~/.vimrc -Datei eintragen

Nun kannst du per…

:'<,'>SuperRetab 4

… diese Leerzeichen wieder in Tabs umwandeln!

vim-Plugin – matchit

Wie ich bereits in einem älteren Post (vim-HowTo) beschrieben habe, kann man im Editor “vim” zur nächsten zugehörigen Klammer springen, wie folgendes Beispiel zeigt:

matchit-vim-example

Um dieses Prinzip auch auf z.B. “if – fi” in shell-Skripten anzuwenden, muss du folgende Kommandos im vim ausführen.

:!mkdir ~/.vim
:!mkdir ~/.vim/plugin
:!cp $VIMRUNTIME/macros/matchit.vim ~/.vim/plugin
:!mkdir ~/.vim/doc
:!cp $VIMRUNTIME/macros/matchit.txt ~/.vim/doc
:helptags ~/.vim/doc

Die neuen Befehle kannst du dir nun mit …

:help g%

… anzeigen lassen.

Multitouch – Samsung GALAXY SPICA I5700

Seit heute unterstützt das “Samsung Galaxy Spica” Multitouch-Funktionen. Habe dies bereits getestet. Zoll mit zwei Fingern per “Galerie”-App und per “GoogleMap”, “Mutitouch Vis Test” oder z.B. “Pong Multi Touch”-Game, alles ohne Probleme. :-)

Forum-Link


1.) SamdroidMod installieren

Link

Wenn du nicht bereits SamdroidMod installiert hast, kannst du unter dem zuvor erwähnten Link (HowTo) lesen, wie du dies bewerkstelligen kannst, ansonsten musst du nur den nächsten Schritt durchführen.


2.) Turbo Kernel + Multi Touch

Die folgende Datei herunterladen Samdroid Turbo Kernel (V9) und mit Odin “SamTurbo_V9_PDA.tar” -> “PDA” auswählen. Die entsprechende Update-Software kannst du hier herunterladen…

– Odin Multi Downloader v4.16

spica_jc3.ops


odin_test3

[stextbox id=”info” caption=”Info”]Update: Mittlerweile ist die MultiTouch-Funktion bereits im SamdroidMod (Kernel – LK2.09.1) integriert, so dass du nur noch das am Anfang erwähnte How-To durchführen musst.[/stextbox]


Hier noch ein paar Screen-Shots, als ansporn das Update durchzuführen! :-)


MultiTouch-Test
MultiTouch-Test



MultiTouch-Game
MultiTouch-Game
















PS: Euer Dank (ggf. Spende) für den MultiTouch-Treiber geht an: Gabriel-LG

Android 2.2 Froyo (CyanogenMod) – Samsung GALAXY SPICA I5700

In meinem letzem HowTo zum Thema Spica habe ich bereits beschrieben wie du “Android 2.1” installierst -> speedup-samsung-galaxy-spica-i5700. Dieses HowTo ist anfangs sehr ähnlich, da wir im ersten Schritt erst-einmal root-Rechte benötigen.


[stextbox id=”warning”]Warnung: Indem du diese Updates einspielst, gehen die Einstellungen/Apps auf dem Handy verloren und du musst deine Einstellungen wieder neu vornehmen z.B. APN (BASE = E-Plus) und die Apps wieder neu installieren. Die Kontakte bleiben jedoch erhalten, wenn du diese mit deinem Google-Account synchronisiert hast.[/stextbox]


[stextbox id=”alert” caption=”Achtung”]Achtung: Auch wenn dieses HowTo bei mir ohne Probleme funktioniert hat, garantiere ich nicht, dass dies auch bei dir funktioniert.[/stextbox]


Funktioniert:

  • Touch/Multitouch
  • Tasten
  • Audio
  • GSM/GPRS/EDGE/3G
  • GPS
  • Vibration
  • SD-Karte / USB-Massen-Speicher
  • Wifi (W-Lan) (+Wifi-Tethering)
  • Bluetooth
  • Google Services (20101020) (GMail, Market, Contacts, Calendar)
  • Kamera
  • Sensoren
  • VoiceRecording
  • Hardware accelerated movie playing/recording (mp4/h264)

Funktioniert (noch) nicht:

  • Hardware accelerated movie playing/recording (DivX)

(27.12.10)


“Quadrant”-Benchmark: ~ 620

Spica-Test
Spica-Test


1.) Treiber herunterladen/installieren

Windows XP” -> “SAMSUNG New PC Studio” -> Download-Link

Windows 7” -> “SAMSUNG Kies” -> Download-Link

Als erstes benötigen wir unter Windows folgendes Programm “SAMSUNG New PC Studio” bzw. “SAMSUNG Kies”, eigentlich benötigen wir nur die Treiber, diese sind jedoch mit in der Software integriert, daher einfach installieren und nach der Installation das Programm wieder schließen und nicht mehr beachten… ;-)


2.) Odin Multi Downloader herunterladen

Download-Link


3.) neue Firmware herunterladen

Download-Link

Zusätzlich benötigen wir noch folge kleine Datei:

Download-Link


Die neusten Firmwares für Samsung I5700 Spica findest du unter folgendem Link, die zuvor erwähnten Firmware war ist bisher (01.10.2010) die aktuellste Version und ich hatte mit dieser keinerlei Probleme.:

Samsung-Firmware


4.) Aktiviere “USB debugging”

Um “USB debugging” auf deinem Handy zu aktivieren, gehst du wie folgt vor |

Settings->Applications->Development->Enable USB debugging


5.) Software starten

Bevor wir unser Handy am PC anschließen, staten wir die Odin-Software und geben den Pfad zu den zuvor heruntergeladenen Dateien an.


[stextbox id=”warning”]Wichtig ist “One Package” auszuwählen und die Datei dann auch unter “One Package” anzugeben![/stextbox]

Odin_1

6.) Handy vorbereiten & Firmware installieren

Du musst dein Handy nun ausschalten und es darf nicht per USB am PC angeschlossen sein, ansonsten kann es nicht im neuen Modus hochfahren, dies geschieht, indem wie im folgendem Bild beschrieben die leiser-, Kamera- und die ein/aus-Taste gedrückt hältst…

firmware_hochladen
leiser + Kamera + aus/ein

…nun sollte folgender Bildschirm erscheinen, …

spica_download_mode
Download-Modus

…wenn dies geschehen ist, kannst du dein Handy mit dem USB-Kabel am PC anschließen. Du wirst sehen, dass die Odin-Software feststellt, dass du dein Handy angeschlossen hast, nun kannst du in der Software auf “Start” klicken und abwarten, falls dein Handy nicht nach dem automatischen Reboot nicht mehr hochfahren sollte, keine Panik.

Sobald du einige Minuten abgewartet hast und die Odin-Software anzeigt, dass alles abgeschlossen ist, dein Handy jedoch nicht mehr hochfährt, nimm einmal den Akku heraus und setzte ihn wieder ein, dann starte dein Handy erneut.


7.) Install Spica v.LK2.08

Forum-Link

Um die am Anfang genannten Funktionen nutzen zu können brauchen wir noch weiter Updates. Als erstes benötigen wir den “Recovery-Modus”, diesen rüsten wir wie folgt nach.

7.1.) Download Kernel: i5700_LK2-08_PDA.7z und entpacken

7.2.) nun musst du dein Handy wieder ausschalten und vom PC entfernen

7.3.) dann wieder die Odin-Software starten und dieses man nur die PDA-Datei auswählen


[stextbox id=”info”]Um diese Datei “i5700_LK2-08_PDA.7z” jedoch zu öffnen benötigst du z.B. 7-Zip. (hat bei mir schon lange WinZip… WinRAR und so weiter verdrängt ^^[/stextbox]


[stextbox id=”warning”]Nicht “One Package” auszuwählen![/stextbox]


odin_test2


7.4.) nun musst du dein Handy wieder im Download-Modus starten (leiser+Kamera+an/aus) und danach am PC anschließen und sobald die Software dies mitbekommen hat, kannst du wieder auf “Start” klicken. Danach sollte dein Handy direkt im Recovery-Menü landen (beim ersten Reboot). Um später noch einmal zu diesem Menü zu gelangen, musst du folgende Tasten drücken -> (leiser+anrufen+auflegen)

firmware_hochladen2
(leiser+anrufen+auflegen)


8.) CyanogenMod installieren

Forum-Link

Die folgende Datei ist die Version “Alpha8.3” (17.01.11) da daran jedoch noch gearbeitet wird, sollte man im Form nach einer neuern Version schauen und beachten, dass wenn man bereits ein vorherige Version von dem CyanogenMod installiert hat das Update installieren sollte! (siehe Forum-Link)

Download-Link (~ 70 MB)

… anschließend muss diese Datei im oberen Verzeichnis deiner SD-Karte speichern. Wer bereits eine frühere Versin von CM für Spica installiert hat, kann im Forum(-Link) ein Update finden.


Kitchen: Auf der folgenden Webseite -> Froyo Kitchen <- kann man sich sein individuelles System zusammenstellen und dann wie bereits für den CyanogenMod beschrieben, per “Recovery-Modus” installieren! Falls man damit jedoch Probleme hat, kann man ohne weiteres die zuvor erwähnte fertige Version nutzen.

Update: (25.02.2011): Es gibt mittlerweile auch auf forum.samdroid.net eine eigene Kitchen für Froyo 2.2 -> Froyo Kitchen-v.2 <-

 

8.1.) Nun müssen wir in den zuvor erklärtem Recovery-Modus starten (leiser+anrufen+auflegen) und im Recovery-Modus (“Apply any zip”) auswählen, und die Datei welche wir gerade auf die SD-Karte gespeichert haben auswählen. Sobald dies funktioniert hat, müssen wir im Menüpunkt “Wipe” noch “Wipe data/cache” auswählen.


[stextbox id=”info”]Während des ersten Boot-Vorgangs kann es passieren das 2- bis 5-mal automatisch ein Reboot durchgeführt wird, daher kann dieser Bootvorgang länger dauern. Wenn jedoch zirka 5 Minuten nichts passiert, dann noch einmal den Recovery-Modus staten und im Menüpunkt ”Wipe” -> ”Wipe data/cache” auswählen und noch einmal neu-starten.[/stextbox]


9.) Kernel + Tweak für CM

Forum-Link

Ich habe mich hier für den Kernel mit “CFS cpu scheduler” und nicht BFS cpu scheduler” entschieden, da bei BFS eine Warnung vor Daten Beschädigung im Forum zu lesen ist. Hinzu kommt noch “SSSwitch (Screen State Switch)”, ein kleines Skript, welches noch einige Einstellungen am Kernel vornimmt. (nicht SetCPU und SSSwich gleichzeitig verwenden!!!)


9.1.) Download der Daten und ggf. im Forum nach einer neuen Version schauen.

Download-Link (krnl-ckMod.cfs.011.zip)

Download-Link (ckMod.SSSwitch.v06C.zip)


… anschließend musst du diese Dateien im oberen Verzeichnis deiner SD-Karte speichern.


9.2.) Nun müssen wir in den zuvor erklärtem Recovery-Modus starten (leiser+anrufen+auflegen) und im Recovery-Modus (“Apply any zip”) auswählen, und die Datei welche wir gerade auf die SD-Karte gespeichert haben auswählen.


10.) CyanogenMod – Update

Download-Link (Intercept3D.zip)


10.1.) Download der vorherigen verlinkten Dateien im Forum und anschließend muss diese im oberen Verzeichnis deiner SD-Karte gespeichert werden.


10.2.) Nun müssen wir in den zuvor erklärtem Recovery-Modus starten (leiser+anrufen+auflegen) und im Recovery-Modus (“Apply any zip”) auswählen, und die Datei welche wir gerade auf die SD-Karte gespeichert haben auswählen.


ggf. kann man auch den neuen Kernel + Updates mithilfe einer Datei installieren… z.B.:

Forum-Link


11.) I/O Speed Up (convert all to EXT2)

Forum-Link

Zum Schluss habe ich noch I/O Performance verbessert, in dem die Partitionen umformatiert wurden.


11.1.) Download (all_to_ext2_luismaf_update_v8.zip) aus dem angegeben Forum und speichere diesen im oberen Verzeichnis deiner SD-Karte.


11.2) Genau wie zuvor benutzt du nun den Recovery-Modus ( -> “Apply any zip”), um dies anzuwenden. Es kann im Gegensatz zu den Vorherigen Updates etwas länger dauern, also keine Panik. Ich habe die Schritte hier einzeln aufgeführt, so dass es verständlicher ist, in der Praxis habe ich “Kernel” (Tweak) + “Updates” + “I/O SpeedUp” in einem Rutsch per Recovery installiert und fertig.


11.3) Wenn du das neue Dateisystem noch schneller machen willst, kannst du auch noch “tweaks_fe_ext_v2.1.zip” auf dem gleichem Weg installieren. :-)


12.) Tuning-Apps nachinstallieren

Es gibt einige Apps welche dein Android-Handy verbessern können, ich zeige hier kurz welche ich momentan verwende.


12.1.) Advanced Task Killer (Free)

Lässt sich direkt über den “Market” installieren. Nachdem du es installiert und zum ersten mal gestartet hast, musst du eine Ausnahmeliste erstellen, indem du die ein App im “Advanced Task Killer” länge gedrückt hältst und dann auf “Ignore” tippst. Fertig.


12.2.) Autorun Killer

Lässt sich ebenfalls direkt über den “Market” installieren. Indem du ein App länger gedrückt hältst, kannst du auf “Enable/Disable” tippen, so dass dieses nicht mehr am Anfang gestartet wird und somit keine Ressourcen mehr verbraucht.


12.3.) AddFree

Lässt sich ebenfalls direkt über den “Market” installieren. “Adblocker” mittels Modifizierung der hosts-Datei, somit wird die Werbung erst gar nicht heruntergeladen und funktioniert in anderen Apps, Browser u.s.w.!

 

 

PS: Wer die einzelnen Updates in einem Update-Paket installieren möchte, sollte sich folgenden Beitrag anschauen -> Update-Paket für CyanogenMod <-

Debian/Ubuntu Paket selber bauen (Nginx)

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:

Dark Theme – Samsung GALAXY SPICA I5700

Heute zeige ich eine sehr einfache Möglichkeit, um deinem “Samsung GALAXY Spica” ein neues Aussehen zu verpassen.


1.) SamdroidMod installieren

speedup-samsung-galaxy-spica-i5700 -> min. bis Punkt 8

Falls du dein Handy bereits mit dieser Methode entsperrt hast und somit Root-Rechte besitzt, kannst du diesen Schritt natürlich weglassen.


2.) Theme herunterladen

www.mediafire.com/?0fdxqc0pqw0u11b

… und die Datei anschließend einfach auf die SD-Karte deines Handys kopieren…

PS: hier gibt es noch mehr Themes -> forum.samdroid.net/f42/theme-index-1879/


3.) Recovery-Menü starten

Firmware Hochladen2-176x300 - SpeedUp - Samsung GALAXY SPICA I5700 - android - SUCKUP.de
(leiser+anrufen+auflegen)
Als nächstes führen wir das Theme-Update durch, indem du in dem Menü, welches du nun siehst, “apply any zip from SD” auswählst und dort die Datei, welche auf deiner SD-Karte liegt auswählst -> OK und mit der Home-Taste noch einmal bestätigen….

3.) Wallpaper aussuchen

https://www.sugarsync.com/share/cve9wzbkrirej

… dazu habe ich einige Wallpaper zusammengesucht :-)


GALAXY-THEME GALAXY-THEME1 Theme-test2
GALAXY-THEME2 Theme_test1

TCPdump – HowTo

TCPdump ist ein sehr mächtiger PacketSniffer für die Kommandozeile.


Installation: TCPdump

aptitude install tcpdump


TCPdump verwenden

Standard TCPdump Output:

tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
15:14:25.060050 IP 89.35.90.202.clax.ro.27015 > h89-37-110-61.teleson.ro.27005: UDP, length 229
15:14:25.060071 IP 89.35.90.202.clax.ro.27015 > 86-124-241-9.rdsnet.ro.27005: UDP, length 374
15:14:25.060213 IP 86-124-240-65.rdsnet.ro.27005 > 89.35.90.202.clax.ro.27015: UDP, length 78
15:14:25.060236 IP 91-213-135-21.optic-bridge.com.ro.45249 > 89.38.255.34.28822: UDP, length 20


Netzwerkadapter anzeigen

tcpdump -D

1.eth0
2.eth1
3.vmnet1
4.eth2
5.vmnet8
6.any (Pseudo-device that captures on all interfaces)
7.lo


Anzeigen von IP-Adressen anstatt DNS-Namen

tcpdump -n

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
15:16:30.923169 IP 89.35.90.202.38331 > 89.35.90.18.62613: P 2328456744:2328456940(196) ack 4034413693 win 644
15:16:30.923325 IP 89.35.90.202.38331 > 89.35.90.18.62613: P 196:360(164) ack 1 win 644


Ausgabe kürzen / zusammenfassen

tcpdump -q

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
15:17:03.118429 IP 89.35.90.202.clax.ro.38331 > 89.35.90.18.clax.ro.62613: tcp 196
15:17:03.119439 IP 89.35.90.202.clax.ro.53853 > ns1.clax.ro.domain: UDP, length 42
15:17:03.119631 IP host101-233-dynamic.245-95-r.retail.telecomitalia.it.11563 > 89.38.255.182.36307: UDP, length 20
15:17:03.119880 IP 79-113-85-203.rdsnet.ro.62621 > 89.35.90.202.clax.ro.27015: UDP, length 46
15:17:03.119903 IP user-ip-23-89-33-89-sel.rdsnav.ro.63087 > 89.35.90.202.clax.ro.27015: UDP, length 58
15:17:03.119913 IP 89.123.112.67.40328 > 89.38.255.34.63681: tcp 0



Netzwerkadapter angeben

tcpdump -i eth0


UDP-Pakete filtern

tcpdump udp


TCP Port 80 Traffic aufzeichnen

tcpdump port http
tcpdump port 80

TCP Quell-Port 80 Traffic aufzeichnen

tcpdump src port 80


TCP Ziel-Port 80 Traffic aufzeichnen

tcpdump dst port 80


Traffic-Aufzeichnung von einer bestimmten IP

tcpdump host 192.168.1.1


Traffic-Aufzeichnung von einer bestimmten Quell-IP

tcpdump src 192.168.1.2


Traffic-Aufzeichnung von einer bestimmten Quell-IP

tcpdump dst 10.1.1.2


Traffic-Aufzeichnung nach 20 Paketen stoppen

tcpdump -c 20


Traffic-Aufzeichnung eines IP-Netzes

tcpdump net 192.168.1.0/24


Output in eine Datei umleiten

tcpdump -w tcpdump_capture.log


Lesen eines TCPdump-Logs

tcpdump -r capture.log