Scriptsprache - Konfiguration automatisieren

  • Hallo Zusammen


    Bisher habe ich Bash Script und PHP gemischt für meine Automatisierungen der Verwaltungsaufgaben auf dem Server.

    Ich habe Bash Scripte erstellt welche mir z.B. eine neue vHost Datei inkl. den PHP FPM Pool etc erstellen. Mittels PHP Scripten bediene ich noch eine DNS API welche abgelöst wird. Das ganze läuft soweit aber ist mir noch zu Umständlich.


    Da ich demnächst PowerDNS einsetzen möchte, möchte ich die ganze Verwaltung einfacher machen. Mein Ziel wäre es nur noch wenige Scripts zu haben. Mir stellt sich nun jedoch die Frage welche Scriptsprache da ggf am einfachsten zu verwenden wäre.


    Es müssen aufgaben erledigt werden wie:

    • Parameter übergeben, oder ggf auch (optional) parameter abfragen
    • Dateien Kopieren und Werte daraus anpassen
    • Konfigurationsdateien anpassen oder weitere Zeilen einfügen
    • PowerDNS API verwalten
    • Weitere JSON API verwalten
    • Let's Encrypt Zertifikate beantrage. Hier habe ich immer certbot verwendet. Es ist jedoch sehr mühsam für jede Domain einen neuen Cronjob zu erstellen für die Erneuerung. Hier überlege ich noch etwas wie https://github.com/lukas2511/dehydrated zu verwenden. Da ich jedoch den Ablauf Zertifikat mittels DNS Challenge beantragen/verlängern sowie TLSA Einträge hinzufügen/löschen automatisieren möchte weiss ich noch nicht was das richtige sein wird. Falls ihr Vorschläge habt könnt ihr mir diese gerne geben.
    • MySQL Daten eintragen/ändern/löschen
    • Natürlich SSH Befehle ausführen können.

    Ich denke das ganze würde sich sicherlich auch so erledigen wie ich es bisher habe. Aber ggf habt ihr andere Vorschläge was hier besser geeignet sein könnte.


    Die SSL Zertifikate werden neu von einem einzigen Server beantragt. Hier muss ich noch schauen wie ich die Verteilung an die anderen Server mache. Von Mounten wurde mir abgeraden. Daher wird dies sicherlich auch mit den Scripten die ich erstellen möchte noch ein Thema sein. Auch hier könnt ihr mir gerne Vorschläge machen :)


    Bevor ich jetzt alles anfange und versuche mit sh Scripts umzusetzen dachte ich ich frage mal ob es ggf bessere alternativen gibt.


    Gruss und Danke


    Oliver

  • Paul Danke. Ich habe im Off Topic bereits den Tipp erhalten für die Verteilung der Let's Encrypt Zertifikate. Ich kam aber noch nicht dazu dies genauer anzusehen. Wenn dies natürlich so Multifunktionell ist muss ich mir das mal genauer anschauen. Mit YAML habe ich mich noch nicht beschäftigt. Aber ich denke auch das kann man lernen ^^

  • Paul Danke. Ich habe im Off Topic bereits den Tipp erhalten für die Verteilung der Let's Encrypt Zertifikate. Ich kam aber noch nicht dazu dies genauer anzusehen. Wenn dies natürlich so Multifunktionell ist muss ich mir das mal genauer anschauen. Mit YAML habe ich mich noch nicht beschäftigt. Aber ich denke auch das kann man lernen ^^

    Gerne! Es lohnt sich auf jeden Fall. Also YAML ist im Grunde nur die Sprache um die Aufgaben zu beschreiben/definieren (zusammen mit jinja2 für Templates). Der eigentliche Code von Ansible ist Python. Die ganzen Plugins, die letztendlich die Aufgabe erledigen, sind also in Python geschrieben (falls du zusätzliche Module benötigen solltest).

    Ansible führst du dann entweder lokal auf deiner Workstation aus oder von einem zentralen "Ansible Host". Dieser braucht lediglich SSH Zugriff auf die zu administrierenden Hosts. Daher lässt sich das sehr flexibel einsetzen.

  • Ansible führst du dann entweder lokal auf deiner Workstation aus oder von einem zentralen "Ansible Host". Dieser braucht lediglich SSH Zugriff auf die zu administrierenden Hosts. Daher lässt sich das sehr flexibel einsetzen.

    Dies wird sicher Interessant wenn ich es so hinbekomme wie ich möchte. Denn das Ziel wäre es das ein Teil der Server die nicht im Internet benötigt werden nur mittels Cloud vLAN erreichbar sind. So ist die Administration von einem Zentralen Server möglich.

    Ich werde mich damit mal Beschäftigen und schauen was rauskommt.

  • Es ist jedoch sehr mühsam für jede Domain einen neuen Cronjob zu erstellen für die Erneuerung.

    Da reicht doch ein Cronjob. Certbot probiert alle verfügbaren Zertifikate zu erneuern... Kein Bedarf für mehrere, oder?



    Bash Script und PHP gemischt

    Ist doch iO. PHP läuft ja auch auf der CLI Shebang: #!/usr/bin/php7 prima.

  • Ich habe gelesen das dies bei der DNS challenge nicht der Fall sein soll. Finde es aber gerade nicht mehr