Server Internes: Unterschied zwischen den Versionen

Aus Freifunk Dresden - Anwender-Wiki
Zur Navigation springen Zur Suche springen
K
Zeile 31: Zeile 31:
 
  file_roots:
 
  file_roots:
 
   base:
 
   base:
     - $INSTALL_DIR/salt/freifunk/base
+
     - /srv/ffdd-server/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>
 
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>
  
Zeile 48: Zeile 48:
  
 
==== apt ====
 
==== apt ====
Installiert alle benötigten Pakete um das Betriebssystem des Gateway-Server aktuell zu halten.
+
Installiert und Konfiguriert benötigte Pakete um das Betriebssystem des Gateway-Server aktuell zuhalten.
  
==== remove_pkg ====
+
=== remove_pkg ====
 
Entfernt alle Pakete welche die Funktionalität des Servers einschränken könnten.
 
Entfernt alle Pakete welche die Funktionalität des Servers einschränken könnten.
  
Zeile 72: Zeile 72:
  
 
==== locales ====
 
==== locales ====
 +
Installiert und Konfiguriert die Server Ausgabe-Sprache.
 +
 
==== timezone ====
 
==== timezone ====
 +
Installiert und Konfiguriert die Serverzeit.
 +
 
==== ntp ====
 
==== ntp ====
 
==== cron ====
 
==== cron ====

Version vom 13. November 2018, 23:12 Uhr

IN BEARBEITUNG!!!


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:
    - /srv/ffdd-server/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 und Konfiguriert benötigte Pakete um das Betriebssystem des Gateway-Server aktuell zuhalten.

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

Installiert und Konfiguriert die Server Ausgabe-Sprache.

timezone

Installiert und Konfiguriert die Serverzeit.

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

...