Category Archives: Usefull Things

Paymill ist insolvent – und nun?

wer derzeit seine Zahlungsabwicklung mit Paymill durchführt, muss sich wohl nach Alternativen umsehen, da Paymill Insolvenz angemeldet hat.

http://t3n.de/news/paymill-insolvent-pleite-701620/

Eine Möglichkeit wäre z.B. unseren in PHP entwickelten EBICS Client einzusetzen, um SEPA Lastschriften und SEPA Überweisungen an die eigene Hausbank über das EBICS Protkoll zu übertragen.

 

Weitere Informationen diesbezüglich gibt es unter http://www.smart-ebics.de – Wir helfen natürlich gern bei der Integration der Software in Ihre Geschäftsprozesse.

EBICS PHP Client – jetzt unter http://www.smart-ebics.de anfordern!

Aufgrund des Umstands, dass sich über die startnext Crowdfunding Plattform doch nicht die Summe angesammelt hat um den EBICS Client unter GPL zu stellen, habe ich nun eine kleine Website unter http://www.smart-ebics.de erstellt auf der man den EBICS PHP Client bestellen kann.

Neben einigen Beispielen wie die Klasse benutzt wird,  gibt es auch ein Orderformular. Es gibt zwei Versionen:

  1. limited Version, als ION Cube Binary, max. 1 Bank und 1 User
  2. unlimited Version, sourcecode

Nach der Bestellung und Eingang des Lizenzvertrags erhaltet Ihr nach Zahlungseingang umgehend die Software.

Windows 8.1 als Linux KVM Guest mit VGA Passthrough (DirectX11) unter Ubuntu

Wer unter Linux spielen will, hat meist das Problem dass Windows Spiele nur bedingt mit Wine lauffähig sind und selten gibt es für neue Spieletitel eine Linux-Version. Aus diesem Grund hier ein Howto, wie Ihr mit halbwegs aktueller Hardware und KVM Virtualisierung eine DirectX11 taugliche Grafikkarte an den KVM Gast weitergeben könnt. Wichtig ist dass das Board eine IOMMU hat, sonst klappt das Ganze nicht. Continue reading Windows 8.1 als Linux KVM Guest mit VGA Passthrough (DirectX11) unter Ubuntu

spontanes mysteriöses gelegentliches ssh_exchange_identification: Connection closed by remote host

Da es doch immer mal wieder auftaucht, falls Du ssh in scripts nutzt und aufrufst, und manchmal unerklärlicher weise die ssh Verbindung wegen

ssh_exchange_identification: Connection closed by remote host

fehlschlägt, liegt es wahrscheinlich an zu niedrig konfigurierten MaxStartups und/oder MaxSessions. Daher in der sshd_config (debian: /etc/ssh/sshd_config) folgendes eintragen bzw erhöhen (folgende Werte funktionieren gut bei einem 16 Node Cluster:

MaxStartups 100
MaxSessions 50

Dann den sshd mit service ssh restart bzw /etc/init.d/ssh restart neu starten. Nun sollte das Problem nicht mehr auftreten.

 

Owncloud auf einem smart-kvm.com KVM Server

Immer wieder liest oder hört man von diversen Medien, dass man doch seine Daten in die Cloud verlagern soll oder kann, um diese global verfügbar zu halten. Prinzipiell ist dies ja eine gute Idee, denkt man diesen Gedanken jedoch zuende so muss man schon feststellen dass man hierbei viel falsch machen kann. Bevor man seine Daten jedoch in die Hände eines Cloudanbieters gibt, sollte man sich zuerst überlegen, wie man diese Daten entsprechend schützen kann. Größere Cloudanbieter wie Amazon EC oder Google Drive bieten einen relativ leichten Zugang zu Cloudspeicher und Cloudservices, speichern die Daten jedoch nicht in Deutschland sondern im Ausland. Was letztlich mit den Daten passiert kann man als User nicht feststellen.

Eine bessere Lösung ist es z.B., Owncloud auf einem eigenen Server zu betreiben, den man sich z.B. bei einem Cloud Server Anbieter oder VServer Anbieter zulegen kann. Auch hier muss man sich darüber im Klaren sein, dass der Hosting Anbieter prinzipiell Zugriff auf die Daten hat, und dass diese eigentlich bei den meisten Standardinstallationen ungeschützt auf dem Server des Anbieters gespeichert werden. Wer sich jedoch absolut sicher sein möchte, dass seine Daten geschützt sind muss daher etwas mehr Aufwand betreiben. Ich habe daher hier mal einen kleinen Leitfaden erstellt, mit dem man sich eine verschlüsselte Owncloud Installation auf seinem Server bei smart-kvm.com einrichten kann. Dieser Leitfaden gilt natürlich analog für jeden beliebigen Server Anbieter, sofern man die Möglichkeit hat das System selbst einzurichten.

Zuerst bei www.smart-kvm.com den passenden Server konfigurieren – die Hardware kann später immer noch angepasst werden und es können jederzeit weitere Ressourcen hinzugebucht werden. Die Server werden bei smart-kvm.com in Echtzeit bereitgestellt, normalerweise ist der Server wenige Sekunden nach Benutzerregistrierung verfügbar. Wir gehen hier nun im Webinterface in das entsprechende Bootmenü des smart-kvm.com cloud servers, übernehmen die Option um von CD zu booten und wählen unser bevorzugtes Betriebssystem aus. Ich habe hier nun Debian Wheezy verwendet, möglich wäre auch CentOS, Redhat EL, SuSE Linux oder Ubuntu. Eine Lister der Unterstützen Distributionen gibt es hier: http://software.opensuse.org/download/package?project=isv:ownCloud:community&package=owncloud

Bei der Installation des Betriebssystems ist unbedingt darauf zu achten, dass die komplette Installation verschlüsselt ist und der Server vor dem Boot bereits ein Passwort zur Entschlüsselung verlangt. Nur so ist sichergestellt, dass auch der Hosting-Anbieter keinen Zugriff auf die Daten erhält. Wer unbedingt will, kann auch die Owncloud auf einem Windows Server installieren – hierbei ist dann darauf zu achten dass zumindest der Datenbereich der Owncloud Installation verschlüsselt gespeichert wird. Es gibt ausserdem noch Owncloud Apps, die ebenfalls die Daten verschlüsseln können. Hier kann man dann aber dennoch sehen, welche User angelegt wurden etc. Es empfiehlt sich daher, den kompletten Server zu verschlüsseln.

Anschliessend kann man seine Owncloud Installation ganz normal administrieren, die Daten sollten nun vor Zugriffen von Dritten geschützt sein.

EBICS Client ( ebics_client.class.php)

[update 27.01.2016]

Nun also doch kommerzielle Version – Infos etc. findet Ihr hier: PHP EBICS Client

[/update]

endlich hab ich es fertiggebracht.. nach 11 langen Tagen coding, debugging und studieren der überaus umfangreichen und noch dazu auch fehlerhaften EBICS Dokumentation konnte ich nun endlich einen EBICS Client in php fertigstellen, der zumindest mit meiner Sparkasse einwandfrei funktioniert 😉 Im Moment kann der Client die folgenden Auftragsarten: INI, HIA, HPB, HKD, HTD, CDD (Sepa Lastschrift), CCT (Sepa Überweisung), CDB (Sepa B2B Lastschrift), IZL, IZV, STA, PTK. Eine Klasse zum Erzeugen der SEPA PAIN Nachrichten habe ich auch schon gebaut.

Aktuell bin ich noch am überlegen, ob ich den Client unter der GPL veröffentlichen soll oder nicht… Da es kommerzielle Anbieter gibt, die relativ simple EBICS Tools (z.b. nur für Upload, nur für Signatur) für enormes Geld anbieten (EBICS Tool für Upload und Signatur für 7.000 €!!!) muss ich da jetzt erst mal ein paar Nächte drüber schlafen…

Debian wheezy isc-dhcp-server with mysql support / dbi support für debian Squeeze howto

Hier http://blog.alex.org.uk/2011/02/25/adding-sql-support-to-dhcpd-part-3/ gibt es einen Patch für ISC DHCP Server 4.2 welcher auch für den isc dhcp server in debian wheezy (4.2.2) funktioniert. Um dieses als .deb Paket für debian squeeze zu bauen braucht es folgendes:

1. /etc/apt/sources.list Zeile hinzufügen:

deb-src http://ftp2.de.debian.org/debian/ wheezy main

apt-get update

cd /usr/src

apt-get source -t wheezy isc-dhcp

wget http://blog.alex.org.uk/wp-uploads/dhcpd-dbi-20110202-01.patch

cd isc-dhcp-4.2.2.dfsg.1/

patch -p1 <../dhcpd-dbi-20110202-01.patch

in debian/rules

“–with-dbi” hinzufügen in Zeile 49 und 77

dpkg-buildpackage

cd ..

dpkg -i isc-dhcp-common_4.2.2.dfsg.1-5+deb70u2_amd64.deb

dpkg -i isc-dhcp-server_4.2.2.dfsg.1-5+deb70u2_amd64.deb

 

XTC Xt-Commerce Fix für Multihomed Mailserver

Bei vielen Shop-Systemen wird XT-Commerce eingesetzt, da es vielseitig und flexibel ist um den meisten Anforderungen gerecht zu werden. Will man XTC jedoch in einer Cluster-Umgebung einsetzen, und hat einen Mailserver-Cluster zur Verfügung, gibt es ein Problem sobald XTC versucht, einen Connect zu einem Mailserver aufzubauen, der gerade nicht erreichbar ist. Obwohl weitere Server des Mailserver-Clusters verfügbar sind, gibt XTC nach einmaligem Versuch auf.

Hier ein kleiner Fix für XTC, damit zu einem Hostname alle verfügbaren IP-Adressen zum versenden von Mail durchprobiert werden:

In Zeile 106 in

/includes/classes/class.smtp.php

einfügen:

		// retry connections 
 		$hosts = gethostbynamel($host);
 		while ((empty($this->smtp_conn)) && (count($hosts) > 0)) {
        	$this->smtp_conn = fsockopen(array_pop($hosts), # server
                                      $port,    # the port to use
                                      $errno,   # error number if any
                                      $errstr,  # error message if any
                                      $tval);   # give up after ? secs
 		}

Damit versucht nun XTC mehrmals Mails zuzustellen, wenn der erstmalige Connect zu einem MTA fehlschlägt.

Verteiltes Dateisystem GlusterFS

Durch den Post vom vom 12.01.2009 / http://www.netz-guru.de/2009/01/12/die-ultimative-e-mail-losung-the-ultimate-e-mail-solution/ und die Kommentare darauf angeregt, habe ich versucht das gleiche Setup auch ohne dbmail zu versuchen. Sirko hatte in seinem Kommentar erwähnt, dass man mit einem verteilten Filesystem auch so einen Mailcluster betreiben kann. Bis zu diesem Zeitpunkt war mir eigentlich nur DRBD als einziges Filesystem bekannt, welches maximal 2 Nodes zu einer Art Netzwerk-RAID1 verbindet.

Gänzlich unbekannt war mir bis heute jedoch GlusterFS, welches ebenfalls ein verteiltes Filesystem über das fuse-Modul bereitstellt. Hier hat man jedoch keine Limitierung auf max. 2 Nodes. GlusterFS bietet Automatic File Replication auch über mehr als 2 Nodes. Weiterhin kann man mit Unify mehrere RAID1-Knoten zu einem einzigen FS zusammenfassen. GlusterFS bietet noch mehr Möglichkeiten, hier mal ein Überblick:

Mit einem Setup wie unter “Distributed Replicated Storage” beschrieben, lässt sich so ein gemeinsammes /var/spool für die Mailserver generieren. Die Konfiguration der Server kann man dann entweder in einer Datenbank oder LDAP ablegen, oder man verwendet die vom MTA vorgegebenen Konfig-Files, diese kann man auch auf einem verteiltem Filesystem speichern.

Den Source für GlusterFS kann man sich hier downloaden:

http://europe.gluster.org/glusterfs/2.0/LATEST/

Die Entwickler empfehlen ausserdem ein gepatchtes fuse-Kernel-Modul, welches GlusterFS erheblich beschleunigen soll:

http://europe.gluster.org/glusterfs/fuse/

Das Setup an sich ist relativ einfach. Unter Debian Etch fuse-Source entpacken, ./configure –enable-kernel-module –prefix=/usr  && make && make install && ldconfig

Dann glusterfs entpacken und ./configure –with-fuse=/usr/src/pfadzufuser &&  make && make install

Konfigurationsbeispiele gibt es unter www.gluster.org. Es sind auch kombinierte AFR,Stripe,Unify Filesysteme möglich, allerdings ist das Setup dann etwas komplizierter.

Weiterhin bietet GlusterFS neben normalem TCP/IP  auch direkte Verbindung über Infini-Band an. Auch redundante Verbindungen zur Storage werden unterstützt. Die Maximale Größe des Filesystems kann bis zu mehrere Petabytes betragen.

Möchte man viele kleine Dateien in glusterfs speichern, so kann glusterfs diese im DBD Berkeley DB Format speichern.

GlusterFS ist unter der GNU GPL v3 lizenziert.

Weitere Infos zu GlusterFS gibts auch bei der Wikipedia.