OpenVPN auf der QNAP TS-210

Für die Installation und Konfiguration gibt es ein super Tutorial

OpenVPN auf QNAP installieren

Was man bei  der 210er überspringen kann ist das Nachinstallieren des  tun Kernel-Modul, da es schon unter

/usr/local/modules/tun.ko

vorhanden ist und nur noch geladen werden muss.

In der autostart.sh sieht das bei mir nun folgendermassen aus. Damit läd die NAS beim Start sowohl das Modul als auch OpenVPN korrekt.

#!/bin/sh
(sleep 12; /sbin/insmod /usr/local/modules/tun.ko)&
(sleep 60; /opt/sbin/openvpn /opt/etc/openvpn/[CONFIG_FILENAME].conf)&

Weblinks

WordPress Plugins – Felder verstecken

Normalerweise erscheinen alle Meta Daten unter “Benutzerdefinierte Felder”. Möchte man das nicht, weil man eine eigene Meta Box angelegt hat, stellt man dem Paramter ein Unterstrich “_” voraus.

Siehe WordPress Beispiel Function Reference – Making a hidden custom field

<?php add_post_meta(68, '_color', 'red', true); ?>

Dist-Upgrade von 9.10 Karmic Koala auf 10.04 Lucid Lynx (fast) ohne Schmerzen

So hab letzte Woche mal das Upgrade durchgeführt und das lief bis auf ein paar Punkte recht anstandslos durch.

Pakete konnten nicht konfiguriert werden

Fehlermeldung

 [...] useradd: /etc/passwd konnte nicht gesperrt werden; versuchen Sie es später noch einmal[...]

Geholfen hat folgende Dateien umzubenennen, obwohl beide leer waren und dann ein apt-get upgrade zu starten

$ mv /etc/shadow.lock /etc/shadow.lock.bak
$ mv /etc/passwd.lock /etc/passwd.lock.bak
$ apt-get upgrade

Hamster Applet ohne Einträge

Da hat sich der Pfad geändert. Die SQLite Datei konnte ich einfach umkopieren und die eingetragenen Standard Kategorien konnte ich mit dem SQLite Dateibrowser entfernen.

$ cp /home/[USERNAME]/.local/share/hamster-applet/hamster.db /home/[USERNAME]/.local/share/hamster-applet/hamster.db.bak
$ cp /home/[USERNAME]/.gnome2/hamster-applet/hamster.db /home/[USERNAME]/.local/share/hamster-applet/hamster.db
$ rm /home/[USERNAME]/.gnome2/hamster-applet -rf
$ killall gnome-panel

Propriäteren ATI Treiber entfernen

$ sudo apt-get --purge remove fglrx-kernel-source fglrx-modaliases xorg-driver-fglrx fglrx-amdcccle libamdxvba1
$ sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-video-radeon xserver-xorg-core
$ sudo dpkg-reconfigure xserver-xorg
$ sudo reboot

Bervor ich das obenstehendes fehlerfrei ausführen konnte musste ich in der Datei

/var/lib/dpkg/diversions

folgende Zeilen löschen

/usr/lib/libGL.so.1.2
/usr/lib/fglrx/libGL.so.1.2.xlibmesa
xorg-driver-fglrx

Danach lief eigentlich alles recht rund… bis jetzt :)

Umzug – Fast ohne Spuren verlaufen

So… neuer Server neues Glück.

Da unser alter Server schon etwas in die Tage gekommen ist, haben wir ein “Upgrade” gemacht. Gleicher Preise, bessere Hardware.

Leider sind bei der Blog-Migration ein paar � über geblieben. Hab den Dump auf verschiedene Arten eingespielt und gebe mich jetzt mit dem, der die wenigsten � enthält zufrieden. Sozusagen ein klassischer Fall von “Schei� encoding”.

Zusätzlich braucht das WordPress mit gleichen Einstellungen ein wenig mehr Speicher. Naja… wir hams ja.

WordPress und der add_meta_box callback

Heute bin ich durch Zufall über einen zweiten Parameter der Callback Funktion von add_meta_box gestolpert, denn ich irgendwie so noch in keinem Manual oder Tutorial gesehen hab. Folgender Callback

add_meta_box( 'box_name', 'My Meta Box', 'addMyMetaBoxCallback');
function addMyMetaBoxCallback ($post, $meta_box) {
     print_r($metaBox);
}

…liefert als zweiten Parameter immer ein assoziatives Array mit den Schlüsseln

id (String), title (String), callback (Array), args (Array)

Array
(
    [id] => box_name
    [title] => My Meta Box
    [callback] => Array
        (
            [0] => SitePress Object
                ([...])
        )
    [args] =>
)

Möchte man jetzt noch ein paar Parameter übergeben braucht man nur ein paar default Parameter ($context = ‘advanced’, $priority = ‘default’) hinzufügen, um als letztes ein Array mit den gewünschten Übergabeparameter setzen zu können.

add_meta_box('box_name', 'My Meta Box', 'addMyMetaBoxCallback', 'page', 'advanced','default', array('foo', 'bar'));

Software, Addons, Extensions

Um mal wieder ein wenig was von dem zu tun, was man sich immer vornimmt, aber dann auch immer schiebt, hab ich im Rahmen meiner iMac-Neueinrichtung den Bereich Software eingeführt, wo wir die Software, die wir so nutzen, auflisten.

Vielleicht findet der ein oder andere ja was, oder kann mir was empfehlen.

Ach ja: Die Liste ist natürlich noch nicht komplett. Installieren ist halt lästig… Zum Glück macht man das meistens nur einmal beim Mac…

Lustiges beim Typo3 Upgrade 3.8.x auf 4.3.x

Nachdem ich grade die ehrenvolle Aufgabe habe eine Typo3 Version 3.8.1 (ja sowas gibt es wirklich noch im Netz mit PHP 4.4.8(!) ) zu Grabe zu tragen, indem das System auf die Version 4.3.2 angehoben wird, springen mir ab und an allerlei lustige Kuriositäten mitten ins Gesicht!

Send-A-Card

Da ist zB die lustige Extension Send-A-Card (sr_sendcard 2.2.0), die einen gleich mal mit einem herzhaftem “cannot access empty property in [...]/class.tx_srsendcard_pi1.php” begrüßt. Problem ist hier, dass in PHP4 aus unerfindlichen Gründen folgendes mit einer nicht initialisierten Variable funktioniert… in PHP5 (Gott sei Dank) nicht mehr

[..]$this->$subpart[..] #FALSCH
[..]$this->subpart[..] #RICHTIG

Ersetz man das geht auch die Extension wieder…

Indexed Search Engine

Hier waren gleich 2 Sachen schief. Weder die Anzahl der Suchergebnisse war korrekt, noch der Pagebrowser schaffte es die richtigen Links zu generieren. Die korrekten URLs konnten wir mit einem Patch und einem TS Parameter korrigieren, der in das TS Setup jedes Root Templates geschrieben wird

plugin.tx_indexedsearch.browseLinks_setUrl = 1

dann muss noch der Patch bug-1347_03.patch von http://bugs.typo3.org/view.php?id=1347 ins System einspielt werden.

$ patch -p1 -i bug-1347_03.patch // mit --dry-run vorher testen!

Die richtige Anzahl der Suchtreffer zeigte das System als im Root Template Setup folgender Parameter gesetzt wurde

plugin.tx_indexedsearch.search.exactCount = 1

Hallo? Also bei dem Parameternamen hab mich schon gefragt, was das Gschmarre soll… naja nicht ärgern nur wundern…. Typo3 halt…

to be continued

PHP 5.3 und xDebug unter Mac OS X 10.6

Ich habe gerade versucht unter PHP 5.3 mal schnell xDebug zu installieren. Am einfachsten natürlich per PECL. Allerdings kam hier folgende Meldung bei PHP:

Failed loading /Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/
no-debug-non-zts-20090626/xdebug.so:  dlopen(/Applications/XAMPP/xamppfiles/
lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/xdebug.so, 9):
no suitable image found.  Did find:
/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/
no-debug-non-zts-20090626/xdebug.so: mach-o, but wrong architecture

Um xDebug unter OS X 10.6 zu Laufen zu bekommen, muss man folgende Schritte durchführen:

  1. Sourcen herunterladen und enpacken (http://xdebug.org)
  2. In das entpackte Verzeichnis wechseln und folgenden configure-Befehl ausführen:
    ./configure MACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS="-arch i386 -g -Os -pipe \\
     -no-cpp-precomp" CCFLAGS="-arch i386 -g -Os -pipe" CXXFLAGS="-arch i386 -g \\
    -Os -pipe" LDFLAGS="-arch i386 -bind_at_load"
  3. Dann noch ein make machen.
  4. Anschließend ddie .so-Datei unter modules an den gewünschten Platz kopieren.
  5. xDebug in der php.ini als zend_extension eintragen.

via Some notes on Zend Server CE for Mac OS X – Rob Allen’s DevNotes.

Java – Heap Dump Analyse

Von Zeit zu Zeit kommts leider vor, dass man trotz Garbage Collection und den Automatismen der JVM trotzdem ein Speicherproblem bekommt.

Da hilft dann nur eine Heap Dump Analyse.

Hierzu muss man die JVM in der das Tool läuft vorbereiten. Der Parameter lautet: -XX:+HeapDumpOnOutOfMemoryError

Mittels des Tools HeapAnalyzer von IBM kann man den Dump dann angucken. Man sollte der JVM allerdings genug Speicher geben, da die Dump-Dateien schon mal groß werden können.

java -Xmx1500m -jar ha395.jar dump.hprof

Das Laden dauert ein bisschen. Anschließend sieht man (gleich vorausgewählt) die größten Verdächtigen.

com.ibm_.jinwoo.heap_.HeapAnalyzer.rGnoxbrGJmLv.jpg

Das hilft allerdings leider nur begrenzt bzw. manchmal gar nix, aber man hat noch einen Strohhalm an den man sich klammern kann ;)

Unterhalb der Version 1.4.2_12 kann man das auch getrost vergessen.

Quellen und Downloads:

Logitech – Eine Lobhudelei

Im Jahre des Herrn 2006 (exakter im Januar) hab ich mir damals ein Logitech diNovo geleistet. Ich war jung und hatte das Geld…

Zwischendurch hatte ich das Gerät nicht in Benutzung, da es mit meinem alten Rechner ständig Probleme gab (Verbindungsabbrüche etc. pp.).

Nun habe ich das diNovo, was eines der schönsten Desktop-Geräte ist, wieder ausgekramt. Leider kam es beim Zocken immer wieder dazu, dass die Maus extrem nachgezogen hat. Ein Grund für meine schlechte Fragrate ;) .

Ok. Bissl gelesen, drauf gestossen, dass es ein Problem mit dem Empfänger sein könnte. Sind nicht auf Logitech-Geräte 5 Jahre Garantie? Egal… ausprobieren, anrufen.

Die Hotline ist günstig (Frankfurter Nummer, also nix 01805 oder so) und die MAs sehr nett. Problem geschildert und gefragt, wie das denn mit der Garantie sei. “Ja, Garantie sind 3 Jahre…” Mist bin schon über 4 Jahre im Besitz… “aber man kann da sicher eine Kulanz durchführen. Das sollte kein Problem sein. Ist ja nicht das billigste Gerät.”. Gesägt tun getan. Rechnung per Mail hingeschickt.

Ca. eine Woche später war ich im Besitz eines brandneuen diNovo (sogar der Nachfolger, auch wenn man da keinen Unterschied erkennen kann).

Das ist mal Support vom uba-feinsten. Größten Respekt. Würde von denen auch Autos, Handys und alles andere kaufen. Erweitert eure Produktpalette!!