beAV Pro - Installationsanleitung

Version 1.0 | Stand: 2026-02-22

Installationsanleitung für Administratoren

ℹ️Für wen ist diese Anleitung?

Diese Anleitung richtet sich an System-Administratoren, die beAV Pro auf einem Webserver installieren möchten. Grundkenntnisse in Webserver-Administration, PHP und MySQL/MariaDB werden vorausgesetzt.

beAV Pro wird als ZIP-Archiv ausgeliefert und muss manuell auf Ihrem Webserver installiert werden. Die Installation erfolgt in zwei Phasen:

  1. Manuelle Einrichtung: Dateien entpacken, Verzeichnisstruktur aufbauen, Datenbank vorbereiten
  2. Web-Installer: Konfiguration über den Browser (5 Schritte)

🗄️Ist auf dem Rechner bereits eine Datenbank eingerichtet?

Diese Anleitung setzt einen laufenden Datenbankserver voraus (MySQL 8.0+ oder MariaDB 10.6+) und erklärt seine Installation nicht.

Unter Windows ist noch keiner vorhanden? Dann arbeiten Sie zuerst die Anleitung MariaDB 11.4 unter Windows einrichten ab. Sie führt von der Installation bis zur fertig angelegten Datenbank samt Benutzer — also bis genau zu dem Punkt, an dem Schritt 3 dieser Anleitung endet. Anschließend kehren Sie hierher zurück und beginnen bei Schritt 1.


Vor der Installation

Systemanforderungen

⚠️Wichtig!

Stellen Sie sicher, dass Ihr System die Mindestanforderungen aus der folgenden Tabelle erfüllt, bevor Sie mit der Installation beginnen. Jede Zeile nennt den Befehl, mit dem sich die Anforderung prüfen lässt.

Komponente Anforderung Prüfung
Webserver Apache 2.4+ oder nginx
Noch kein Webserver unter Windows? → Apache und PHP unter Windows einrichten
apache2 -v oder nginx -v
PHP Version 8.1 oder höher php -v
PHP-Extensions pdo_mysql, mbstring, json, curl php -m | grep -E "pdo_mysql|mbstring|json|curl"
Datenbank MySQL 8.0+ oder MariaDB 10.6+
Noch keine Datenbank vorhanden? → MariaDB 11.4 unter Windows einrichten
mysql --version
HTTPS SSL-Zertifikat (für PWA erforderlich) Zertifikat installieren (z.B. Let's Encrypt)
Internet Zugriff auf kunden.beav-web.de curl -I https://kunden.beav-web.de
CA-Bundle
Wurzelzertifikate für PHP
PHP muss gesicherte Verbindungen prüfen können.
Bei Windows-Eigeninstallationen nicht automatisch vorhanden → siehe Kasten unten
siehe Prüfung unten

🔴Ohne CA-Bundle schlagen alle Updates fehl

PHP prüft unter Windows gesicherte Verbindungen über OpenSSL und nicht über die Zertifikatsverwaltung von Windows. OpenSSL braucht dafür eine eigene Liste vertrauenswürdiger Wurzelzertifikate. Fehlt sie, scheitert jede geprüfte Verbindung mit:

SSL certificate problem: unable to get local issuer certificate

Der Fehler bleibt leicht unbemerkt: Anmeldung, Datenbank und die gesamte tägliche Arbeit funktionieren einwandfrei. Nur die Update-Prüfung und der Update-Download scheitern — und das fällt erst auf, wenn das erste Update ansteht.

Prüfen — der Befehl muss OK ausgeben:

php -r "$c=curl_init('https://kunden.beav-web.de');curl_exec($c);echo curl_error($c)?:'OK';"

Bei Miet-Webspace ist das in aller Regel bereits eingerichtet — der Anbieter pflegt es. Erscheint dort ein Fehler, ist das ein Fall für dessen Support.

Bei eigenem Windows-Server ist es Ihre Aufgabe. Die Datei von https://curl.se/ca/cacert.pem laden, ablegen und in der php.ini eintragen:

[curl]
curl.cainfo = "C:\php\cacert.pem"

[openssl]
openssl.cafile = "C:\php\cacert.pem"

Danach den Webserver neu starten. Die vollständige Beschreibung mitsamt Fehlersuche steht in der Anleitung „Apache und PHP unter Windows einrichten".

Diese Datei altert und wird von niemandem für Sie erneuert. Sie steckt in keinem Paket — weder Apache noch PHP noch Windows-Update bringen sie mit, und auch ein PHP-Update tauscht sie nicht aus. Planen Sie den Austausch einmal jährlich ein: dieselbe Adresse, gleicher Ort, gleicher Dateiname, keine weitere Änderung nötig.

Installations-Checkliste

Bereiten Sie folgende Informationen vor:


Verzeichnisstruktur - Kritischer Sicherheitshinweis

🔴Sicherheitskritischer Hinweis - Unbedingt beachten

Die config.php Datei enthält Datenbank-Zugangsdaten und darf keinesfalls über das Web erreichbar sein.

Platzieren Sie das config/ Verzeichnis AUSSERHALB des Webroots.

Warum config/ außerhalb des Webroots?

Die config.php enthält hochsensible Informationen:

Wenn die config.php im Webroot liegt, besteht das Risiko, dass ein Angreifer:

✅Sichere Verzeichnisstruktur

Durch die Platzierung außerhalb des Webroots ist die Datei über HTTP/HTTPS niemals erreichbar, unabhängig von Fehlkonfigurationen.

Empfohlene Verzeichnisstruktur

Windows (XAMPP)

Windows - Empfohlene Struktur
C:\xampp\htdocs\beav\
├── web\                 ← WEBROOT (DocumentRoot zeigt hierhin)
│   ├── index.php
│   ├── install.php
│   ├── login.php
│   ├── includes\
│   ├── mobile\
│   └── ...
└── config\              ← AUSSERHALB des Webroots!
    └── config.php       ← Datenbank-Zugangsdaten (GESCHÜTZT!)

Linux (Debian/Ubuntu)

Linux - Empfohlene Struktur
/var/www/beav/
├── web/                 ← WEBROOT (DocumentRoot zeigt hierhin)
│   ├── index.php
│   ├── install.php
│   ├── login.php
│   ├── includes/
│   ├── mobile/
│   └── ...
└── config/              ← AUSSERHALB des Webroots!
    └── config.php       ← Datenbank-Zugangsdaten (GESCHÜTZT!)

Webhosting (Shared Hosting)

Shared Hosting - Korrekte Struktur
/home/username/
├── config/              ← MUSS "config" heißen (Code sucht ../config/)
│   └── config.php       ← Geschützt, AUSSERHALB von public_html!
└── public_html/         ← WEBROOT (oder htdocs, www, html)
    ├── index.php
    ├── install.php
    ├── login.php
    ├── includes/
    ├── mobile/
    └── ...

🔴Wichtiger Hinweis - Verzeichnisname ist vorgegeben

Der Code sucht zwingend nach ../config/config.php - das Verzeichnis muss exakt config heißen.

Bitte nicht umbenennen in: beav-config, configuration, cfg etc.

❌Nicht empfohlene Struktur - Bitte vermeiden

C:\xampp\htdocs\beav\    ← WEBROOT
├── index.php
├── install.php
├── config\              ← ❌ IM WEBROOT = GEFAHR!
│   └── config.php       ← ❌ ÜBER WEB ERREICHBAR!
└── ...

Diese Struktur ist unsicher und sollte nicht verwendet werden.


Installation - Schritt für Schritt

1ZIP-Archiv entpacken

Entpacken Sie das beAV Pro ZIP-Archiv in ein temporäres Verzeichnis auf Ihrem Computer.

Windows

  • Rechtsklick auf beAV-Pro-v1.0.zip
  • "Alle extrahieren..." → Zielordner wählen

Linux/macOS

unzip beAV-Pro-v1.0.zip -d /tmp/beav-install

Inhalt des ZIP-Archivs:

beAV-Pro/
├── App/
│   ├── config/
│   │   └── config.php.example.php
│   └── web/
│       ├── index.php
│       ├── install.php
│       ├── includes/
│       ├── mobile/
│       ├── docs/
│       │   ├── dokumentation.html
│       │   ├── dokumentation_zeiterfassung.html
│       │   ├── mariadb_installation.html
│       │   ├── apache_php_installation.html
│       │   └── Installationsanleitung.html (diese Datei)
│       └── ...

2Verzeichnisse auf Server erstellen

Windows (XAMPP)

mkdir C:\xampp\htdocs\beav
mkdir C:\xampp\htdocs\beav\web
mkdir C:\xampp\htdocs\beav\config

Linux

sudo mkdir -p /var/www/beav/web
sudo mkdir -p /var/www/beav/config

# Rechte setzen
sudo chown -R www-data:www-data /var/www/beav
sudo chmod 755 /var/www/beav
sudo chmod 755 /var/www/beav/config

Dateien hochladen

Kopieren Sie nun die Dateien aus dem entpackten Archiv:

  • App/web/* → /var/www/beav/web/ (WEBROOT)
  • App/config/* → /var/www/beav/config/ (AUSSERHALB)

Via FTP/SFTP: Verwenden Sie FileZilla, WinSCP oder Cyberduck

Via SSH: Nutzen Sie scp oder rsync

Schreibrechte prüfen

Das config/ Verzeichnis benötigt Schreibrechte für den Webserver:

# Linux - Test
sudo -u www-data touch /var/www/beav/config/test.txt
sudo -u www-data rm /var/www/beav/config/test.txt
# Kein Fehler = OK

# Windows - Rechte über Ordner-Eigenschaften → Sicherheit prüfen

3Datenbank vorbereiten

ℹ️Windows ohne vorhandene Datenbank?

Dieser Schritt setzt einen laufenden Datenbankserver voraus. Ist auf dem Rechner noch keiner installiert, führt Sie die Anleitung MariaDB 11.4 unter Windows einrichten von der Installation bis zu genau diesem Punkt — Datenbank und Benutzer sind danach fertig angelegt, und Sie fahren hier mit Schritt 4 fort.

Erstellen Sie eine leere MySQL/MariaDB-Datenbank:

Via phpMyAdmin

  1. phpMyAdmin öffnen
  2. "Neu" → Datenbankname eingeben (z.B. beav_db)
  3. Zeichensatz: utf8mb4_unicode_ci (WICHTIG!)
  4. "Anlegen" klicken

Via MySQL-Kommandozeile

mysql -u root -p

CREATE DATABASE beav_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

CREATE USER 'beav_user'@'localhost' IDENTIFIED BY 'sicheres_passwort';

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, INDEX
ON beav_db.* TO 'beav_user'@'localhost';

FLUSH PRIVILEGES;

EXIT;

⚠️Character Set muss utf8mb4 sein

beAV Pro benötigt zwingend utf8mb4 für Emojis, Umlaute und Sonderzeichen. utf8 (ohne mb4) ist nicht ausreichend.

4Webserver konfigurieren

Konfigurieren Sie Ihren Webserver so, dass der DocumentRoot auf das web/ Verzeichnis zeigt.

Apache - VirtualHost (Empfohlen)

Apache VirtualHost Konfiguration
<VirtualHost *:80>
    ServerName beav.example.com
    DocumentRoot "C:/xampp/htdocs/beav/web"
    # oder: /var/www/beav/web

    <Directory "C:/xampp/htdocs/beav/web">
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog "logs/beav-error.log"
    CustomLog "logs/beav-access.log" combined
</VirtualHost>

# HTTPS (für PWA erforderlich)
<VirtualHost *:443>
    ServerName beav.example.com
    DocumentRoot "C:/xampp/htdocs/beav/web"

    SSLEngine on
    SSLCertificateFile "/path/to/cert.pem"
    SSLCertificateKeyFile "/path/to/privkey.pem"

    <Directory "C:/xampp/htdocs/beav/web">
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

nginx

nginx Server Block
server {
    listen 80;
    listen [::]:80;
    server_name beav.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name beav.example.com;

    ssl_certificate /path/to/fullchain.pem;
    ssl_certificate_key /path/to/privkey.pem;

    root /var/www/beav/web;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

Webserver neu starten

# Apache
sudo systemctl restart apache2

# nginx
sudo systemctl restart nginx

# Windows XAMPP - Apache Control Panel → Stop/Start

✅Test

Öffnen Sie im Browser: http://beav.example.com
Sie sollten automatisch zu install.php weitergeleitet werden.

5Web-Installer starten

Öffnen Sie Ihren Browser und navigieren Sie zu:

https://ihre-domain.de/install.php

Der Web-Installer führt Sie durch 5 Schritte. Details dazu finden Sie im nächsten Abschnitt.


Web-Installer - Die 5 Schritte im Detail

1Lizenzierung

Geben Sie die Lizenzdaten ein, die Sie beim Kauf erhalten haben:

  • E-Mail-Adresse: Die beim Kauf angegebene E-Mail
  • Lizenzschlüssel: Format XXXX-XXXX-XXXX-XXXX

Klicken Sie auf "Lizenz prüfen". Der Installer verbindet sich mit dem Lizenzserver und validiert Ihre Daten.

⚠️Internetverbindung erforderlich!

Für die Lizenzprüfung wird eine Verbindung zu kunden.beav-web.de benötigt. Stellen Sie sicher, dass Ihr Server ausgehende HTTPS-Verbindungen (Port 443) erlaubt.

Mögliche Fehlermeldungen:

  • "Lizenzschlüssel oder E-Mail nicht gefunden" → Daten prüfen
  • "Diese Lizenz wurde gesperrt" → Support kontaktieren
  • "Maximale Anzahl an Installationen erreicht" → Support kontaktieren
  • "Lizenzserver nicht erreichbar" → Firewall/Internetverbindung prüfen

2Datenbank-Verbindung

Geben Sie die Zugangsdaten Ihrer MySQL/MariaDB-Datenbank ein:

Host localhost oder 127.0.0.1
Bei externem DB-Server: IP oder Hostname
Datenbankname z.B. beav_db (wie in Schritt 3 erstellt)
Benutzer z.B. beav_user
Passwort Das Datenbank-Passwort

Klicken Sie auf "Verbindung testen". Der Installer prüft:

  • Kann eine Verbindung zur Datenbank hergestellt werden?
  • Sind die Zugangsdaten korrekt?
  • Ist utf8mb4 verfügbar?

Mögliche Fehlermeldungen:

  • "Zugriff verweigert" → Benutzername/Passwort falsch
  • "Datenbank existiert nicht" → Datenbank in Schritt 3 erstellen
  • "Verbindung abgelehnt" → MySQL läuft nicht oder Host falsch

3Admin-Zugang anlegen

Erstellen Sie den ersten Administrator-Benutzer:

Benutzername Mindestens 3 Zeichen
z.B. admin oder administrator
Passwort Mindestens 8 Zeichen
Verwenden Sie ein sicheres Passwort!

🔐Sicheres Passwort verwenden!

Verwenden Sie ein starkes, einzigartiges Passwort mit:

  • Mindestens 12 Zeichen (empfohlen)
  • Groß- und Kleinbuchstaben
  • Zahlen und Sonderzeichen
  • Kein Wörterbuch-Wort

Nutzen Sie einen Passwort-Manager!

4Dateispeicher konfigurieren

Wählen Sie, wo Dokumente gespeichert werden sollen:

Option 1: Kein Speicher

  • ✅ Keine zusätzliche Konfiguration
  • ✅ Geeignet für reine Zeiterfassung
  • ❌ Keine Dokumentenverwaltung

Option 2: Lokaler Speicher (Empfohlen)

  • ✅ Einfache Einrichtung
  • ✅ Schneller Zugriff
  • ✅ Einfaches Backup

Erforderlich: Schreibbares Verzeichnis auf dem Server

Beispiel:

  • Windows: E:/beav-storage
  • Linux: /var/beav-storage

⚠️Storage außerhalb des Webroots

Aus Sicherheitsgründen sollte der Storage-Pfad nicht im Webroot liegen.

Klicken Sie auf "Speicher testen" - der Installer prüft Schreibrechte.

🔴Kritischer Hinweis - Datei- und Ordnerrechte

beAV legt Storage-Ordner dynamisch an (z.B. pro Benutzer, Auftrag, etc.). Die Ordnernamen und der Zeitpunkt der Erstellung sind im Voraus nicht bekannt.

Unterordner-Struktur:
Innerhalb jedes beAV-Objektordners existieren zwei Unterordner:

  • intern/ → vertrauliche Dokumente (z.B. Personalakten)
  • public/ → allgemein freigegebene Dokumente

Wichtig: Die Zugriffskontrolle bei direktem Dateisystem-Zugriff (z.B. im Notfall ohne beAV) erfolgt ausschließlich über System- bzw. Share-Rechte.

Der Systemadministrator muss sicherstellen, dass:

  • ❗ Alle Ordner mit dem Namen intern systemseitig restriktiv gesetzt sind
  • ❗ Normale Benutzer keine Leserechte auf "intern"-Ordner besitzen
  • ❗ Nur explizit berechtigte Benutzer/Gruppen Zugriff auf "intern" haben
  • ❗ Die Rechte auf Unterordner und Dateien vererbt werden

Wichtiger Hinweis: beAV setzt oder ändert keine Systemrechte.
Benutzer mit System-Leserechten auf "intern" können diese Dateien jederzeit lesen, unabhängig von den in beAV konfigurierten Zugriffsrechten.

Beispiel (Windows - NTFS):

  1. Ordner-Eigenschaften → Sicherheit
  2. Vererbung deaktivieren für "intern"-Ordner
  3. Nur Administratoren + spezielle Gruppe Zugriff gewähren
  4. Normale Benutzer explizit entfernen

Beispiel (Linux):

# Alle "intern"-Ordner finden und Rechte setzen
find /var/beav-storage -type d -name "intern" -exec chmod 750 {} \;
find /var/beav-storage -type d -name "intern" -exec chown root:beav-confidential {} \;

# Nur Gruppe "beav-confidential" kann lesen

Option 3: WebDAV (Enterprise)

  • ✅ Zentrale Verwaltung
  • ✅ Zugriff von mehreren Servern
  • ✅ Externe Backups möglich

Erforderlich: WebDAV-Server (Nextcloud, Synology, etc.)

Konfiguration:

  • WebDAV-URL (z.B. https://cloud.example.com/webdav/)
  • Basispfad (optional, z.B. beav-storage)
  • Authentifizierung (Basic/Digest/NTLM)
  • Benutzername + Passwort

⚠️HTTPS/SSL erforderlich

Die WebDAV-Implementierung in beAV Pro erzwingt SSL-Verifikation. Verwenden Sie ausschließlich HTTPS-Verbindungen (z.B. https://cloud.example.com/webdav/). Unverschlüsselte HTTP-Verbindungen werden nicht unterstützt.

Option 4: Amazon S3 (Cloud)

  • ✅ Unbegrenzte Skalierbarkeit
  • ✅ Hochverfügbar und redundant
  • ✅ Automatische Backups (je nach Anbieter)
  • ✅ S3-kompatible Anbieter (AWS, MinIO, Wasabi, Backblaze, etc.)
  • ❌ Erfordert Internetverbindung (bei Cloud-Anbietern)

Erforderlich: S3-kompatibler Storage-Service

Konfiguration:

  • S3-Endpoint (z.B. s3.amazonaws.com oder localhost:9000 für MinIO)
  • Bucket-Name (z.B. beav-storage)
  • Region (z.B. eu-central-1 oder us-east-1)
  • Access Key ID (AWS-Zugriffsschlüssel)
  • Secret Access Key (AWS-Geheimschlüssel)

💡S3-kompatible Alternativen

Neben Amazon S3 können Sie auch andere S3-kompatible Services verwenden. Beispiele:

  • MinIO: Self-hosted, Open Source (lokal oder auf eigenem Server)
  • Impossible Cloud: Deutscher Anbieter, dezentralisierte Cloud-Infrastruktur, S3-kompatibel
  • Hetzner Storage Box: Deutsche Server, S3-kompatibel, günstiger Speicher
  • Ionos S3 Object Storage: Deutsche Rechenzentren, DSGVO-konform
  • Contabo Object Storage: Europäische Server, günstiger S3-kompatibler Storage
  • Wasabi: Günstiger Cloud-Storage ohne Egress-Gebühren
  • Backblaze B2: Kosteneffiziente Alternative zu AWS S3
  • DigitalOcean Spaces: Einfaches S3-kompatibles Storage
  • ...und viele weitere S3-kompatible Anbieter

⚠️HTTPS/SSL erforderlich bei Cloud-Anbietern

Bei Verwendung von Cloud-Storage (AWS, Wasabi, etc.) werden Ihre Dokumente über das Internet übertragen. Die S3-Implementierung in beAV Pro erzwingt SSL-Verifikation - unverschlüsselte Verbindungen werden nicht unterstützt.

5Bestätigungen & Installation

Im letzten Schritt müssen Sie zwei wichtige Bestätigungen akzeptieren:

1️⃣ Betreiber-Pflichten

⚠️Wichtiger Hinweis - Ihre Verantwortung als Betreiber

Sie bestätigen die Verantwortung für:

  • Installation, Betrieb, Wartung
  • Datensicherung (Backups)
    • Empfehlung: Täglich Datenbank sichern
    • Empfehlung: Wöchentlich Storage sichern
    • Wiederherstellung testen!
  • IT-Sicherheit
    • Firewall konfigurieren
    • Starke Passwörter verwenden
    • Betriebssystem, PHP, MySQL aktuell halten
    • Sicherheitsupdates innerhalb 14 Tagen installieren
  • Dateisystem-Rechte
    • Alle Ordner mit Namen "intern" müssen systemseitig geschützt sein
    • Nur berechtigte Benutzer dürfen auf "intern"-Ordner zugreifen
    • beAV setzt keine Systemrechte automatisch
  • Netzwerk-Sicherheit
    • Bei Zugriff von außen: HTTPS erforderlich
    • Optional: VPN für zusätzliche Sicherheit

2️⃣ AGB & DSGVO

⚠️Wichtige rechtliche Hinweise

Sie bestätigen:

  • DSGVO-Verantwortlicher: Sie sind alleiniger Verantwortlicher für alle Daten in beAV
  • Keine Gewähr: Alle Berechnungen/Auswertungen sind ohne Gewähr - eigenverantwortlich prüfen!
  • Datensicherung: Der Anbieter haftet nicht für Datenverluste ohne ordnungsgemäße Backups
  • Keine Rechtsberatung: Die Software ersetzt keine fachkundige Beratung (Steuer, Recht, Buchhaltung)

Lesen Sie die AGB und Datenschutzhinweise vollständig durch (Links im Installer)!


Installation starten

Nach Akzeptieren der Bestätigungen startet die automatische Installation:

  1. config/config.php wird erstellt
  2. Datenbank-Tabellen werden angelegt (via ensure_db.php)
  3. Admin-Benutzer wird erstellt
  4. Storage-Unterordner werden angelegt (falls Local/WebDAV)
  5. Lizenz wird auf dem Server aktiviert
  6. HTTPS-Erzwingung wird aktiviert (falls über HTTPS installiert)

✅Installation erfolgreich!

Sie werden automatisch zu login.php weitergeleitet.
Melden Sie sich mit Ihren Admin-Zugangsdaten an.


Nach der Installation

Sicherheits-Checkliste

Erste Schritte

  1. Personal anlegen (Verwaltung → Personal)
  2. Baustellen anlegen (Wochenplaner)
  3. Zeiterfassung testen (Desktop + Mobile PWA)
  4. Dokumente hochladen (falls Storage aktiviert)

Mobile PWA installieren

Öffnen Sie auf dem Mobilgerät:

https://ihre-domain.de/mobile/app.php

Der Browser bietet dann die Installation als App an ("Zum Startbildschirm hinzufügen").


Troubleshooting - Häufige Probleme

Problem: "config.php konnte nicht geschrieben werden"

Ursache: Fehlende Schreibrechte auf config/ Verzeichnis

Lösung:

# Linux
sudo chown www-data:www-data /var/www/beav/config
sudo chmod 755 /var/www/beav/config

# Test
sudo -u www-data touch /var/www/beav/config/test.txt

Problem: "Extension pdo_mysql nicht gefunden"

Ursache: PHP MySQL-Extension nicht installiert

Lösung:

# Debian/Ubuntu
sudo apt-get install php8.1-mysql
sudo systemctl restart apache2

# RHEL/CentOS
sudo yum install php-mysqlnd
sudo systemctl restart httpd

Problem: "Datenbankverbindung fehlgeschlagen"

Mögliche Ursachen:

Problem: Update-Prüfung meldet unable to get local issuer certificate

Ursache: Das CA-Bundle fehlt oder ist in der php.ini nicht eingetragen. PHP nutzt unter Windows OpenSSL und nicht die Zertifikatsverwaltung von Windows.

Typisches Bild: Anmeldung, Datenbank und der gesamte tägliche Betrieb funktionieren; nur Update-Prüfung und Update-Download scheitern.

Lösung: siehe Systemanforderungen → CA-Bundle

Problem: "Lizenzserver nicht erreichbar"

Ursache: Keine Internetverbindung oder Firewall blockiert

Lösung:

# Test
curl -I https://kunden.beav-web.de/license_api

# Firewall ausgehende HTTPS erlauben (Port 443)

Problem: "Service Worker registriert sich nicht" (PWA)

Ursache: Kein HTTPS oder Browser-Kompatibilität

Lösung:

Problem: "Änderungen werden nicht angezeigt" (Mobile)

Ursache: Service Worker Cache

Lösung:


Support & Dokumentation

Weitere Dokumentation

Support kontaktieren

Bei Problemen wenden Sie sich an:

💡Tipp

Bereiten Sie folgende Informationen vor:

  • Ihre Lizenzdaten (E-Mail + Lizenzschlüssel)
  • PHP-Version (php -v)
  • MySQL-Version (mysql --version)
  • Fehlermeldung (Screenshot oder Text)
  • Betriebssystem (Windows, Linux, etc.)

© 2026 Bernd Eller - beAV Pro
Installationsanleitung Version 1.0 | Stand: 2026-02-22