/ guestpost

[GER] Warum soll ich mir die Arbeit machen? Let's script server-scripts!

So nach einer gefühlten Ewigkeit äußere ich mich auch mal wieder hier.
Heute muss ich einfach mal ein paar Gedanken zum Thema Scripting und dem Sinn dahinter bei kleineren Systemen zu äußern.

Also: Warum sollte ich mir die Mühe machen Sachen zu scripten, die ich eh nur einmal aufsetze und danach nie wieder anrühre? Ist das nicht viel zu viel Aufwand?

Ja natürlich ist es mehr Aufwand. Aber jetzt denke man doch einfach mal an das einfache Szenario:
Der schnucklige kleine Server zu Hause verreckt oder es gibt nen Plattenausfall im RZ.Die Backups wurden am Ende eh wieder nicht ordentlich getestet und ganz frei nach @nixcraft funktioniert eh kein Backup, wenn man versucht es einzuspielen.
Und hier sind wir bei dem einfach Problem, dass ich gerade bei solchen "da muss ich ja nie wieder ran" Systemen sehe. Wenn man sich beim Aufsetzen des Systems/ den entsprechenden Anwendungen direkt die Mühe macht die einzelnen Schritte in einem Script zu erfassen, erspart man sich den bedeutend größeren Aufwand sich teilweise Jahre später in ein System erneut einarbeiten zu müssen, anstatt einfach wieder sein Script zu können und alles ist neu und frisch aufgesetzt.
Den Datenverlust gleicht das natürlich nicht aus. Aber man wird zumindest nicht von seinem ärger über die verkackten Backups abgelenkt ;)

Und als nächstes kommen wir mal zu einem anderen Szenario.
Der Webserver läuft, die Zertifikate mit Let's Encrypt sind auch ordentlich dabei und alles läuft. Schöne heile Welt.
Aber dann kommt eine neue Seite dazu. Das kann man ja eben noch von Hand zusätzlich in die Configs machen und die Zertifiakte sind ja auch schnell erstellt und dann kommt noch eine und noch eine.....
Oh und Ups ehe man sich versieht hat man ein System mit x gegen unendlich zu verwaltenden Konfigurationen, Zertifikaten und dergleichen(das war persönlich der Punkt, wo ich zu abgefuckt war und mir sachte, dass ich nie wieder so ne scheiß nginx Konfiguration von Hand schreiben will).
Das System ist gewachsen und damit auch die Anforderungen an die Verwaltung.
Ich habe zuerst alleine angefangen Scripte zu schreiben. Aber mir wurde sehr schnell im Gespräch mit Freunden und Kollegen klar, dass ich nicht allein bin mit meinen alltäglichen Problemen und es viele Klein und Privatanwender gibt, die das gleiche Problem haben. Also habe ich mit @Seiteshyru und einem weiteren Bekannten auf Github eine öffentliches Repository erstellt, in dem wir Scripte erstellen und pflegen, die für viele Klein- und Privatanwenderszenarien gedacht sind. Das ganze ist aber auch in dem Sinne entstanden skalierbar zu sein und als Anregung zu dienen größere Systeme zu bauen oder sich auch mal an Anwendungen, wie einen Mailserver heranzutrauen, wo vllt so mancher Neuling nicht direkt alles von der Pieke auf angehen will.

Natürlich sollte man sich nicht einfach nur auf Scripte verlassen, die nur irgendeine Art schwarze Magie sind und am Ende läuft alles. Aber ich persönlich finde, dass sich, wenn man Schritt für Schritt nachvollziehen kann, was gerade passiert das ganze eine große Stütze beim lernen oder verstehen von so mancherlei Ablauf sein kann.

Daher möchte ich auch allen, die diesen Post lesen ans Herz legen uns doch ein wenig zu unterstützen. Sei es mit ein wenig Code oder einen hilfreichen Beitrag im Issue Tracker oder einfach nur, dadurch das man es nutzt.
Unser dauerhaftest Anliegen ist es jedes Script in Deutsch und Englisch gründlich, aber frei von allzu viel Fachsimpelei, zu dokumentieren. Es soll nicht nur unbemerkt im Hintergrund laufen, sondern auch dazu klar gemacht werden, was da passiert.

So zu guter letzt, wenn ich hier schon so schamlos massive Eigenwerbung betreibe der Link zu dem guten Stück:

Fightbackman/server-scripts

Das ganze steht unter der GPLv3 ist frei und soll frei bleiben. Weg von halbfertigen Lösungen wie iredmail oder anderen, die einen iwas aufsetzen, dass man dann aber doch nur nutzen kann, wenn man wieder Geld in die Hand nimmt.

Cya