seeseekey.net - Invictus Deus Ex Machina

Als ich mei­nen Nginx-Server neu­star­ten wollte, wurde dies vom Sys­tem mit einem Feh­ler quit­tiert. In der ent­spre­chen­den Log­da­tei (/var/log/nginx/error.log) fand sich fol­gende Meldung:

could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32

Die Größe die im Para­me­ter server_names_hash_bucket_size defi­niert ist, beträgt im Stan­dard­fall 32 oder 64. Um den Feh­ler zu besei­ti­gen muss die Kon­fi­gu­ra­ti­ons­da­tei von Nginx geöff­net werden:

nano /etc/nginx/nginx.conf

Dort sollte man den Wert auf 64 oder 128 stel­len und Nginx anschlie­ßend neu­star­ten. Damit ist der Feh­ler beho­ben. Benö­tigt wird diese Option für die Größe der Hash­ta­bel­len in wel­chen die Ser­ver­na­men gespei­chert werden.

Wei­tere Infor­ma­tio­nen gibt es unter:
http://nginx.org/en/docs/http/server_names.html
http://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_bucket_size

Wer bis vor kur­zem eine freie Soft­ware für Schnitt­mus­ter suchte, wird bei die­ser Suche nicht son­der­lich erfolg­reich gewe­sen sein. Wenn über­haupt fand man ein­ge­schla­fene Pro­jekte wie Clo­thes. Mitt­ler­weile hat sich dies geän­dert. Seit knapp einem Jahr gibt es die freie Soft­ware Valen­tina. Mit die­ser Soft­ware kön­nen eigene Schnitt­mus­ter ent­wor­fen wer­den. Die ers­ten Schritte wer­den dabei in ver­schie­de­nen Tuto­ri­als erklärt.

Valen­tina unter Windows

Lizen­ziert ist Valen­tina unter der GPL3. Die aktu­elle Ver­sion ist die Ver­sion 0.2.2. Ver­füg­bar ist Valen­tina für Linux, Mac OS X und Win­dows. Die offi­zi­elle Web­seite ist unter valentina-project.org zu fin­den. Neben dem offi­zi­el­len Quell­code auf Bit­bu­cket gibt es auch eine Spie­ge­lung auf Git­Hub.

Bei Fire­fox 31 hat sich an der Ober­flä­che nicht viel geän­dert. Statt­des­sen wur­den eine Ände­run­gen am Kern vor­ge­nom­men. Eine diese Ände­run­gen betrifft den Konfigurationschlüssel:

browser.tabs.closeButtons

Die­ser Schlüs­sel wird in der der neuen Ver­sion nicht mehr aus­ge­wer­tet. Dies führt dazu das jeder Tab nun stan­dard­mä­ßig sei­nen eige­nen But­ton zum Schlie­ßen des Tabs besitzt. Frü­her könnte der Nut­zer über diese Option den But­ton zum Schlie­ßen von Tabs auch nach rechts oben legen. Dies ist nun ohne wei­tere Hilf­mit­tel nicht mehr möglich.

Hier kommt das Add-On Clas­sic Theme Res­to­rer zum Ein­satz. Mit die­sem ist es mög­lich, wie­der einen But­ton zum Schlie­ßen aller Tabs an das Ende der Tableiste zu legen. Ein ande­res Pro­blem in der neuen Ver­sion behebt das Add-On lei­der nicht. So merkt sich der neue Fire­fox nicht mehr seine Posi­tion, wenn er geschlos­sen wird. Dies ist beson­ders auf Multi-Monitor-Systemen ärger­lich, da der Fire­fox beim Öff­nen auf dem fal­schen Bild­schirm aufgeht.

Ges­tern hatte ich mich René Hesse eine Unter­hal­tung über die unter­schied­li­chen KeePass-Versionen/Ports. Da die Erklä­run­gen über Twit­ter etwas müh­sam sein kön­nen, gibt es das ganze hier noch­mal in der Lang­form. Viele Leute nut­zen Pass­wort­ma­na­ger wie 1Password — aller­dings sehe ich sol­che Mana­ger zwie­späl­tig, da es sich um pro­prie­täre Soft­ware han­delt. Der Quell­code ist nicht ein­seh­bar, so das man seine sicher­heits­re­le­van­ten Daten einer Black­box anver­traut. Hier spielt freie Soft­ware wie Key­Pass ihre Stär­ken aus.

Kee­Pass in der 2er-Version

Die erste KeePass-Variante ist Kee­Pass, bei wel­cher es sich um das Ori­gi­nal han­delt. Kee­pass liegt dabei aktu­ell in einer Ver­sion 1.27 und in einer Ver­sion 2.27 vor. Die 1er Ver­sion ist die soge­nannte Clas­sic Ver­sion, wel­che wir in die­ser Auf­stel­lung gepflegt igno­riert wird, da sie nur noch his­to­ri­schen Wert hat.

Die 2er Ver­sion ist in C# geschrie­ben und platt­for­mu­n­ab­hä­gig. Das Pro­blem ist die Behand­lung von Win­dows Forms unter Mono. Dies führt dazu das Kee­Pass unter Linux und Mac OS X sehr beschei­den aus­sieht, und sich wie ein Fremd­kör­per anfühlt. Alles in allem muss man aber sagen das die offi­zi­elle Vari­ante, sehr benut­zer­freund­lich ist und Klei­nig­kei­ten wie der Passwort-Generator gefal­len. Zu fin­den ist die offi­zi­elle Vari­ante auf keepass.info.

Dane­ben gibt es auch Kee­PassX, wel­cher mitt­ler­weile in der Ver­sion 2.0 Alpha 6 vor­liegt. Hier sollte man sich von der Ver­si­ons­num­mer nicht ver­wir­ren las­sen, da das ganze „rock-solid“ läuft. Im Gegen­satz zum Ori­gi­nal, sieht Kee­PassX auch unter Linux und Mac OS X gut aus und lässt sich sau­ber bedienen.

Key­PassX unter Windows

Die gute Inte­gra­tion der Ober­flä­che ist dem ver­wen­de­ten Qt-Framework zu ver­dan­ken. Von der Funk­tio­na­li­tät her, kann Kee­PassX noch nicht mit dem Ori­gi­nal mit­hal­ten, aller­dings sind die wich­tigs­ten Funk­tio­nen für die täg­li­che Arbeit in Kee­PassX vor­han­den, so das man hier sel­ten etwas ver­misst. Zu fin­den ist Kee­PassX auf keepassx.org.

Für die Mobil­ge­räte gibt es auch ent­spre­chende Vari­an­ten. So exis­tie­ren unter ande­rem Apps für Android, iOS und Win­dows Phone.

KeePassDroid
Preis: Kos­ten­los

Gemein­sam haben alle Kee­Pass Vari­an­ten, das die Passwort-Datenbanken unter­ein­an­der kom­pa­ti­bel sind. Eine Aus­nahme bil­det hier Kee­Pass in der 1er Ver­sion (die Clas­sic Ver­sion) — diese kann keine Daten­ban­ken im 2er For­mat lesen. Der Unter­schied zwi­schen den Ver­sio­nen begrenzt sich meist auf das unter­stützte Betriebs­sys­tem und die Anzahl der zusätz­li­chen Fea­tures. Eine Auf­lis­tung aller Kee­Pass Ports ist dabei auf der offi­zi­el­len Seite zu fin­den.

Wenn man in sei­ner WordPress-Installation eine Zwei-Faktor-Authentifizierung nut­zen möchte, so geschieht dies am ein­fachs­ten mit dem Plu­gin „Google Authen­ti­ca­tor for Word­Press“ wel­ches über Plug­in­su­che im Word­Press Backend instal­liert wer­den kann.

Die Ein­stel­lun­gen des „Google Authen­ti­ca­tor for WordPress“

Nach der Instal­la­tion muss das Plu­gin in den Ein­stel­lun­gen akti­viert wer­den. Hier kann auch ein­ge­stellt wer­den ob alle Nut­zer die Zwei-Faktor-Authentifizierung nut­zen müs­sen. In der jewei­li­gen Benut­zer­seite kann anschlie­ßend das Token und der Bar­code für die Authen­ti­fi­zie­rung erstellt wer­den. Das Plu­gin ist dabei unter der GPL3 lizen­ziert — der Quell­text ist auf Git­Hub zu fin­den. Den pas­sen­den Authen­ti­fi­ka­tor gibt es im jewei­li­gen Apps­tore für die gewünschte Plattform.

Google Authenticator
Preis: Kos­ten­los
Google Authenticator
Preis: Kos­ten­los

Wer das ganze nicht mit einer App, son­dern in Form einer HTML5 Anwen­dung nut­zen möchte, kann den Quell­text dafür eben­falls auf Git­Hub bezie­hen.

Bei Pen­cil han­delt es sich um eine freie 2D-Animationsoftware. Wäh­rend die Soft­ware frü­her nur unter Linux lief, sind mitt­ler­weile auch Ver­sio­nen für Mac OS X und Win­dows erhältlich.

Pen­cil unter Mac OS X

Pen­cil bie­tet dabei Funk­tio­nen für die Ani­ma­tion, das Zeich­nen und den Export. Es ist nicht so mäch­tig wie das eben­falls freie Syn­fig, lässt sich dafür aber wesent­lich ein­fa­cher bedie­nen. Der unter der GPL2 lizen­zierte Quell­text kann auf Git­Hub bezo­gen wer­den. Zu fin­den ist Pen­cil unter pencil-animation.org.

Wenn man ab und an PHP nutzt, wird man sicher­lich auch schon­mal etwas von PSR-1 und PSR-2 gehört haben. PSR steht dabei für PHP Spe­ci­fi­ca­tion Request. PSR-1 und PSR-2 sind dabei der Basis Coding Stan­dard und der Coding Style Guide.

cs.sensiolabs.org

Möchte man sei­nen Quell­text an diese Stan­dards anpas­sen, so kann man dies natür­lich ohne Pro­bleme per Hand erle­di­gen. Aller­dings ist dies je nach Menge des Quell­tex­tes doch recht umständ­lich. Mit Hilfe des PHP Coding Stan­dards Fixer kann man diese Arbeit auto­ma­ti­sie­ren. Genutzt wird die Soft­ware auf der Konsole:

php php-cs-fixer.phar fix /path/to/dir

Nach dem Durch­lauf wurde der Quell­code an die Gege­ben­hei­ten des Stan­dards ange­passt. Bezo­gen wer­den kann der PHP Coding Stan­dards Fixer auf der offi­zi­elle Seite. Die Anwen­dung ist dabei unter der MIT-Lizenz lizen­ziert und damit freie Software.

Wer ab und an an meh­re­ren Rech­ner gleich­zei­tig arbei­ten muss, aber nicht stän­dig die Peri­phe­rie wech­seln möchte, der sollte sich Syn­ergy anschauen. Dabei han­delt es um eine Soft­ware um mit einer Maus und Tas­ta­tur meh­rere Rech­ner zu bedie­nen. Das ganze ver­hält sich dabei wie ein gro­ßes Multi-Monitor-System.

Der Kon­fi­gu­ra­ti­ons­bild­schirm von Synergy

Syn­ergy ist für Linux, Mac OS X und Win­dows ver­füg­bar. Die offi­zi­elle Seite des Pro­jek­tes ist unter synergy-project.org zu fin­den. Der Quell­text der unter GPL lizen­zier­ten Soft­ware kann über das SVN-Repository bezo­gen wer­den. Neben der freien Community-Version gibt es auch eine kos­ten­pflich­tige Enterprise-Version.

Auf der Suche nach einer Mög­lich­keit eine REST-Api auf die Beine zu stel­len, hatte ich mich mit eini­gen PHP-Microframeworks wie Slim oder Fat-Free beschäf­tigt. Hän­gen geblie­ben bin ich Schluss­end­lich bei Flight. Eine mini­male REST-Api sieht dabei so aus:

require 'flight/Flight.php';

Flight::route('GET /', function(){
    echo 'hello world!';
});

Flight::start();

Flight besticht dabei durch sei­nen Umfang und die ein­fa­che Nutz­bar­keit. Die Doku­men­ta­tion ist schnell gele­sen und so kann schon nach weni­gen Minu­ten pro­duk­tiv ent­wi­ckelt wer­den. Flight ist unter der MIT-Lizenz lizen­ziert und damit freie Sof­ware. Der Quell­text ist auf Git­Hub, die offi­zi­elle Web­seite unter flightphp.com zu finden.

Wer eine REST- bzw. eine RESTful-API ent­wi­ckeln möchte, der kann natür­lich das Rad neu erfin­den und die kom­plette API von Grund auf ent­wi­ckeln. Ein­fa­cher wird es wenn man ein beste­hen­des Frame­work nutzt. Für die­sen Zweck bie­tet sich unter PHP Rest­ler an. Mit Hilfe die­ses Frame­works las­sen sich voll­wer­tige REST-APIs inner­halb weni­ger Stun­den ent­wi­ckeln. So unter­stützt Rest­ler unter ande­rem unter­schied­li­che Aus­ga­be­for­mate wie JSON, XML oder YAML. Abge­run­det wird das Paket durch eine aus­führ­li­che Doku­men­ta­tion und sehr viele gut doku­men­tierte Beispiele.

luracast.com/products/restler

Rest­ler ist unter der LGPL lizen­ziert und somit freie Soft­ware. Die offi­zi­elle Web­seite ist mit hilf­rei­chen Infor­ma­tio­nen gespickt, wäh­rend der Quell­text auf Git­Hub zu fin­den ist.