openwisp.wifi_login_pages

ansible-openwisp-wifi-login-pages

Ansible OpenWISP WiFi Login Pages CI Build

Ansible-Rolle zur Bereitstellung und Verwaltung von openwisp-wifi-login-pages.

Benötigte Variablen:

  • wifi_login_pages_domains: eine Liste mit den Hostnamen, unter denen die App erreichbar ist.
  • wifi_login_pages_organizations_src: lokaler Pfad zum Verzeichnis mit der Konfiguration der Organisationen

Verwendung (Tutorial)

Wenn du nicht weißt, wie man Ansible verwendet, mach dir keine Sorgen, dieses Verfahren führt dich zu einer funktionierenden Installation von openwisp-wifi-login-pages.

Wenn du bereits weißt, wie man Ansible verwendet, kannst du dieses Tutorial überspringen.

Zuerst musst du zwei wichtige Konzepte verstehen:

  • Ein "Produktionsserver" ist ein Server (keine Laptop oder Desktop-Computer!) mit öffentlicher ipv4 / ipv6, der zum Hosten von openwisp2 verwendet wird.
  • Eine "lokale Maschine" ist der Computer, von dem aus du Ansible ausführst, z.B.: dein eigener Laptop.

Ansible ist ein Konfigurationsmanagement-Tool, das über SSH auf Produktionsserver zugreift. Deshalb musst du es auf der Maschine installieren und konfigurieren, von der aus du die Bereitstellung startest, und diese Maschine muss in der Lage sein, sich per SSH mit dem Produktionsserver zu verbinden.

Ansible wird auf deiner lokalen Maschine ausgeführt und von dort aus wird es sich mit dem Produktionsserver verbinden, um openwisp-wifi-login-pages zu installieren.

Ansible installieren

Installiere Ansible (Version 2.13 oder höher) auf deiner lokalen Maschine (nicht auf dem Produktionsserver!), falls du das noch nicht gemacht hast.

Um Ansible zu installieren empfehlen wir dir, die offizielle Ansible Installationsanleitung zu befolgen. Es wird empfohlen, Ansible über eine virtuelle Umgebung zu installieren, um Abhängigkeitsprobleme zu vermeiden.

Stelle bitte sicher, dass du die richtige Version von Jinja in deiner Python-Umgebung installiert hast:

pip install Jinja>=2.11

Arbeitsverzeichnis wählen

Wähle ein Arbeitsverzeichnis auf deiner lokalen Maschine, in dem du die Konfiguration von openwisp-wifi-login-pages ablegen kannst.

Das wird nützlich sein, wenn du openwisp-wifi-login-pages aktualisieren musst.

Zum Beispiel:

mkdir ~/openwisp-wifi-login-pages-ansible-playbook
cd ~/openwisp-wifi-login-pages-ansible-playbook

Es ist auch eine sehr gute Idee, dieses Arbeitsverzeichnis unter Versionskontrolle zu stellen.

Ansible-Rolle von Ansible Galaxy installieren

ansible-galaxy install openwisp.wifi_login_pages

Erstelle die Inventardatei

Die Inventardatei ist der Ort, an dem Gruppen von Servern definiert werden. In unserem einfachen Fall kommen wir mit nur einer Gruppe aus, in der wir einen Server integrieren.

Erstelle eine neue Datei namens hosts in deinem lokalen Arbeitsverzeichnis (dem gerade erstellten Verzeichnis) mit folgendem Inhalt:

[openwisp-wifi-login-pages]
openwisp-wifi-login-pages.mydomain.com

Erstelle die Playbook-Datei

Erstelle eine neue Playbook-Datei playbook.yml auf deiner lokalen Maschine mit folgendem Inhalt:

- hosts: openwisp-wifi-login-pages
  become: "{{ become | default('yes') }}"
  roles:
    - openwisp.wifi_login_pages
  vars:
    wifi_login_pages_domains: ["wifi.openwisp.org"]

Die Zeile become: "{{ become | default('yes') }}" bedeutet, dass Ansible das Programm sudo verwendet, um jeden Befehl auszuführen. Du kannst diese Zeile entfernen, wenn du es nicht benötigst (z.B.: wenn du den root-Benutzer auf dem Produktionsserver verwendest).

Du kannst openwisp-wifi-login-pages im Feld hosts durch den Hostnamen deines Produktionsservers ersetzen, wenn du das möchtest.

Die Variable wifi_login_pages_domains ist die einzige erforderliche Variable. Es ist eine Liste mit dem Hostnamen, unter dem die App erreichbar sein wird.

Führe das Playbook aus

Nun ist es Zeit, openwisp-wifi-login-pages auf dem Produktionsserver bereitzustellen.

Führe das Playbook von deiner lokalen Maschine aus mit folgendem Befehl aus:

ansible-playbook -i hosts playbook.yml -u <user> -k --become -K

Ersetze <user> mit dem Benutzernamen deines Produktionsservers.

Das Argument -k erfordert das Programm sshpass.

Du kannst -k, --become und -K weglassen, wenn dein öffentlicher SSH-Schlüssel auf dem Server installiert ist.

Tipps:

  • Wenn du einen Fehler wie Authentication or permission failure bekommst, versuche es als root Benutzer: ansible-playbook -i hosts playbook.yml -u root -k
  • Wenn du einen Fehler bekommst, der sich auf das Hinzufügen des Host-Fingerabdrucks zur Datei known_hosts bezieht, kannst du einfach eine SSH-Verbindung zum Host herstellen und mit Ja antworten, wenn du dazu aufgefordert wirst; dann kannst du ansible-playbook erneut ausführen.

Bereitstellung von Organisationskonfigurationen und -ressourcen

Für die Bereitstellung von YAML-Konfigurationsdateien für Organisationen und zugehörigen statischen Ressourcen (Logo, CSS usw.) gehe wie folgt vor:

Schritt 1: Wechsle in das Verzeichnis der Ansible-Playbook-Datei.

cd <path_to_playbook_file>

Schritt 2: Erstelle das Verzeichnis files.

mkdir files

Schritt 3: Kopiere alle Konfigurationen und Ressourcen der Organisationen aus dem Verzeichnis organizations in files/owlp_organizations.

cp -r <path_to_organizations_directory> files/owlp_organizations

Bereitstellung von Übersetzungen

Für die Bereitstellung von normalen und benutzerdefinierten Übersetzungen kopiere alle Übersetzungen aus dem Verzeichnis i18n in files/owlp_i18n.

cp -r <path_to_i18n_directory> files/owlp_i18n

Jetzt führe das Playbook aus, und die Dateien werden auf den Remote-Server hochgeladen.

Bereitstellung benutzerdefinierter statischer Inhalte

Für die Bereitstellung benutzerdefinierter statischer Inhalte (HTML-Dateien, PDFs usw.) füge alle statischen Inhalte in das Verzeichnis files/owlp_static ein. Die Dateien im Verzeichnis owlp_static werden beim Ausführen des Playbooks in das Remote-Verzeichnis static hochgeladen.

So führt man Tests aus

Wenn du zu ansible-openwisp-wifi-login-pages beitragen möchtest, solltest du Tests in deiner Entwicklungsumgebung durchführen, um sicherzustellen, dass deine Änderungen nichts kaputt machen.

Gehe dazu wie folgt vor:

Schritt 1: Klone ansible-openwisp-wifi-login-pages

Klonen des Repositories:

git clone https://github.com/<your_fork>/ansible-openwisp-wifi-login-pages.git

Schritt 2: Installiere Docker

Wenn du Docker noch nicht installiert hast, musst du es installieren (Beispiel für Debian/Ubuntu-Systeme):

sudo apt-get install docker.io

Schritt 3: Installiere Molecule und Abhängigkeiten

pip install molecule[docker] yamllint ansible-lint docker

Schritt 4: Lade Docker-Images herunter

docker pull geerlingguy/docker-ubuntu2404-ansible:latest
docker pull geerlingguy/docker-ubuntu2204-ansible:latest
docker pull geerlingguy/docker-ubuntu2004-ansible:latest
docker pull geerlingguy/docker-debian11-ansible:latest
docker pull geerlingguy/docker-debian12-ansible:latest

Schritt 5: Installiere Ansible-Abhängigkeiten

ansible-galaxy collection install community.docker

Schritt 6: Führe den Molecule-Test aus

molecule test -s local

Wenn du keine Fehlermeldung bekommst, bedeutet das, dass die Tests erfolgreich ohne Fehler ausgeführt wurden.

ProTip: Verwende molecule test --destroy=never, um nachfolgende Testläufe zu beschleunigen.

Über das Projekt

Role to install and upgrade OpenWISP WiFi Login Pages

Installieren
ansible-galaxy install openwisp.wifi_login_pages
Lizenz
Unknown
Downloads
688
Besitzer
Modular and Programmable Open Source Network Management System for Linux OpenWrt.