Installation¶
Dieses Kapitel beschreibt, wie Sie Fonaria auf einem Linux-Server installieren und die Weboberfläche zum ersten Mal öffnen.
Voraussetzungen¶
Server¶
- Ein Linux-Server, zum Beispiel Debian oder Ubuntu, physisch oder als virtuelle Maschine.
- Docker mit dem Compose-Plugin (
docker compose). - Eine feste IP-Adresse im lokalen Netz. Telefone melden sich unter dieser Adresse an. Ändert sie sich, finden die Telefone die Anlage nicht mehr.
- Zugang als
rootoder ein Benutzer mitsudo.
Ist Docker noch nicht installiert, geht das auf den meisten Systemen so:
curl -fsSL https://get.docker.com | sh
Ports¶
Fonaria braucht folgende Ports auf dem Server. Eine Firewall auf dem Server muss sie zulassen.
| Port | Protokoll | Wofür |
|---|---|---|
| 8080 (änderbar) | TCP | Weboberfläche und Desktop-Client |
| 5060 | UDP und TCP | SIP: Anmeldung der Telefone und der Amtsleitung |
| 5061 | TCP | SIP über TLS (verschlüsselt) |
| 8089 | TCP | WebSocket (WSS) für das Softphone im Desktop-Client |
| 10000–10200 | UDP | Sprachdaten (RTP), je Gespräch zwei Ports |
Die SIP-Ports, den WebSocket-Port und den RTP-Bereich können Sie später in der Weboberfläche ändern (Einstellungen → Anlage). Den Port der Weboberfläche legen Sie bei der Installation fest.
Asterisk im Host-Netz
Asterisk läuft direkt im Netz des Servers, ohne Weiterleitung durch Docker. Die Steuerschnittstellen von Asterisk sind von außen nicht erreichbar. Offen sind nur SIP, TLS, der WebSocket, der RTP-Bereich und die Weboberfläche.
Installieren¶
Melden Sie sich am Server an und führen Sie einen einzigen Befehl aus:
curl -fsSL https://download.example.de/install.sh | sudo bash
Das Skript erledigt Folgendes:
- Es prüft, ob Docker und Docker Compose vorhanden sind. Fehlt etwas, bricht es mit einem Hinweis ab.
- Es liest die aktuelle Version vom Download-Server.
- Es lädt das Installationspaket und prüft die Prüfsumme. Stimmt sie nicht, bricht es ab.
- Es entpackt Fonaria nach
/opt/fonaria. - Es startet
setup.shmit dem Update-Server. Das Setup- legt die Konfigurationsdatei
.envan, - erzeugt alle internen Passwörter (Datenbank, Asterisk) zufällig,
- lädt die fertigen Programm-Abbilder und startet die Container,
- nennt am Ende die Adresse für den Browser.
- legt die Konfigurationsdatei
Am Ende steht zum Beispiel:
Fertig. Weiter im Browser: http://192.168.1.10:8080
Dort startet der Einrichtungsassistent.
Installation anpassen¶
Zwei Einstellungen können Sie vor dem Start mitgeben:
| Variable | Bedeutung | Vorgabe |
|---|---|---|
FONARIA_WEB_PORT |
Port der Weboberfläche | 8080 |
FONARIA_ZIEL |
Installationsverzeichnis | /opt/fonaria |
Beispiel mit Port 80:
curl -fsSL https://download.example.de/install.sh | sudo FONARIA_WEB_PORT=80 bash
Die Datei .env nicht ändern
In /opt/fonaria/.env stehen die internen Passwörter. Die Datenbank wurde
beim ersten Start mit genau diesen Werten angelegt. Ändern Sie sie nicht.
Ein erneuter Aufruf von setup.sh lässt eine vorhandene .env
unangetastet.
Ist Fonaria in /opt/fonaria schon eingerichtet, bricht das
Installationsskript ab. Neue Versionen spielen Sie über die Weboberfläche ein
(siehe Updates und Sicherung).
Port der Weboberfläche später ändern¶
Der Web-Port ist die einzige Einstellung, die nicht in der Weboberfläche
steht. Ändern Sie ihn in /opt/fonaria/.env (Zeile WEB_PORT=) und starten
Sie danach die Container neu:
cd /opt/fonaria
sudo docker compose up -d
Die Weboberfläche zum ersten Mal öffnen¶
Öffnen Sie im Browser die Adresse, die das Setup genannt hat, etwa
http://192.168.1.10:8080.
Beim ersten Aufruf startet der Einrichtungsassistent. Dort legen Sie Firma, Administrator, Nummernraum und Öffnungszeiten fest. Das beschreibt das nächste Kapitel: Einrichtungsassistent.
Meldet die Anmeldeseite „Die Anlage antwortet noch nicht“, startet sie noch. Die Seite versucht es alle paar Sekunden von selbst. Dauert es länger als zwei Minuten, sehen Sie auf dem Server nach:
cd /opt/fonaria
sudo docker compose logs backend
Router und NAT¶
Steht ein Router zwischen der Anlage und dem Internet (der Normalfall im Büro), muss Asterisk die öffentliche Adresse dieses Routers kennen. Sonst schreibt Asterisk seine private IP in jedes Gespräch nach draußen, und über die Amtsleitung hört keine Seite etwas.
So tragen Sie die Adresse ein:
- Öffnen Sie Einstellungen und dort den Reiter Anlage.
- Im Abschnitt Router und NAT klicken Sie neben Öffentliche Adresse auf Erkennen. Die Anlage fragt per STUN, unter welcher IPv4-Adresse sie im Internet erscheint, und trägt sie ein.
- Klicken Sie auf Speichern.
Haben Sie keine feste öffentliche IP, tragen Sie stattdessen einen DynDNS-Namen ein. Die Anlage prüft ihn alle fünf Minuten. Zeigt er auf eine neue IP, startet Asterisk neu. Der Name muss auch im lokalen Netz auf die öffentliche IP zeigen.
Asterisk-Neustart
Wenn Sie Adresse oder Ports unter Einstellungen → Anlage speichern, startet Asterisk neu. Laufende Gespräche werden dabei getrennt. Die Oberfläche fragt vorher nach.
Muss ich Ports am Router weiterleiten?¶
- Für die Amtsleitung meist nicht. Die Anlage meldet sich selbst beim Anbieter an und hält die Verbindung offen. Wichtig ist nur die richtige öffentliche Adresse.
- Für Telefone außer Haus ja. Sollen sich Telefone oder Softphones von unterwegs anmelden, leiten Sie am Router SIP (5060 UDP/TCP), TLS (5061), den WebSocket (8089) und den RTP-Bereich (10000–10200 UDP) an den Server weiter. Hängt die Anlage hinter zwei Routern, auf beiden.
- Ohne eigene öffentliche IPv4 (DS-Lite, CGNAT) erreichen Telefone von außen die Anlage nur per VPN. Die Amtsleitung funktioniert trotzdem.
Netze, die als „drinnen“ gelten, erkennt die Anlage selbst: die privaten
Bereiche (10/8, 172.16/12, 192.168/16) und jedes Netz, an dem der Server
direkt hängt. Ein weiterer Standort über VPN gehört in das Feld Weitere
lokale Netze, ein Netz je Zeile, zum Beispiel 10.8.0.0/24.
Softphone unterwegs (TURN)¶
In Mobilfunk- und Hotelnetzen findet das Softphone oft keinen Weg für den Ton: Das Gespräch steht, aber es ist still. Dafür können Sie unter Einstellungen → Anlage → Softphone unterwegs einen TURN-Server mit Benutzer und Passwort eintragen. Jedes Softphone bekommt diese Zugangsdaten. Verwenden Sie deshalb einen eigenen TURN-Zugang nur für die Anlage.
Weitere Einstellungen¶
Unter Einstellungen finden Sie außerdem:
- Allgemein: Firmenname, Landesvorwahl (ohne führende Nullen, etwa
49) und Ortsvorwahl (etwa441). Die Vorwahlen nutzt die Anlage, um Rufnummern umzurechnen und Felder vorzubelegen. - Anlage: Hostname oder IP der Anlage, SIP-Ports, RTP-Bereich, Router und NAT, TURN.
- E-Mail: Mailserver für Benachrichtigungen und Faxweiterleitung. Tragen Sie Server, Verschlüsselung, Port, Benutzername, Passwort und Absender ein. Mit Testnachricht prüfen Sie die Einstellungen, bevor Sie speichern. Ohne Mailserver verschickt die Anlage keine E-Mails.
Zugang verloren?¶
Wer das Administratorpasswort vergessen hat, setzt es auf dem Server zurück:
cd /opt/fonaria
sudo docker compose exec backend python -m app.cli admins
sudo docker compose exec backend python -m app.cli passwort admin
Der erste Befehl zeigt alle Administratoren mit Benutzernamen. Der zweite
erzeugt ein neues Passwort für den Benutzer admin und zeigt es einmal an.
Bei der nächsten Anmeldung verlangt die Oberfläche ein eigenes Passwort.
Weitere Schalter für den zweiten Befehl:
| Schalter | Wirkung |
|---|---|
--eingeben |
Passwort selbst eintippen statt erzeugen (mindestens 10 Zeichen) |
--aktivieren |
Ein deaktiviertes Konto wieder einschalten |
--admin |
Dem Konto Administratorrechte geben |