Basic Authentification unter Nginx einrichten

Auch im Webserver Nginx lässt sich „Basic Authentification“ einrichten. Dazu fügt man in der entsprechenden Konfigurationsdatei im Server folgenden Block hinzu:

location / {
    auth_basic           "Access denied";
    auth_basic_user_file /var/www/example.org/.htpasswd;
}

In dem definierten Ordner wird nun eine Datei mit dem Namen „.htpasswd“ angelegt“. Dieser Datei funktioniert dabei nach dem Schema „Nutzername:Passwort“. Mittels:

openssl passwd

kann dar Passworthash für die Datei erzeugt werden. Alternativ kann das ganze auch über das „htpasswd“ Tool, welches im „apache2-utils“-Paket enthalten ist, erstellt werden:

htpasswd .htpasswd seeseekey

Die „.htpasswd“-Datei könnte dann so aussehen:

seeseekey:ppWAv1Wkrq/jg

Nach dem Neustart des Servers mittels:

sudo service nginx restart

sollte die „Basic Authentification“ funktionieren.

Weitere Informationen gibt es unter:
http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html

PHP, Curl und GD

Seit einigen Tagen läuft diese Webseite auf einer Nginx Instanz mit einer entsprechenden PHP Konfiguration. Bei der minimalen Installation fehlen dabei einige Bibliotheken, welche von entsprechenden PHP Anwendungen benötigt werden. Konkret handelt es sich dabei um „curl“ und „gd“. Um diese auf einem Ubuntusystem nachzurüsten genügt es die Pakete „php5-curl“ und „php5-gd“ zu installieren:

sudo apt-get install php5-curl php5-gd

Im Falle von Nginx müssen dabei keine Änderungen an der Konfiguration vorgenommen werden. Nginx wird bei der Paketinstallation automatisch neugestartet.

Schneller Webserver für zwischendurch

Unter Linux ist der einfache Webserver für den Bedarfsfall schnell gebaut. Wer so etwas auch für Windows benötigt, der sollte sich einmal HFS anschauen. Dabei handelt es sich um einen in Delphi geschriebenen Webserver.

Die HFS Oberfläche

Die HFS Oberfläche

In der Oberfläche kann man die entsprechenden Dateien zur Freigabe hinzufügen, so das diese anschließend per HTTP erreichbar sind. Daneben sind in der Oberfläche einige Optionen zur genaueren Konfiguration zu finden. Auch eine Shell-Integration ist möglich. Interessant ist die Lizenz welche HFS als freie Software ausweist:

HFS comes with ABSOLUTELY NO WARRANTY; for details click Menu -> Web links -> License This is FREE software, and you are welcome to redistribute it under certain conditions.

Allerdings stellt sich hier die Frage bis zu welchem Grad die „certain conditions“ bei den bekannten freien Lizenzen gegeben sind. Bezogen werden kann HFS unter http://rejetto.com/hfs/.

PHP-Fehlermeldungen abschalten

Da man auf einem Produktivserver nicht unbedingt alle Fehlermeldungen an den Kunden herausgeben muss ist es manchmal ganz praktisch etwaige Fehlermeldungen zu unterdrücken. Die kann über die .htaccess Datei geschehen. Die Einstellungen in dieser Datei gelten für sämtliche Ordner welche unterhalb der Datei liegen. Um die Meldungen nun abzuschalten fügt man einfach folgende Zeile zu der Datei hinzu:

php_value display_errors 0

Mokopedia einrichten

Heute wollte ich die Mokopedia auf meinem Freerunner einrichten. Die Mokopedia ist eine zum Offline Anschauen optimierte Fassung der Wikipedia. Zu finden ist sie unter http://mokopedia.mister-muffin.de/.

Bevor wir anfangen binden wir noch ein zusätzliches Repository ein. Dazu wird die Datei http://rabenfrost.net/celtune/celtune-rabenfrost.conf in den Ordner /etc/opkg/ gepackt und anschließend opkg update ausgeführt. Danach werden mit opkg install python-opendir python-netserver kernel-module-loop die benötigten Module installiert.

Dann benötigen wir noch einige Kernelmodule. Dabei ist zu beachten das die hier angebotenen Kernelmodule nur mit der Version 2.6.24 des Kernels zusammenarbeiten. Überprüfen kann man dies in dem man auf der Konsole uname -a eingibt.

Wenn die Kernelversion stimmt kann man sich die benötigten Module auf sein Freerunner laden. Dazu gibt man in der Konsole folgendes ein:

wget https://seeseekey.net/wp-content/uploads/2008/11/unlzma.ko
wget https://seeseekey.net/wp-content/uploads/2008/11/sqlzma.ko
wget https://seeseekey.net/wp-content/uploads/2008/11/squashfs.ko

Die Dateien müssen dann an folgende Orte:

unlzma.ko -> /lib/modules/2.6.24/kernel/extra/lzma/unlzma.ko
sqlzma.ko -> /lib/modules/2.6.24/kernel/extra/lzma/sqlzma.ko
squashfs.ko -> /lib/modules/2.6.24/kernel/fs/squashfs/squashfs.ko

Um die Modulabhängigkeiten zu aktualisieren geben wir dann noch depmod -a ein. In die Datei /etc/fstab/ tragen wir dann noch folgendes ein:

# mokopedia
/media/card/mokopedia/de/mokopedia.lzma /media/mokopedia/de squashfs default,loop 0 0

Nun liegt nach einem Neustart in dem Verzeichnis /media/mokopedia/de die Mokopedia. So ist das ganze natürlich noch nicht sonderlicht schön. Wir benötigen noch einen Server der uns das Ganze für den Webbrowser ein wenig hübscher macht.

Dazu benötigen wir einen kleinen Webserver den gibt es hier. Das ganze entpacken und auf den Freerunner. Nun starten wir die server.py indem wir python server.py eingeben.

Danach können wir den Browser starten und http://localhost:8080/ eingeben und schon sind wir in der Wikipedia. Zur Zeit ist das ganze leider noch etwas unübersichtlich wenn man die Wikipedia auf dem Palm gewöhnt ist, aber das wird schon :)