Jan Ulrich Hasecke
2019-11-13 b4f1345b1177d7a6c52f2bdf72d59b40f49c99ca
commit | author | age
b4f134 1 .. _kap-hsscript-skript:
JUH 2
3 =================================
4 Befehlsdatei an HSAdmin übergeben
5 =================================
6
7 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.
8 Dies ermöglicht es uns, ohne großen Aufwand Skriptdateien zu pflegen, mit denen wir wiederkehrende Aufgaben bequem erledigen können.
9 In diesem Kapitel zeigen wir, wie Sie die Anlage einer neuen Wordpress-Website mit Hilfe eines solchen Skripts vereinfachen können.
10 Bevor man die Wordpress-Software installiert, müssen mehrere Schritte erledigt sein.
11
12 1. Es existiert ein :role:`Domain-Admin` bzw. es wird ein neuer Domain-Admin angelegt.
13 2. Es wird eine Domain erstellt und dem Domain-Admin zugewiesen.
14 3. Es wird ein :role:`Datenbank-Nutzer` angelegt.
15 4. Es wird eine Datenbank angelegt und dem Datenbank-Nutzer zugewiesen.
16
17 Mit der folgenden Skript-Datei kann diese vier Schritte mit einem Befehl ausführen.
18
19 .. code-block:: text
20    :linenos:
21
22    user.add ({set:{name:'xyz00-domains',comment:'Domain-Admin',password:'!1?2-3aBc',shell:'/bin/bash'}})
23    domain.add ({set:{name:'beispiel.de',user:'xyz00-domains'}})
24    mysqluser.add  ({set:{name:'xyz00_owner',password:'?2?3-4cVg'}})
25    mysqldb.add ({set:{name:'xyz00_abc',owner:'xyz00_owner'}})
26
27
28 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.
29 Es ist möglich, die Datei lesbarer zu formatieren, indem jedem Key-Value-Paar eine eigene Zeile zuweist.
30
31 .. code-block:: text
32    :linenos:
33
34    user.add ({set:{
35    name:'xyz00-domains',
36    comment:'Domain-Admin',
37    password:'!1?2-3aBc',
38    shell:'/bin/bash'
39    }})
40    domain.add ({set:{
41    name:'beispiel.de',
42    user:'xyz00-domains'
43    }})
44    mysqluser.add ({set:{
45    name:'xyz00_owner',
46    password:'?2?3-4cVg'
47    }})
48    mysqldb.add ({set:{
49    name:'xyz00_abc',
50    owner:'xyz00_owner'
51    }})
52
53 Wenn Sie die Datei unter dem Namen :file:`befehlsskript.txt` im Verzeichnis des :role:`Paket-Admin` speichern, können Sie alle Befehle mit einem HSAdmin-Aufruf abarbeiten:
54
55 .. code-block:: console
56
57    xyz00@h50:~$ hsscript -f befehlsskript.txt
58    
59 Wenn Sie beispielsweise häufig Wordpress-Websites installieren, können Sie für jede Website eine solche Befehlsdatei anlegen und unter einem sinnvollen Namen (z.B. :file:`wordpress-beispiel_de.txt`) abspeichern.
60
61 .. admonition:: Beachten Sie die richtige Reihenfolge
62
63    Bei der Anlage von Benutzern, Datenbanken und Domains ist die im Beispiel gezeigt Reihenfolge einzuhalten.
64    Um eine Domain anzulegen, muss der Domain-Admin bereits existieren.
65    Eine Datenbank kann nur erzeugt werden, wenn der Datenbank-Nutzer bereits angelegt ist.
66
67    Beim Löschen müssen Sie die Reihenfolge umkehren: Datenbank löschen, Datenbank-Nutzer löschen, Domain löschen, Domain-Admin löschen. 
68