Konfigurationscheck für Varnish

Varnish ist eine tolle Sache. Wenn man aber komplexere Sachen in VCL schreibt und einen Fehler einbaut, riskiert man, dass der Daemon beim Reload der Konfiguration abschmiert. Was fehlt ist ein Syntax-Checker analog zu „apachectl configtest“.
Man kann sich ein solches Kommando aber leicht zusammen bauen, in dem man Varnish die Konfigurationsdatei temporär kompilieren lässt und sich das Ergebnis anschaut. Funktioniert es, dann gibt varnishd die gesamt Konfiguration aus, im Fehlerfall gibt es eine sinnvolle Fehlermeldung. Da man außerdem einen ordentlichen Return-Code bekommt, kann man sich daraus einen schicken Alias bauen:

$ alias varnish_test='varnishd -C -f /etc/varnish/default.vcl >/dev/null && echo "Syntax OK"'

Damit kann man seine Konfiguration jederzeit auf Fehler überprüfen, ohne den Daemon selbst durchzustarten.

Zimbra-Update von 8.0 nach 8.6 schlägt fehl

Wenn man versucht, ein Zimbra-System (GA) von 8.0.x auf 8.6.x zu aktualisieren, wird man danach mit einem nicht mehr startenden System da stehen. Die Fehlermeldungen sagen aus, dass sowohl der LDAP-Server als auch die MySQL-Datenbank nicht mehr starten.

Der Grund dafür ist, dass sich in dem zugegebenermaßen großen Upgrade-Sprung einige Pfade ändern und der Ldap-Index nicht korrekt aktualisiert wird und daher der Upgrade-Prozess mittendrin abbricht.

Bevor man jetzt jedoch wild Dateien löscht oder Backups zurück spielt: der Fix ist vergleichsweise einfach. Zunächst muss man den Ldap-Index von Hand reparieren. Dazu ruft man den Befehl

$ /opt/zimbra/openldap-2.4.39.2z/sbin/slapindex -F \ /opt/zimbra/data/ldap/config entryDN

auf. Danach kann man das Update-Skript einfach erneut starten und das System fährt sauber hoch.

(Siehe auch: http://brylov.info/2013/03/zimbra-8-0-2-8-0-3-update-failure)

OpenFire ist toll, aber die REST-API buggy

Wer das REST-API-Plugin benutzen möchte, der sollte zur Kommunikation auf jeden Fall XML nehmen. Ich persönlich würde zwar auch hier lieber auf JSON setzen (was offiziell auch unterstützt wird), aber hier macht OpenFire merkwürdige Vereinfachungen, die beim Type-Matching unweigerlich zu Problemen führen. Z.B. ist der XMPP-Roster definiert als „List of rosterItems“, in GO wäre das also „[]RosterItems“. Das funktioniert auch fast immer problemlos – außer, man hat genau einen Kontakt auf dem Roster. Dann vereinfacht openFire das eigenmächtig von einer List zu einem einzelnen Item, was sofort beim UnMarshal knallt. Mit XML macht er alles richtig.

Migration von Mac OS X Server mit iChat zu Openfire

Wer die Kontaktlisten (Roster) der Nutzer von Apples iChat-Server nach Openfire übertragen möchte, findet hier ein möglicherweise nützliches Programm. Achtung: Dieses Programm bitte nur dann benutzen, wenn eine externe Datenquelle für das Usermanagement genutzt wird (z.B. ein Active Directory) und User- und Group-Settings daher auf „read-only“ gesetzt sind! Ansonsten werden unter Umständen andere Userdaten wie z.B. das Passwort überschrieben.

Mac OS X Server bringt von Haus aus einen internen Chat-Dienst mit, der auf dem bekannten „jabberd“ beruht und das XMPP-Protokoll benutzt. Damit bietet er die Möglichkeit, mit einer relativ breiten Palette von Clients auf allen Betriebssystemen an diesem Chat teilzunehmen, nicht nur mit dem iChat-Client, bzw. in der neuesten Version dem Programm „Nachrichten“. Leider ist die Administration des Dienstes mit dem Server-Admin-Tool ziemlich rudimentär. Obwohl er sehr gut in die OpenDirectory-Umgebung eingebunden ist, so dass keine wirkliche Userverwaltung anfällt, gibt es nur wenig Möglichkeiten, das Chat-System selbst zu administrieren (Konferenzräume, Policies u.ä.).

„Migration von Mac OS X Server mit iChat zu Openfire“ weiterlesen

„Öffnen mit“-Kontextmenü im Finder bereinigen

Nach dem Update auf Mountain Lion hatte ich das Problem, dass ich im „Öffnen mit“-Menü viele doppelte EInträge hatte. Für die zu einem Dokument passenden Anwendungen führt Mac OS X einen index, den man im Terminal leicht neu erstellen und damit bereinigen kann:

$ cd /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/
$ ./lsregister -kill -domain local -domain system -domain user

Danach gegebenenfalls den Finder neu starten (Option-Rechtsklick auf das Finder-Symbol im Dock), und das Menü ist wieder aufgeräumt.

BoxCryptor unter Ubuntu

Leider gibt es für Linux nicht so einen hübschen kleinen Client, wie für Windows oder Mac OS X. Allerdings ist BoxCryptor intern kompatibel mit EncFS, so dassman auch unter Linux auf verschlüsselte Volumes zugreifen kann.

Unter Ubuntu muss man dazu die Pakete „EncFS“ und „CryptKeeper“ installieren. Um ersteres zu finden, muss man im Software-Center „technische Dateien einblenden“ auswählen. Installiert man das Applet „CryptKeeper“, so wird EncFS autmoatisch mit installiert.

Leider funktioniert CryptKeeper nicht so ohne weiteres mit Unity, weil dieses eine recht eingeschränkte Whitelist für Applets hat. Nicht wundern also, wenn man auf CryptKeeper klickt und nichts passiert. 🙂

Zur Behebung des Problems listet man zunächst die bisherig frei geschalteten Applets auf:

$ gsettings get com.canonical.Unity.Panel systray-whitelist
['JavaEmbeddedFrame', 'Wine', 'Update-notifier']

Diese Liste nimmt man nun, erweitert sie um CryptKeeper und setzt sie dann als neue Whitelist:

$ gsettings set com.canonical.Unity.Panel systray-whitelist\
 "['JavaEmbeddedFrame', 'Wine', 'Update-notifier',\
 'Cryptkeeper']"

Danach kann man CryptKeeper ganz normal starten und findet ihn oben in der Leiste wieder. Wer mag, kann noch ein Startobjekt dafür erzeugen.

(aus: http://www.datenteiler.de/sicher-in-die-wolke-mit-encfs/)

Kontextmenü der Dropbox im Finder verschwunden – 2 Festplatten im Mac?

Im Gegensatz zu meinem MacBook war auf meinem iMac (beide mit Mountain Lion 10.8.2) das Kontextmenü der Dropbox im Finder nicht zum Erscheinen zu bewegen. Auch die „badges“ (die kleinen Icon Overlays) der Dateien wurden nicht dargestellt. Nach unzähligen Versuchen der De- und Neuinstallation (mit und ohne Abmelden, mit und ohne Reboot) habe ich in einem Dropboxforum endlich die richtige Antwort gefunden: Dropbox kommt nicht auf Anhieb damit zurecht, wenn „/Users“ ein Symlink ist, wie es bei Geräten mit SSD-Platte und zusätzlicher „normaler“ Festplatte häufg der Fall ist. Es hat übrigens nichts damit zu tun, dass in „/Library/Contextual Menu Items“ kein Bundle mehr installiert wird, das ist mit Mountain Lion sowieso nicht mehr der Fall.

Die extrem einfache und schmerzlose Abhilfe des Problems war: In den Dropbox-Settings unter „Erweitert“ den Ort der Dropbox einmal irgendwohin bewegen (z.B. in „Dokumente“) und dann wieder zurückbewegen, und alles ist gut. 🙂

(Gefunden in: https://forums.dropbox.com/topic.php?id=16490&replies=23#post-104122)

VirtualBox, Windows7 (x64) Gast und USB

Wer vergeblich versucht hat, einer Windows7-VM in VirtualBox ein USB-Device bereit zu stellen, und die normalen Treiberprobleme nicht vorliegen, sollte mal nachsehen, ob er seiner VM mehr als eine CPU zugewiesen hat. Das funktioniert nicht (Bug). Sobald man die VM wieder auf eine CPU einstellt, klappt es sofort und ohne Probleme.

WMA zu MP3

Als überzeugter Mac- und iTunes-Nutzer hat man mit WMA-Dateien ein kleines Problem, sie lassen sich nicht in iTunes importieren. Da man ohne Systemerweiterungen wie Flip4Mac auch keine Chance hat, sie so ohne weiteres zu konvertieren, ist es immer gut, irgendwo eine Linux-Box zur Hand zu haben. Man braucht MPlayer und Lame (was sich bei jeder Distribution leicht nachinstallieren lässt), und definitiv keine riesige grafische Oberfläche – die Schell tut’s auch. Folgende kleine Kommandozeile konvertiert gleich alles im aktuellen Verzeichnis:

$ for i in *.wma
> do
> mplayer -vo null -vc dummy -af resample=44100 \
> -ao pcm:waveheader "$i" && \
> lame --preset standard audiodump.wav -o \
> "`basename "$i" .wma`.mp3"
> done
$ rm -f audiodump.wav

VirtualBox, Ubuntu und Shared Folder

Irgendwie ein leidiges Thema, aber trotz installierter „Guest Additions“ (Achtung: auf jeden Fall vor der Installation der Additions die Kernel-Header installieren) bekommt man beim Versuch, auf einen in VirtualBox eingetragenen gemeinsamen Ordner zuzugreifen, immer nur die Meldung, man habe keine Rechte (außer als root :-)). Zu finden ist der Ordner übrigens unter „/media/sf_<Name der Freigabe>“. Man findet ganz viele Anleitungen im Netz, die von manuellem re-bind mit mount bis zu Patchen der Guest-Additions reichen – dabei ist das Problem ein ganz einfaches: Das VirtualBox-Kernel-Modul hängt die Freigaben als root:vboxfs ein, und bereits existierende User müssen einfach nur zur Gruppe „vboxfs“ hinzugefügt werden (analog zur Gruppe „sambashare“). Danach klappt auch der lesende und schreibende Zugriff auf gemeinsame Ordner.