Server Internes: Unterschied zwischen den Versionen
Creme (Diskussion | Beiträge) K |
Creme (Diskussion | Beiträge) |
||
Zeile 27: | Zeile 27: | ||
=== Salt === | === Salt === | ||
− | Salt benötigt seine Konfiguration ( ''/etc/salt/minion.d/freifunk-masterless.conf'' ) und das | + | Salt benötigt seine Konfiguration ( ''/etc/salt/minion.d/freifunk-masterless.conf'' ) |
− | [https://github.com/cremesk/ffdd-server/tree/T_RELEASE_latest/salt/freifunk/base Arbeitsverzeichnis] ( ''/srv/ffdd-server/salt/freifunk/base/'' ) welches einen "Ablaufplan" die ''[https://github.com/cremesk/ffdd-server/blob/T_RELEASE_latest/salt/freifunk/base/top.sls top.sls]'' bereitstellt.<br> | + | file_client: local |
+ | file_roots: | ||
+ | base: | ||
+ | - $INSTALL_DIR/salt/freifunk/base | ||
+ | und das [https://github.com/cremesk/ffdd-server/tree/T_RELEASE_latest/salt/freifunk/base Arbeitsverzeichnis] ( ''/srv/ffdd-server/salt/freifunk/base/'' ) welches einen "Ablaufplan" die ''[https://github.com/cremesk/ffdd-server/blob/T_RELEASE_latest/salt/freifunk/base/top.sls top.sls]'' bereitstellt.<br> | ||
Alle hier definierten Aufgaben bekommen je nach Umfang und Komplexität im Arbeitsverzeichnis entweder:<br> | Alle hier definierten Aufgaben bekommen je nach Umfang und Komplexität im Arbeitsverzeichnis entweder:<br> | ||
− | eine Konfigurationsdatei ( '' | + | eine Konfigurationsdatei ( ''../freifunk/base/AUFGABE.sls'' )<br> |
oder<br> | oder<br> | ||
− | einen Unterordner ( '' | + | einen Unterordner ( ''..freifunk/base/AUFGABE/'' ) welcher eine ''init.sls'' enthält. |
Desweiteren gibt es noch ein Konfigurationfile, die [https://github.com/cremesk/ffdd-server/blob/T_RELEASE_latest/salt/freifunk/base/config.jinja config.jinja], welche für dynamische Variablen die in den "Aufgaben-Scripten" genutzt wird. | Desweiteren gibt es noch ein Konfigurationfile, die [https://github.com/cremesk/ffdd-server/blob/T_RELEASE_latest/salt/freifunk/base/config.jinja config.jinja], welche für dynamische Variablen die in den "Aufgaben-Scripten" genutzt wird. | ||
+ | |||
+ | |||
+ | === Salt - Aufgaben (top.sls) === | ||
+ | ==== clear_oldenv ==== | ||
+ | Säubert ältere Pakete, Konfigurationen, Dateien und Verzeichnisse ältere Gateway-Server Versionen. | ||
+ | |||
+ | ==== apt ==== | ||
+ | Installiert alle benötigten Pakete um das Betriebssystem des Gateway-Server aktuell zu halten. | ||
+ | |||
+ | ==== remove_pkg ==== | ||
+ | Entfernt alle Pakete welche die Funktionalität des Servers einschränken könnten. | ||
+ | |||
+ | ==== install_pkg ==== | ||
+ | Installiert alle für den Server nötigen Pakete welche keine zusätzliche Konfiguration benötigen. | ||
+ | |||
+ | ==== tools ==== | ||
+ | Stellt Programme und Verknüpfungen für die Unterstützung des Administrators bereit. | ||
+ | |||
+ | ==== root ==== | ||
+ | Hinterlegt die aktuelle root user .bashrc . | ||
+ | |||
+ | ==== users ==== | ||
+ | Stellt sicher das alle Benutzer für den Betrieb mit den richtigen Berechtigungen vorhanden sind. | ||
+ | |||
+ | ==== bash ==== | ||
+ | Installiert und hinterlegt die Standart Konfiguration für "bash". | ||
+ | |||
+ | ==== vim ==== | ||
+ | Installiert und hinterlegt die Standart Konfiguration für "vim". | ||
+ | |||
+ | ==== locales ==== | ||
+ | ==== timezone ==== | ||
+ | ==== ntp ==== | ||
+ | ==== cron ==== | ||
+ | ==== sysctl ==== | ||
+ | ==== systemd ==== | ||
+ | ==== sudo ==== | ||
+ | ==== rsyslog ==== | ||
+ | ==== logrotate ==== | ||
+ | ==== devel ==== | ||
+ | ==== bmxd ==== | ||
+ | ==== fastd ==== | ||
+ | ==== salt-minion ==== | ||
+ | ==== ddmesh ==== | ||
+ | ==== nvram ==== | ||
+ | ==== iproute2 ==== | ||
+ | ==== network ==== | ||
+ | ==== iptables ==== | ||
+ | ==== conntrack ==== | ||
+ | ==== fail2ban ==== | ||
+ | ==== ssh ==== | ||
+ | ==== openvpn ==== | ||
+ | ==== bind ==== | ||
+ | ==== iperf3 ==== | ||
+ | ==== apache2 ==== | ||
+ | ==== letsencrypt ==== | ||
+ | ==== monitorix ==== | ||
+ | |||
+ | === Laufzeit / Runtime === | ||
+ | |||
+ | ... |
Version vom 13. November 2018, 23:03 Uhr
IN BEARBEITUNG!!!
Inhaltsverzeichnis
- 1 Git Repository
- 2 Bereitstellung / Initialisierung
- 3 Betrieb / Operating
- 3.1 Salt
- 3.2 Salt - Aufgaben (top.sls)
- 3.2.1 clear_oldenv
- 3.2.2 apt
- 3.2.3 remove_pkg
- 3.2.4 install_pkg
- 3.2.5 tools
- 3.2.6 root
- 3.2.7 users
- 3.2.8 bash
- 3.2.9 vim
- 3.2.10 locales
- 3.2.11 timezone
- 3.2.12 ntp
- 3.2.13 cron
- 3.2.14 sysctl
- 3.2.15 systemd
- 3.2.16 sudo
- 3.2.17 rsyslog
- 3.2.18 logrotate
- 3.2.19 devel
- 3.2.20 bmxd
- 3.2.21 fastd
- 3.2.22 salt-minion
- 3.2.23 ddmesh
- 3.2.24 nvram
- 3.2.25 iproute2
- 3.2.26 network
- 3.2.27 iptables
- 3.2.28 conntrack
- 3.2.29 fail2ban
- 3.2.30 ssh
- 3.2.31 openvpn
- 3.2.32 bind
- 3.2.33 iperf3
- 3.2.34 apache2
- 3.2.35 letsencrypt
- 3.2.36 monitorix
- 3.3 Laufzeit / Runtime
Git Repository
https://github.com/cremesk/ffdd-server
Bereitstellung / Initialisierung
Die Initialisierung des Gateway-Server erfolgt über die init_server.sh welches sicherstellt dass der Server auf dem aktuellen Stand ist und alle Abhängigkeiten vorhanden sind.
Wichtige Punkte sind hier:
- User check
- Konfiguration:
- /etc/nvram.conf (Enthält alle Gateway Spezifische Informationen)
- /etc/salt/minion.d/freifunk-masterless.conf (Definiert das Arbeitsverzeichnis für Salt - /srv/ffdd-server/salt/freifunk/base/ )
- Pakete:
- git - für die Bereitstellung und Aktualisierung des Repositories
- salt-minion (Salt) - Automatisierung 'Masterless-Orchestration-Management' für Konfigurationen und Pakete
- Bereitstellung des Repositoryies unter /srv/ffdd-server/
Salt übernimmt nun die weitere Initialisierung des Gateway-Server. Desweiteren wird Salt mit dem "salt-call state.highstate --local" Befehl im weiteren Betrieb dauerhaft verwendet um sicherzustellen das alle Konfigurationen wie gewünscht korrekt vorhanden sind und alle Services funktionieren. Dies geschieht per Aufruf über einen Cronjob (siehe XXXXXX).
Betrieb / Operating
Salt
Salt benötigt seine Konfiguration ( /etc/salt/minion.d/freifunk-masterless.conf )
file_client: local file_roots: base: - $INSTALL_DIR/salt/freifunk/base
und das Arbeitsverzeichnis ( /srv/ffdd-server/salt/freifunk/base/ ) welches einen "Ablaufplan" die top.sls bereitstellt.
Alle hier definierten Aufgaben bekommen je nach Umfang und Komplexität im Arbeitsverzeichnis entweder:
eine Konfigurationsdatei ( ../freifunk/base/AUFGABE.sls )
oder
einen Unterordner ( ..freifunk/base/AUFGABE/ ) welcher eine init.sls enthält.
Desweiteren gibt es noch ein Konfigurationfile, die config.jinja, welche für dynamische Variablen die in den "Aufgaben-Scripten" genutzt wird.
Salt - Aufgaben (top.sls)
clear_oldenv
Säubert ältere Pakete, Konfigurationen, Dateien und Verzeichnisse ältere Gateway-Server Versionen.
apt
Installiert alle benötigten Pakete um das Betriebssystem des Gateway-Server aktuell zu halten.
remove_pkg
Entfernt alle Pakete welche die Funktionalität des Servers einschränken könnten.
install_pkg
Installiert alle für den Server nötigen Pakete welche keine zusätzliche Konfiguration benötigen.
tools
Stellt Programme und Verknüpfungen für die Unterstützung des Administrators bereit.
root
Hinterlegt die aktuelle root user .bashrc .
users
Stellt sicher das alle Benutzer für den Betrieb mit den richtigen Berechtigungen vorhanden sind.
bash
Installiert und hinterlegt die Standart Konfiguration für "bash".
vim
Installiert und hinterlegt die Standart Konfiguration für "vim".
locales
timezone
ntp
cron
sysctl
systemd
sudo
rsyslog
logrotate
devel
bmxd
fastd
salt-minion
ddmesh
nvram
iproute2
network
iptables
conntrack
fail2ban
ssh
openvpn
bind
iperf3
apache2
letsencrypt
monitorix
Laufzeit / Runtime
...