Centos 6 Linuxwerk HTTP 2.2.27 released

Okay – i know, it is a little late.
In these minutes i’ve created new Prefork and Worker RPM’s for Instance use, based on Http 2.2.27.

You can get the Files or configure the Repository by using the following Url: http://repo.linuxwerk.com/6/x86_64/

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

Centos 6 RPM mkclean 0.8.6 created

mkclean is a command line tool to clean and optimize Matroska (.mkv / .mka / .mks / .mk3d) and WebM (.webm / .weba) files that have already been muxed. It reorders the elements with the Cues at the front, so your Matroska files are ready to be streamed efficiently over the web. Read more at matroska.org

Based on the mkclean 0.8.6 sources, i’ve created a RPM Package suited für Centos/Rhel 6.

Download RPM http://repo.linuxwerk.com/6/x86_64/mkclean-0.8.7-1.el6.x86_64.rpm
Download SRPM http://repo.linuxwerk.com/6/SRPMS/mkclean-0.8.7-1.el6.src.rpm

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

SFTP Server mit Proftpd

Hier eine kleine Anleitung einen SFTP Server mit Proftpd einzurichten. Da es um die reine Funktionsweise geht, habe ich die Konfiguration und die Erklärung auf das nötigste gestrippt.

/etc/proftpd.conf

User nobody
Group nobody

LogFormat default “%h %l %u %t \”%r\” %s %b”
LogFormat auth “%v [%P] %h %t \”%r\” %s”

LoadModule mod_sftp.c

SFTPEngine on
SFTPLog /var/log/proftpd/sftp.log
TransferLog /var/log/proftpd/sftp-xferlog

Port 40448

SFTPHostKey /etc/ssh/ssh_host_rsa_key
SFTPHostKey /etc/ssh/ssh_host_dsa_key

SFTPAuthMethods publickey
SFTPAuthorizedUserKeys file:/etc/proftpd/keys/%u

DefaultRoot ~

Die Authentifizierung ist damit auf Publickey beschränkt. Proftpd akzeptiert RFC4716 Public Keys (ssh.com). Sollte das Key-Set im OpenSSH Format vorliegen, muss der Public Key konvertiert werden:

ssh-keygen -e -f /pfad/zum/pubkey.pub

Die Ausgabe aus obigem Kommando wird dann nach /etc/proftpd/keys/username gespeichtert. Username steht hier für den Benutzernamen mit dem man sich verbinden möchte (Siehe auch %u in SFTPAuthorizedUserKeys). Es ist auch darauf zu achten, dass der Benutzer im System angelegt ist. Es ist kein Problem dem Benutzer /bin/false o.ä. als Shell zuzuweisen.

Das war auch schon alles, natürlich sollten die Dateiberechtigungen der Pubkeys entsprechend sicher konfiguriert werden. In dieser Konfiguration ist der verbundene Benutzer in einem Jail gefangen, welches das Home-Verzeichnis des jeweiligen Benutzers abbildet.

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

Centos Mirror

Ich arbeite privat sehr viel mit Centos, und habe aus Performancegründen seit längerer Zeit einen privaten Centos-Mirror am laufen. Gerade für Netz-Installationen ist ein schneller Mirror eine prima Sache. Jedenfalls kam mir bald der Gedanke den Mirror bei Centos zu announcen.
Ab heute ist der Mirror öffentlich zugänglich, und bei Centos in der Public Mirror List geführt.

Der neue Mirror ist ab sofort bereit zur Verwendung: http://centos.mirror.linuxwerk.com/

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

WordPress hinter Reverse Proxy / Redirects

Bei verschiedenen Tests mit Apache Reverse Proxies bin ich aus das Phänomen gestoßen, daß WordPress beim Aufruf des Blogs nach 127.0.0.1 redirected. Nach einer Recherche bin ich dem Problem auf die Schliche gekommen. Einige Forenschreiber empfehlen Variablen in WordPress umzuschreiben. Davon war ich nicht begeistert, ich wollte die WordPress-Applikation unberührt lassen.

Das Problem entsteht wie folgt. Meine Apache-Backend Installation mit WordPress lauscht auf Localhost, Port 45080. Im WordPress-Code wird häufig mit der Variable $_SERVER['HTTP_HOST'] gearbeitet. Diese Variable beinhaltet 127.0.0.1:45080. Und genau hier hin will WordPress Umleiten. In manchen Fällen wäre es vielleicht geschickter gewesen mit der Variable $_SERVER["HTTP_X_FORWARDED_HOST"] zu arbeiten. Ändern des Codes war jedoch keine Option, also habe ich eine Anpassung am Backend-Apache vorgenommen, um das Problem zu lösen.

Dieser RequestHeader Eintrag ersetzt vorherige Header mit dem neuen Namen. Das Modul mod_header muss natürlich geladen werden.

RequestHeader set Host blog.timharsdorf.de

Nach einem Reload funktioniert WordPress wieder ohne die lästigen Localhost-Redirects.

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

ICA Client / Citrix Receiver unter Fedora 16

Vorab sollten folgende Dependency-Pakete installiert werden:

yum install gtk2-2.24.7-2.fc16.i686 libXt-1.1.1-1.fc16.i686 libXmu-1.1.0-2.fc15.i686 libXpm-3.5.8-3.fc15.i686 libXp-1.0.0-16.fc15.i686 nspluginwrapper alsa-lib-1.0.25-1.fc16.i686

Als nächstes soll der Citrix Receiver von www.citrix.com herunterladen und installiert werden.
Gegebenenfalls muss noch ein Zertifikat installiert werden, je nach Organisation. CA Zertifikate müssen in /opt/Citrix/ICAClient/keystore/cacerts/ abgelegt werden.

Nun kann man sich am Citrix XenApp einloggen und die angebotenen .ica Dateien mit /opt/Citrix/ICAClient/wfica öffnen.

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

Yum Paket mit verschiedenen Versionen listen und installieren

Unter gewissen Umständen kann es möglich sein dass man in einem Yum Repository ein Paket in verschiedenen Versionen vorhalten möchte. Ein Beispiel dafür wäre z.B. die Instanzierung eines Services, den man in verschiedenen Versionen betreiben möchte.
Per Default zeigt yum immer nur die neueste Version der Pakete an. Um sich alle verfügbaren Versionen eines Paketes anzeigen zu lassen, wird die Option —showduplicates verwendet.

Normales Listing:

[ root@santiago:~ ] yum list lw-httpd
Available Packages
lw-httpd.x86_64 2.2.22-1.el6 Linuxwerk

Listing mit allen verfügbaren Versionen:

[ root@santiago:~ ] yum –showduplicates list lw-httpd
Available Packages
lw-httpd.x86_64 2.0.64-1.el6 Linuxwerk
lw-httpd.x86_64 2.2.22-1.el6 Linuxwerk

Im nächsten Schritt möchte man die verschiedenen Versionen auch per yum installieren. Out of the Box will yum nur ein Update auf die neueste Version unternehmen. Auch hier gibt es eine Lösung. In der Konfigurationsdatei /etc/yum.conf können Pakete definiert werden, für die keine Updates, sondern nur die eigentliche Installation angewandt wird.

installonlypkgs=lw-httpd

Nun kann man z.B. nach dem Schema name-ver-rel die jeweilig gewünschte Version installieren.

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

ICA Client für Citrix-Verbindungen unter Debian

Diese Anleitung basiert auf einem Debian 6. Vorab lädt man den „Citrix Receiver“ von http://www.citrix.com herunter. Hier gibt es ein Debian Package, welchem noch folgende Abhängigkeiten fehlen:

libmotif4 (non-free)
libxp6

Nach Erfüllen der Abhängigkeiten kann das Citrix Paket (icaclient_12.0.0_i386.deb) installiert werden. Die ICA-Client Installation erfolgt nach /opt/Citrix/ICAClient.
Würde man nun einen Verbindungsversuch starten, könnte dies mit dem SSL Error 61 quittiert werden. Dies bedeutet dass das benötigte SSL-Zertifikat nicht installiert ist. Hier muss das Stammzertifikat des Zertifikatsherausgebers installiert werden.
Hier wird das DER encoded X.509 Zertifikat benötigt. Dieses Zertifikat kommt dann in das Verzeichnis /opt/Citrix/ICAClient/keystore/cacerts/ . Damit ist der Grundstein für die Verbindung gelegt.

Nun sollte die Verbindung via z.B. Firefox über die Citrix-Url funktionieren.

Ein paar Adressen für das Troubleshooting:
https://help.ubuntu.com/community/CitrixICAClientHowTo
http://support.citrix.com/article/CTX711855
http://forums.citrix.com/thread.jspa?threadID=249720

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

Libvirt management daemon und Fedora 14

Auf einer frisch, mit Fedora 14 (x64) installierten Kiste wollte ich gerne ohne weitere Umschweife mit KVM virtualisieren. Nun, nach der Installation der entsprechenden Pakete, u.a. dem Virtual Machine Manager (virt-manager), meldete sich dieser beim Start mit folgendem Fehler:

Unable to open a connection to the libvirt management daemon.
Libvirt URI is:
qemu:///systemVerify that:
- The ‘libvirtd’ daemon has been started

Weitere Details:

authentication failed

Traceback (most recent call last):
File “/usr/share/virt-manager/virtManager/connection.py”, line 983, in _try_open
None], flags)
File “/usr/lib64/python2.7/site-packages/libvirt.py”, line 107, in openAuth
if ret is None:raise libvirtError(‘virConnectOpenAuth() failed’)
libvirtError: authentication failed

Ein Lösungsansatz findet sich in der Libvirt-Dokumentation unter dem Abschnitt Access Control. Um es kurz zu halten, als nicht-root Benutzer fehlen die Rechte am Libvirt Management Daemon. Abhilfe schafft hier eine Konfiguration des UNIX socket PolicyKit auth. Um beispielsweise dem Benutzer “Hans” Zugriff auf den Virtual Machine Manager in Kombination mit dem Libvirt-Daemon zu geben, erstellt man eine neue Policy unter /etc/polkit-1/localauthority/50-local.d/. Ein solches Policy-File hat die Dateinamenserweiterung .pkla. Ein beispielhafter Eintrag könnte wie folgt aussehen:

[Libvirt Management Rechte für Hans]
Identity=unix-user:hans
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes

Als “Action” lassen sich zwei Berechtigungsstufen konfigurieren. org.libvirt.unix.manage gibt Vollzugriff, org.libvirt.unix.monitor gibt einen Lesezugriff auf den Virt-Manager.

An dieser Stelle ein Dankeschön an Richard Jones, welcher an dieser Stelle den Ansatz zur Problemlösung in der Fedora Development Liste gab.

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

Perl Bindings für Qooxdoo & Selenium

Beruflich war ich in letzter Zeit mit dem Thema Testautomatisierung und Non-Functional Tests beschäftigt. Nun, in diesem Kontext habe ich meine Aufgaben in Java realisiert. Ich selbst, war von den beim Kunden eingesetzten Techniken und Mitteln stark begeistert und habe viel dazu gelernt. Als begeisterter Perl-Benutzer lag es für mich nahe eine Implementation von Selenium für Perl bereitzustellen, welche es ermöglicht Webapplikationen zu testen, welche auf dem Javascript-Framework Qooxdoo aufsetzen.

Dazu haben eigentlich nur noch die Perl-Bindings für die Qooxdoo Implementation für Selenium gefehlt. Mit diesen lassen sich klassische qxSelenium-Befehle wie qxClick, qxType etc. nun auch via Perl am RC-Server ausführen.

Viel Spass mit Selenium und Qooxdoo Webapplikationen :)

Download: QxSelenium.pm

Die aktuelle Version der qxSelenium Perl-Bindings sind im SVN-Repository des Qooxdoo-Projektes zu finden. An dieser Stelle möchte ich mich noch herzlich für die Zusammenarbeit mit D. Wagner und A. Ecker bedanken.

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar