Hallo Linux-Admins, ich brauche mal einen Rat. Ich bin seit recht vielen Jahren mit Linux-Servern "zugange". Ich komme mit der Shell gut zurecht. Einen LAMP-Server aufzusetzen, ist im Grunde mehr oder
Hallo Linux-Admins, ich brauche mal einen Rat. Ich bin seit recht vielen Jahren mit Linux-Servern "zugange". Ich komme mit der Shell gut zurecht. Einen LAMP-Server aufzusetzen, ist im Grunde mehr oder weniger kein Ding. Programmierung ist jetzt auch nicht so das Problem. Aber ich mache das nicht 24/7. Ich hab noch andere "Hobbies" im WebUmfeld. Gerade bei Neuerungen und Problemlösungen brauche ich einfach zu lange. Daher würde ich so manche Admin-Aufgaben gern automatisieren.
Wie managed man seine Server am sinnvollsten? Sind Tools wie Froxlor, Cockpit, ISPconfig und der gleichen zur Unterstützung wirklich sinnvoll? Ich habe jetzt 2 Jahre mit YunoHost experimentiert. Das System ist schick, aber bei der Umstellung von der einen auf die andere Version knallts. Die Community ist nett und hilfsbereit, aber wenn es Probleme und Fragen gibt und man nach 4 Wochen auf verschiedene Posts so gar keine Reaktion bekommt, dann ist bei allem Verständnis und Geduld auch für ein OpenSource-Tool etwas knifflig. Da stellt sich dann auch im halb-privaten Umfeld doch die Frage der Praktikabilität.
So ein komplexes Tool nun auch noch vollständig bis in den letzten Winkel zu durchdringen, um die Probleme und Bugs dann selbst zu lösen, sprengt dann doch den Rahmen meiner verfügbaren Zeit.
Ich hab jetzt angefangen, wieder alles per Hand zu installieren und zu scripten. Aber ist das wirklich sinnvoll, das Rad neu zu erfinden? Es gibt immer wieder Änderungen an den Systemen und dann buddelt man sich durch die Blogs und Doku, bis man endlich aktuelle Infos hat. Anderseits, weiß man dann, was man hat und kennt sich aus.
Ich bin gerade etwas hin-und-her-gerissen. Habt ihr Tipps, Anregungen oder Gedanken für mich?
@jeff@linux IMO kommt es darauf an was dein Ziel ist. Willst du deinen eigenen Server managen auf dem etwas Software läuft die du betreibst, ober geht es schon um mehrere Systeme?
Für **mich** ist aktuell die entspannteste Lösung:
- caddy als rev. proxy für alles was von außen erreichbar ist
- docker (compose), ohne port exposing für alle Anwendungen auf meinem Server
- selektives Updaten von Hand
- optional: zur Einrichtung und Wartung Ansible
@lukasrotermund Gute Frage: Es sind meine eigenen Server. Mit Software für mich, die Familie und Freunde. Es sind inzwischen mehrere (5) Server. Manches muss ich austesten und schrotten dürfen. Das mache ich dann ungern auf Systemen, die zwar privat aber dann doch produktiv im Einsatz sind 😉
Ansible habe ich kurz schon gesehen und um Docker mache ich regelmäßig einen Bogen 😉 Das ist mir alles noch recht neu und unbekannt. Wenn ich mal hier und da ein bis zwei Stunden Zeit zum "Linuxen" habe, dann kann ich im Moment nur das machen, was ich kenn und kann. Und ein Script in Bash runter zu hacken, ist mir alt bekannt 😉 Das Einarbeiten in Neues braucht mir dann doch mehr zusammenhängende Zeit zum konzentrierten Lernen. Ahne ich zumindest ...
Caddy kenne ich noch nicht. Kurz einen Blick geworfen und gesehen, dass es in "go" geschrieben ist. Noch nie mit zutun gehabt. Wäre das dann ein Ausschlusskriterium? Gefühlt ja -wäh neu! -, aber in der Praxis? 🤔
Ich sehe es pragmatisch :), natuerlich kommen docker und co. mit ihren ganz eigenen Problemen und Fallstricken, aber IMO machen sie mir am Ende auf gleich viel weniger Kopfschmerzen als vorher. Meinen Server umzuziehen bedeutet fuer mich nur noch:
Ihr habt hier ja jetzt immer wieder ansible angeführt. Ich bin selbst darüber vor ein paar Monaten gestolpert und fand das vom Lesen so ganz spannend. Wie ist denn so eure Erfahrung mit dem Einarbeiten in ansible? Und letztendlich ja auch Docker?
Ist das eine Sache von "mal n Stündchen einlesen und dann gehts los" oder ist das für jedes Thema eher "Eine Woche bei Keks und Kaffee einschließen und durchboxen"? Ich finde es ja super toll, immer etwas Neues zu lernen. Allerdings lässt einem das Leben nicht immer den Freiraum dazu ...
Anderseits, wenn ich jetzt 4 Tage mit dem BashScripten verbringe, kann ich auch 2 Tage in ein neues Tool investieren und bin dann schon nach 3 Tagen vielleicht fertig. Vielleicht 😉
@jeff Ich antworte mal wild auf alles 😉
Das Konzept "Reverse proxy mit Diensten, die nur auf loopback lauschen" ist total sinnvoll und skaliert.
Neue Dienste mache ich nur so. Wenn man möchte, hat man einen Wildcard-Record im DNS (*.example.com) und auf dem Reverse proxy ein Wildcard-Zertifikat von LE (es gibt übrigens nicht nur LE als kostenlose CA mit ACME-Support) - und schon hat man seine neue Website in kürzester Zeit am Netz.
Docker-Container aktuell halten: containrrr.dev/watchtower/
Bei Containern sollte man aber unbedingt darauf achten, daß man Images verwendet, die auch gepflegt werden, also günstigstenfalls solche, die vom Softwareanbieter selbst kommen. Wie bei friendica zum Beispiel 😉
fail2ban: Wird m.E. überbewertet. Wer Du unsichere Dienste anbietet, sollte die reparieren - und das kann fail2ban nicht. Immerhin hält es die Logs kürzer 😉 Wäre nicht meine erste Prio.
Go: Das ist nun ziemlich egal, in welcher Sprache eine Software geschrieben ist, solange man nicht debuggen möchte. Go hat den Vorteil, daß es (immer?) nur ein Binary ist, das alle Abhängigkeiten reingelinkt hat und dann aber auch entsprechend groß ist.
Ansible/Python: Ansible IST Python! Und wers richtig ausreizen möchte, kann als Template-Sprache Jinja einsetzen, was einem Pythonista entgegenkommen sollte.
Ansible ist nichts, was man in zwei Stunden lernt. Aber die Doku ist gut, es gibt eine große Community.
Und man muß die Kosten-Nutzen-Relation sehen. Bei privaten 5 Kisten würde ich wohl kein Ansible einsetzen, es sei denn, ich wäre ein neugieriges Spielkind mit Spaß an Software.