| | |
| | | .. _kap-hsscript-skript: |
| | | |
| | | =========================== |
| | | HSAdmin über Skript steuern |
| | | =========================== |
| | | ============================ |
| | | HSAdmin über Skripte steuern |
| | | ============================ |
| | | |
| | | In :numref:`kap-hsadmin-syntax` haben wir die Option :option:`-f` erwähnt, die wir setzen können, um HSAdmin eine Datei zu übergeben, in der sich die Befehle befinden. |
| | | Dies ermöglicht es uns, ohne großen Aufwand Skriptdateien zu pflegen, mit denen wir wiederkehrende Aufgaben bequem erledigen können. |
| | |
| | | |
| | | |
| | | In Zeile 1 wird der Domain-Admin erzeugt, in Zeile 2 die Domain ``beispiel.de`` angelegt, in Zeile 3 der Datenbank-Nutzer und in Zeile 4 die Datenbank. |
| | | Es ist möglich, die Datei lesbarer zu formatieren, indem jedem Key-Value-Paar eine eigene Zeile zuweist. |
| | | Es ist möglich, die Datei lesbarer zu formatieren, indem man jedem Key-Value-Paar eine eigene Zeile zuweist. |
| | | |
| | | .. code-block:: text |
| | | :linenos: |
| | |
| | | |
| | | Beim Löschen müssen Sie die Reihenfolge umkehren: Datenbank löschen, Datenbank-Nutzer löschen, Domain löschen, Domain-Admin löschen. |
| | | |
| | | Noch bequemer ist es, die notwendigen Benutzer, Domains und Datenbanken mit einem JS-Skript anzulegen. |
| | | Im Folgenden zeigen wir zwei Skripts. |
| | | Noch bequemer ist es, die notwendigen Benutzer, Domains und Datenbanken mit einem Skript anzulegen. |
| | | Sie können HSAdmin mit Javascript und über eine Python-API ansprechen. |
| | | |
| | | HSAdmin mit Javascript ansprechen |
| | | ================================= |
| | | |
| | | Im Folgenden zeigen wir zwei JS-Skripts, die in der Regel im Verzeichnis des :role:`Paket-Admin` mit dessen Benutzerrechten aufgerufen werden. |
| | | Mit dem ersten Skript erstellen wir eine Domain und weisen ihr einen eigenen Domain-Admin zu, dessen Name aus dem Namen der Domain abgeleitet wird. |
| | | Mit dem zweiten Skript erzeugen wir eine Datenbank und einen Datenbank-Nutzer, sodass wir unter der gewünschten Domain zum Beispiel eine PHP-Anwendung wie Wordpress einrichten können. |
| | | |
| | | Skript zur Erzeugung von Domain und Domain-Admin |
| | | ================================================ |
| | | JS-Skript zur Anlage einer Domain |
| | | --------------------------------- |
| | | |
| | | Ein Skript, um eine Domain mit einem gesonderten Domain-Admin anzulegen, könnte so aussehen: |
| | | |
| | |
| | | Der Namen des Domain-Admin ergibt sich aus dem Namen der Domain. |
| | | Bei einer Domain, die einen Bindestrich enthält, muss dieser durch einen Unterstrich ersetzt werden, da Benutzernamen nur einen Bindestrich enthalten dürfen. |
| | | |
| | | Das Skript wird folgendermaßen aufgerufen: |
| | | Loggen Sie sich als Paket-Admin ein und rufen Sie das Skript folgendermaßen auf: |
| | | |
| | | .. code-block:: console |
| | | |
| | |
| | | .. literalinclude:: createdomain.js |
| | | :lines: 18 |
| | | |
| | | |
| | | Skript zur Anlage einer Datenbank und eines Datenbank-Nutzers |
| | | ============================================================= |
| | | JS-Skript zur Anlage einer Datenbank |
| | | ------------------------------------ |
| | | |
| | | Das Skript zur Anlage einer Datenbank und eines Datenbank-Nutzers sieht ähnlich aus. |
| | | |
| | |
| | | .. attention:: |
| | | |
| | | Merken Sie sich die Passworte, da Sie diese später benötigen. |
| | | Bei einer Datenbank-Anwendungen müssen Sie bei der Konfiguration den Datenbank-Benutzer und sein Passwort angeben. |
| | | Bei einer Datenbank-Anwendungen müssen Sie bei der Konfiguration den Datenbank-Benutzer und sein Passwort angeben. |
| | | |
| | | |
| | | Nutzung der Python-API |
| | | ====================== |
| | | |
| | | Sie können HSAdmin auch remote über die Python-API des Programms ansprechen. |
| | | Das ermöglicht es Ihnen von einem entfernten Rechner aus HSAdmin zu bedienen. |
| | | Um mit der Python-API zu arbeiten müssen Sie zunächst die Python-Bindings für HSAdmin installieren. |
| | | |
| | | Installation von hs.admin.api |
| | | ----------------------------- |
| | | |
| | | Wir installieren die Python-Bindings in einer virtuellen Python-Umgebung, sodass wir diese zunächst einrichten und aktivieren. |
| | | |
| | | .. code-block:: console |
| | | |
| | | $ python3 -m venv /hsadmin |
| | | $ . /hsadmin/bin/activate |
| | | |
| | | Anschließend klonen wir die Python-Bindings und installieren sie. |
| | | |
| | | .. code-block:: console |
| | | |
| | | $ git clone https://dev.hostsharing.net//r/ansible/hs.admin.api.git |
| | | $ cd hs.admin.api |
| | | $ python setup.py install |
| | | |
| | | Nun steht uns das Modul mit dem Python-Bindings in der virtuellen Umgebung zur Verfügung, sodass wir es in einem Skript importieren können. |
| | | |
| | | Python-Skript |
| | | ------------- |
| | | |
| | | Um die API in einem Skript nutzen zu können, müssen wir mit folgendem Code ein API-Objekt erzeugen. |
| | | |
| | | .. literalinclude:: createdomain.py |
| | | :linenos: |
| | | :lines: 1-9 |
| | | |
| | | |
| | | Nun ist es möglich, mit der üblichen Syntax HSAdmin im Skript anzusprechen. |
| | | |
| | | Mit diesen beiden Befehlen legen wir beispielsweise einen Domain-Admin und eine neue Domain an. |
| | | |
| | | .. literalinclude:: createdomain.py |
| | | :lines: 11-12 |
| | | |
| | | Eine Datenbank lässt sich folgendermaßen anlegen. |
| | | |
| | | .. literalinclude:: createuseranddb.py |
| | | :lines: 11-12 |
| | | |
| | | |
| | | Das vollständige Skript, mit dem man eine Domain mit Domain-Admin sowie eine Datenbank mit einem Datenbank-Nutzer erzeugt, sähe dann so aus: |
| | | |
| | | .. literalinclude:: createall.py |
| | | :linenos: |
| | | |
| | | .. todo:: Skript läuft noch nicht. |
| | | |
| | | Beim Aufruf des Skripts muss man nur noch den gewünschten Domainnamen übergeben: |
| | | |
| | | .. code-block:: console |
| | | |
| | | $ python createall.py meine-domain.de |
| | | |