Da in meinen Webserver-Log-Dateien häufiger Anfragen nach Dateien namens wpad.dat auftauchten habe ich mich mal mit dem Thema Web Proxy Autodiscovery Protocol (WPAD) beschäftigt. Positiv daran ist, dass es als Webstandard gilt und von allen aktuellen Browsern unterstützt wird. WPAD benutzt Proxy Auto-Configuration (PAC) Dateien um die Einstellungen zu übermitteln.

Diese Dateien dienen dazu Browser automatisch zu konfigurieren, so dass sie sich die Proxy-Einstellungen selbständig erfragen können. Grundlage dafür ist eine Konfigurationsdatei namens wpad.dat, die im einfachsten Fall folgenden Inhalt besitzt:

function FindProxyForURL(url, host)
{
  if(isPlainHostName(host) || localHostOrDomainIs(host, "localhost") ||  localHostOrDomainIs(host, "127.0.0.1") || isInNet(host, "192.168.1.1", "255.255.0.0")) {
     return "DIRECT";
  }else {
     return "PROXY 192.168.1.1:3128";
  }
}

Im Prinzip wird hier in der letzten Zeile die Adresse und der Port des Proxy-Server übergeben. Der Teil davor umgeht den Proxy-Server, wenn ein Rechnername ohne Domain aufgerufen wird, der Name oder die IP für localhost oder ein Rechner aus dem lokalen Netz.

Detaillierte Informationen findet man unter http://findproxyforurl.com und natürlich http://de.wikipedia.org/wiki/WPAD.

Diese Datei muss nun nur noch zum Browser kommen. Dazu muss der Browser passend eingestellt sein: Bearbeiten -> Einstellungen -> Erweitert -> Netzwerk -> Verbindung -> Einstellungen -> Die Proxy-Einstellungen für dieses Netzwerk automatisch erkennen

Nun muss auf dem Server noch der Webserver-Apache entsprechend konfiguriert werden. Er sollte im Idealfall auf folgende URL hin die Datei ausliefern: http://wpad.<rechnername.lokale-domain>/wpad.dat In den meisten Installationen langte es sicherlich im Nameserver einen cname für wpad einzurichten:

wpad       CNAME   boss

Zusätzlich wird noch empfohlen die zugehörigen Mime-Types zu registrieren. Dazu kommen folgende Zeilen in die bisher leere Datei /etc/apache2/httpd.conf:

AddType application/x-ns-proxy-autoconfig .dat
AddType application/x-ns-proxy-autoconfig .pac
Redirect permanent  /proxy.pac /wpad.dat

Hier sind zwei Dateien eingetragen, die wpad.dat und die proxy.pac, die beide identisch sind. Eine Version ist für WPAD-fähige Systeme zuständig, die andere für ältere Versionen. Durch den Redirect muss nur eine der beiden Dateien wirklich vorhanden sein. Anfragen an die andere Datei werden passend weitergeleitet.

Im Prinzip suchen die Browser nun nach einem festen System nach der Konfigurationsdatei. Man kann ihnen das Leben erleichtern und auch den cname wpad für den Webserver vermeiden, wenn man die DHCP-Server Konfiguration etwas anpasst.

# /etc/dhcpd.conf
#
# Configuration file for ISC dhcpd
#
# -- global options --
default-lease-time                 160000;
max-lease-time                     200000;
use-host-decl-names                on;
option dhcp-max-message-size       1024;
option wpad code 252 = text;
ddns-update-style                  none;
authorative;

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.40 192.168.1.160;
    server-identifier 192.168.1.1;
    option broadcast-address 192.168.1.255;
    option routers 192.168.1.254;
    option domain-name-servers 192.168.1.1, 192.168.1.254;
    option domain-name "debacher.net";
    option wpad "http://www.debacher.net/wpad.dat ";
}

Die beiden hinzuzufügenden Zeilen sind fett unterlegt. Damit wird dem Client-Rechner schon beim Starten die Adresse der wpad.dat (Code 252) mit übermittelt. Hier ist eine beliebige URL möglich, die auch nicht unbedingt im eigenen Netz liegen muss. Die Adressübermittlung per DHCP hat übrigens Vorrang gegenüber der Übermittlung per DNS. Man muss also nicht unbedingt an den Nameserver heran.

Weitere Informationen:

Ich wollte mich gern mit der erschreckenden Gesichtererkennung des neuen Picasa 3.6  beschäftigen. Leider bietet Google keine aktuellen Versionen für Linux an. Unter http://www.mail-archive.com/google-labs-picasa-for-linux@googlegroups.com/msg01748.html habe ich einen Beitrag gefunden mit dessen Hilfe ich 3.6 erfolgreich unter Ubuntu 9.10 installieren konnte.

Die Beschreibung geht davon aus, dass man Picasa 3.0 auf dem eigenen Rechner installiert hat. Ich hatte das schon vor einiger Zeit gemacht. Das Picasa 3.0 findet sich dann unter /opt/google auf dem Rechner.

Zuerst lädt man sich die Datei picasa36-setup.exe von der Google-Download-Seite.

cd /opt/google/picasa/3.0/wine/bin
./wine /home/debacher/Downloads/picasa36-setup.exe

Dabei wird Picasa in das Verzeichnis /home/debacher/.wine installiert. Soll es allgemein zur Verfügung stehen, so muss diese Installation nach /opt verschoben werden. Dazu benötigt man Root-Rechte:

sudo su -
cd /opt/google/picasa/3.0/wine/drive_c/Program\ Files/Google/
rm -Rf Picasa3
cp -R /home/debacher/.wine/drive_c/Programme/Google/Picasa3/  .
cd Picasa3
mv PicasaUpdater.exe PicasaUpdater.exe.old

Danach startet dann zukünftig Picasa 3.6 auch über alle Menüeinträge der alten Installation. Man kann dann sogar das gesamte .wine Verzeichnis im Homeverzeichnis löschen, zumindest wenn es nicht vorher schon vorhanden war.

Zum Fernsehen benutze ich gern Kaffeine, zumal es auf breiten Monitoren den Vorteil besitzt, dass die Senderliste seitlich sitzt und das Bild dadurch recht groß werden kann. Mit dem aktuellen Kaffeine hatte ich das Problem, dass manchmal kein Sound zu hören war, der Sound ging nicht auf meine analogen Boxen, sondern auf den digitalen Monitor.  Beim Start von Kaffeine tauchte dann immer eine Fehlermeldung von Phonon auf:

Phonon: Das Multimediasystem von KDE
Das Audio-Abspielgerät "HDA NVidia (ALC888 Analog)" funktioniert nicht. Es wird auf ... ausgewichen.

Ich habe lange verzweifelt nach einer Einstellmöglichkeit gesucht. Irgendwann habe ich dann das Programm pavucontrol installiert und damit versucht das digitale HDMI-Gerät zu deaktivieren. Aber auch das hat keinen nachhaltigen Effekt gebracht.

Nur hat sich dann irgendwann bei eine späteren Start von Kaffeine ein KDE-Programm gemeldet um mir mitzuteilen, dass ich ein Gerät deaktiviert habe. Dieses Programm bot eine Konfiguration des Soundsystems an.

/usr/bin/kcmshell4   kcm_phonon

Führt mich nun zu diesem Einstellprogramm, in dem man die Reihenfolge der Ausgabegeräte festlegen kann. Hier habe ich die HDMI-Ausgabe auf den letzten Platz gesetzt und nun wird auf PulseAudio ausgewichen, was dann auch funktioniert.

Auf meinem neuen Rechner habe ich mir Virtualbox installiert und zwar die nicht freie Version direkt von den Webseiten. Nun geht es darum die vorhandenen Images für Virtualbox verfügbar zu machen.

Wenn es irgend geht, dann sollte man noch unter VMWare die VMWare-Tools deinstallieren, sonst kann es später Probleme mit der virtuellen Netzwerkkarte geben. Unter Virtualbox ist die Deinstallation nicht immer möglich.

Meine VMWare-Images sind alle aufgeteilt in Dateien zu maximal 2 GByte. Im ersten Schritt müssen diese Teile zusammengefasst werden. Dazu wechsle ich ins Verzeichnis des jeweiligen Images und gebe ein:

vmware-vdiskmanager -r winXPPro.vmdk -t 0 /tmp/winXPPro.vmdk

Die Dateinamen müssen natürlich den eigenen Gegebenheiten angepasst sein.  Auf alle Fälle entsteht in /tmp die neue Datei mit der kompletten virtuellen Festplatte. Diese Datei kann nun für Virtualbox konvertiert werden. Dieser Schritt könnte entfallen, da Virtualbox inzwischen auch mit den VMWare-Images umgehen kann.

Im Ordner /tmp rufe ich dann auf:

VBoxManage -nologo clonehd winXPPro.vmdk winXPPro.vdi -format VDI

Das Virtualbox-Programm meldet sich mit einem textbasierten Fortschrittsbalken.

Der VBoxManager  speichert die neue Datei übrigens nicht in /tmp ab, sondern im Verzeichnis /home/<benutzer>/.VirtualBox/HardDisks. Man sollte sich gut überlegen, ob man diese Images wirklich in einem verborgenen Unterverzeichnis im Homeverzeichnis haben möchte.  Ich sammle diese großen Dateien gern auf einer extra Partition, was die Daten-Sicherung deutlich vereinfacht.

Nun kann man dieses Festplattenimage in eine neue virtuelle Maschine einbinden. Im dritten Fenster der Einrichtung einer neuen virtuellen Maschine kann man die Datei nun auswählen, indem man zuerst Festplatte benutzen auswählt und dann unten rechts auf das gelbe Ordnersymbol klickt. Hier kann man dann die Festplatte hinzufügen und auswählen.

Wenn die neue virtuelle Maschine eingerichtet ist, dann muss man unbedingt noch einmal auf den Bereich System doppeklicken, um dort eine Einstellung zu ändern. Bei mir wollte das Windows nie starten, wenn nicht der Schalter IO-APIC aktivieren gesetzt war.

Danach kann man dann die virtuelle Maschine starten. Sowie das Windows läuft sollte man die VMWare-Tools deinstallieren, da die zumindest die Netzwerkkarte stören. Besser wäre es diese schon vorher unter VMWare zu tun.

Nach den fälligen Windows-Neustart kann man dann die Virtualbox-Erweiterungen installieren.

Bei momentan aktuellen Systemen mit Typo3 4.3 und der Extension date2cal gibt es im Backend eine Vielzahl von Warnungen der Art

Core: Error handler (BE): PHP Warning: fopen(/srv/www/xxxx/httpdocs/typo3temp/tx_date2cal/date2cal_cache.php): failed to open stream

Ursache ist das Fehlen des entsprechenden Verzeichnisses. Das Problem ist beseitigt, wenn man unterhalb von typo3temp den Ordner tx_date2cal per Hand anlegt.

Nachtrag:  Tobias gibt noch den Hinweis, dass date2cal unter Typo3 4.3 nicht mehr notwendig ist, hier wird datepicker mitgeliefert.

Die VMWare Workstation 6.5.x lässt sich unter Ubuntu 9.10 nicht direkt installieren. Die Installation bleibt immer nach etwa 2/3 hängen, während die Konfiguration erfolgen soll. Mittels dmesg kann man sehen, dass vmmon geladen und entladen wird, die anderen Module lassen sich anscheinend nicht übersetzen.

Nach mehreren vergeblichen Versuchen habe ich im Ubuntu-Forum die Lösung gefunden http://ubuntuforums.org/showthread.php?t=1314006.

Der Autor schiotz löst das Problem über ein kleines Python-Script, welches er unter dem Namen gcc im gleichen Verzeichnis ablegt, wie die Datei VMware-Workstation-6.5.3-185404.i386.bundle. Ursache des Problems sind wohl zu viele Warnungen des Compilers, die zum Einfrieren der Installation führen. Also wird über dieses Script der gcc veranlasst schweigsamer zu sein.

#!/usr/bin/python

import sys
import copy
import os

argv = copy.copy(sys.argv)

i = len(argv)
for i in range(i-1, 0, -1):
    if len(argv[i]) > 4 and argv[i][:2] == "-W" and argv[i][3] != ",":
        del argv[i]

argv[0] = "/usr/bin/gcc"
os.execv(argv[0], argv)

Das Script und die Datei VMware-Workstation-6.5.3-185404.i386.bundle müssen ausführbar gemacht werden, danach kann die Installation mittels

sudo env PATH=`pwd`:$PATH ./VMware-Workstation-6.5.3-185404.i386.bundle

durchgeführt werden. Im Prinzip passiert hier nicht mehr, als dass der Pfad um das aktuelle Verzeichnis erweitert wird, damit der Fake-gcc anstatt des richtigen gcc aufgerufen wird.

Anschließend muss man dann noch die Module installieren mittels:

sudo vmware-modconfig –console –install-all --appname="VMware Workstation" --icon="vmware-workstation"

durchgeführt werden.

Bei mir lief vmware nach diesem Schritt bereits.

Zuletzt soll man noch die Datei /etc/vmware/bootstrap um die Zeile

VMWARE_USE_SHIPPED_GTK=force

erweitern.

Eine andere Lösung für das gleiche Problem findet sich unter http://linux.aldeby.org/vmware-workstation-6-5-3-on-ubuntu-karmic-9-10.html .

Im Prinzip war mir das Problem bewusst, dass auf vielen Seiten Grafiken (Webwanzen) eingebunden sind um das Nutzerverhalten zu analysieren. Ein Artikel in der Linux-User 12/2009 hat mich dazu gebracht mir das einmal anzuschauen.

Ich habe mir also für meinen Firefox die Extension Ghostery installiert und achte jetzt bei jeder Website darauf, welche und wieviele kleine „Gespenster“ auf den jeweiligen Webseiten auftauchen. Das sind schon lange nicht mehr nur Grafiken, sondern oft eingebundene Javascript-Dateien.

Bisher habe ich auf keiner der Webseiten einen Hinweis entdeckt, dass ich ausgeforscht werde. Dabei werden zum Teil sogar mehrere von diesen Dingern genutzt. Positiv finde ich, dass ich bisher auf Schulseiten und Seiten für Schule wenige Wanzen finden konnte, eine Ausnahme bildet leider Hamburg.de

Im Gegensatz zu dem, was in dem Artikel steht, erlaubt Ghostery auch das Blockieren dieser Wanzen. Lustiger wäre es vermutlich, wenn man mit den Wanzen etwas spielen könnte 😉

Gelegentlich bekommt man Daten im CSV-Format.  MySQL kann auch damit umgehen.

Importieren kann man CSV-Dateien z.B. von phpMyAdmin aus mittels

LOAD DATA LOCAL
 INFILE '/tmp/land.csv'
 REPLACE
 INTO TABLE LAND
 FIELDS
 TERMINATED BY ';'
 OPTIONALLY ENCLOSED BY '"'

Anpasse muss man jeweils natürlich den Namen der Tabelle und den Namen der zu importierenden Datei.

Auch die Gegenrichtung ist möglich, also der Export in in CSV-Datei:

SELECT *
INTO OUTFILE '/tmp/land.csv'
FIELDS
TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
FROM LAND;

Will man seine eMails signieren oder verschlüssen, so benötigt man ein passendes Paar aus öffentlichem und privatem Schlüssel. Aktuell gibt es dafür zwei unterschiedliche Systeme:

  • PGP
  • S/MIME

Bei dem ersten Verfahren erzeugt man das Schlüsselpaar in der Regel auf dem eigenen Rechner und benutzt dazu die Software GNUPG. Das System ist vollkommen kostenlos, man muss sich aber selber darum kümmern den eigenen öffentlichen Schlüssel bekannt zu machen, bzw. die öffentlichen Schlüssel der Kommunikationspartner zu bekommen. Erleichtert wird der Schlüsselaustausch durch öffentliche Server wie pool.sks-keyservers.net, subkeys.pgp.net und pgpkeys.pca.dfn.de. Normalerweise erfolgt die Kommunikation mit den Keyservern über Port 11371, falls der nicht benutzbar ist gibt es auch Webfrontends, z.B. http://wwwkeys.de.pgp.net/. Eine Beschreibung findet sich auf den Seiten von Enigmail dem OpenPGP Plugin für Thunderbird.

Das zweite Verfahren ist hierarchisch organisiert. Hier gibt es zentrale Zertifizierungsstellen, die die öffentlichen Schlüssel aufbewahren und verteilen. Diese zentralen Stellen sind in der Regel in den Mail-Programmen und Browsern bereits eingetragen, so dass die Schlüssel ohne weitere Interaktion bezogen werden. Schickt man eine mit solche einem Schlüssel signierte Mail, so kann die Software des Empfängers die Gültigkeit der Signatur automatisch überprüfen.

Leider sind S/MIME Zertifikate in der Regel kostenpflichtig. Es gibt aber einige Anbieter, die Privatleuten kostenfreie S/MIME Zertifikate der Cass 1 anbieten. Bei Class 1 ist nur die Mail-Adresse überprüft. Bisher habe ich folgende Anbieter mit entsprechenden Angeboten finden können:

Eine sehr schöne Anleitung für den Umgang mit S/MIME findet sich unter www.thunderbird-mail.de.

Nachtrag vom 28.8.2011:

Unter https://www.startssl.com/ ist ein weiterer Anbieter für Mail-Zertifikate zu finden, hier gibt es auch kostenfreie SSL-Server-Zertifikate.

Einen  interessanten Ansatz um Windows-Nutzern den Einstieg in Linux bzw. Ubuntu zu erleichtern bietet das Projekt Portable Ubuntu . Dieses Projekt setzt auf Colinux auf und liefert damit eine Ubuntu-Distribution, die als Windows-Anwendung läuft.

Legt man die Installation auf einen USB-Stick, so hat man ein Linux, welches sich auf nahezu jedem Windows-Rechner starten lässt. Man hat damit immer seine gewohnte Umgebung, auch auf fremden Rechnern.

Veröffentlicht unter linux.