]> gitweb.hamatoma.de Git - ansknife.git/commitdiff
extended documentation
authorHamatoma <author@hamatoma.de>
Mon, 5 May 2025 12:45:20 +0000 (14:45 +0200)
committerHamatoma <author@hamatoma.de>
Mon, 5 May 2025 12:45:20 +0000 (14:45 +0200)
docu/de/05_yaml.md
docu/de/10_einrichten_ansible_auf_workstation.md
docu/de/50_neues_ansknife_projekt.md

index 5b3ba259b7c7e366c38a550170f16b9f6c0e25d0..decb34746c2c26f7a03586e387ee15904c4f260f 100644 (file)
@@ -29,6 +29,8 @@ users:
 Das kann auch in verkürzter Form formuliert werden:
 ```
 users: { jonny: 101, eve: 102 }
+# oder
+users: jonny=101 eve=102
 ```
 '''Wichtig''':
 
index b928e6701988843fffb3afb031ba8c702b7f9b1d..2ea8f110040b5aaa0a1647099fc1122ff335fa6a 100644 (file)
@@ -48,3 +48,16 @@ ssh-add
 ```
 Hier wird das Passwort des Zertifikats abgefragt. Dieses ist dann bis zum Ende der Session "gültig", d.h. es wird nicht mehr benötigt.
 
+# Anlegen von ansadm
+Damit die Konfiguration von ansible selber verändert werden kann, muss ein Benutzer ansadm angelegt werden, der dann als "Ziel" von ssh verwendet wird:
+```
+adduser ansadm --uid=260
+```
+Bei der Passwortabfrage und Wiederholung verschiedene Phrasen angeben und auf Wiederholung verzichten, damit kein Login möglich ist.
+
+Für ansadm muss "sudo" erlaubt sein: In die Datei /etc/sudoers nach "root" am Zeilenanfang suchen, danach der Eintrag:
+```
+ansadm: ALL=NOPASSWD: ALL
+```
+
+
index 80d4571f72053b3558cc94ef84510e90feddb341..fb1a900edca015ee4b7643497ea167968d814487 100644 (file)
@@ -108,10 +108,99 @@ Ausgabe:
 ```
 
 #### vars/php.yaml
+In dieser Datei werden die Konfigurationsdaten von php.ini eingetragen.
+
+Wenn etwas geändert wurde, alle PHP-Versionen anpassen (Liste evt. erweitern):
+```
+for version in 8.2 8.3; do
+  ansible-playbook playbooks/i_40_php.yaml -e php_version=$version
+done
+```
+
+#### vars/ssl-certificate.yaml
+Hier werden die Daten des SSL-Zertifikats (benötigt für HTTPS) festgelegt: Name/Ort der Firma/Organisation ...
+
+#### vars/webapps.yaml
+Diese Datei wird von dem Playbook webapp_create_webapp.yaml gepflegt: Hier nur die Beispielsdaten herauslöschen.
 
 ### Anpassungen in rocket/templates.local
 Es müssen alle Dateien angeschaut werden und projektspezifische Anpassungen vorgenommen werden.
 
-# 
+#### templates.local/nginx/sites
+Hier werden alle Dateien aus /etc/nginx/sites-available gepflegt: Jeder Webanwendung hat hier eine
+Datei mit dem Namen der Domäne.
+
+#### templates.local/nginx/http.conf
+Daten evt. anpassen.
+
+#### templates.local/postfix
+Der Email-Server postfix kann in zwei Modi benutzt werden:
+- send_only: Kein Zugang von extern, nur das Weiterleiten von internen Mails an externe Mailserver: Beispiel: Mails an root werden an myserver@example.com weitergeleitet
+- email_forwarding: Der Mailserver kann Weiterleitungen vornehmen: Post von gmail an jonny@example.de wird auf abteilung3@example.com weitergeleitet. Die Konfiguration ist wesentlich aufwändiger.
+
+Bei der Erstellung des Projekts wurde der EMail-Server-Modus abgefragt: und nur eines der Verzeichnisse postfix/send_only 
+oder postfix/email_forwarding angelegt.
+
+- Die Konfiguration in main.cf muss angepasst werden.
+- Die Konfiguration von master.cf muss normalerweise nicht geändert werden.
+- Die Datei alias muss angepasst werden: die letzte Zeile enthält die externe Zieladresse für interne Mails, z.B. "root: root.rocket@example.com"
+
+
+
+#### templates.local/scripts/CreateSysInfo.conf
+```
+# This file will be included into CreateSysInfo
+DIR_INFO=/srv/www/sys.info/rocket
+# a blank separated list of mount points formatted with BTRFS, e.g. "/media/fs.cache /media/fs.system"
+BTRFS_FS=''
+# a blank separated list of devices that should be controlled by smartmon, e.g. 'sda sdb'
+SMART_MON_DEVS='nvme0n1 nvme1n1'
+# set to yes if mdadm manages software raid devices
+HAS_SOFT_RAID=no
+MK_HOME_TAR=yes
+USE_ZFS=no
+# a blank separated list of "--exclude=<dir>" entries. That listed subdirs will not be saved in the TAR archive
+EXCLUDE_HOME="--exclude=jails"
+```
+- DIR_INFO überprüfen
+- BTRFS_FS anpassen, wenn das Dateisystem BtrFS verwendet wird
+- SMART_MON_DEVS anpassen: mit "lsblk" alle SSDs oder Festplatten ermitteln und in die Liste eintragen.
+- Wenn mdadm installiert ist, hier "yes" eintragen
+- USE_ZFS auf "yes" setzen, wenn das Dateisystem ZFS verwendet wird.
 
+#### templates.local/scripts/rocketBackup
+'''Hinweis''': rocket steht hier für den Projektnamen.
+
+Dieses Script führt täglich ein Backup durch: Sichern der Systeminfo und Export der Datenbanken.
+
+```
+#! /bin/bash
+# Ansible controlled: do not change on remote server
+VERBOSE=-v
+QUIET=
+test "$1" = -q && VERBOSE=-q && QUIET=-q
+/usr/local/bin/CreateSysInfo $QUIET &
+/usr/local/bin/SaveDatabases $QUIET &
+```
+Hier sind normalerweise keine Änderungen notwendig.
+
+
+### Anpassungen in playbooks/rocket_cron
+'''Hinweis''': rocket steht hier für den Projektnamen.
+
+Hier werden der Start von regelmäßig auszuführenden Scripts festgelegt.
+
+Die Datei enthält schon Jobs, die das Backup der Systeminfo, des Homeverzeichneses etc. festlegen.
+Weitere Jobs können hier eingetragen werden, per Konvention auch das auszuführende Script.
+
+## Administrator für MySQL
+Damit Ansible Zugriff auf Datenbanken hat, wird ein Administrator eingerichtet.
+
+Dazu wird in vars/mysql.yaml ein für "dba_name" ein Name definiert: muss nicht geändert werden.
+Das Passwort dazu liegt in /vars/mysql_vault.yaml.
+
+Das Einrichten des Admins geschieht mit:
+```
+ansible-playbook playbooks/mysql_create_admin.yaml
+```