53 lines
5.0 KiB
HTML
53 lines
5.0 KiB
HTML
<h1>Installation und erste Schritte</h1>
|
|
|
|
<h2>Voraussetzungen</h2>
|
|
<ul>
|
|
<li>PHP 8.2 oder neuer</li>
|
|
<li>Eine MySQL-Datenbank (für kleine Installationen und Tests genügt SQLite)</li>
|
|
<li>PHP-Erweiterung <code>imap</code>, wenn E-Mails automatisch abgerufen werden sollen</li>
|
|
<li>PHP-Erweiterung <code>zip</code> für Theme-Upload, Plugin-Installation und System-Update per ZIP</li>
|
|
<li>Empfohlen: <code>curl</code>, <code>openssl</code> und HTTPS</li>
|
|
</ul>
|
|
|
|
<h2>Der Installationsassistent</h2>
|
|
<ol class="steps">
|
|
<li>Alle DeskHub-Dateien auf den Server hochladen (zum Beispiel per FTP).</li>
|
|
<li>Im Browser <code>eure-domain.de/install/</code> aufrufen.</li>
|
|
<li>Dem Assistenten folgen: Datenbank-Zugangsdaten, Website-Name, erstes Admin-Konto.</li>
|
|
<li>Danach unter <code>eure-domain.de/staff/login.php</code> mit dem neuen Konto anmelden.</li>
|
|
</ol>
|
|
<p>Der Assistent prüft zuerst die Voraussetzungen (PHP-Version, Datenbanktreiber, <code>openssl</code>, beschreibbare Ordner). Das Admin-Passwort braucht mindestens 10 Zeichen mit Groß- und Kleinbuchstaben, Ziffer und Sonderzeichen. Zum Schluss spielt er alle Datenbank-Änderungen ein, erzeugt den Verschlüsselungsschlüssel und sperrt sich selbst. Fehler bei der Datenbankverbindung erklärt er verständlich (falsches Passwort, Server nicht erreichbar, Datenbank fehlt).</p>
|
|
<div class="warn">Löscht nach der Installation den Ordner <code>install</code> vom Server (oder sperrt ihn). Der Assistent überschreibt eine bestehende Installation nie: Existiert schon eine <code>config/config.php</code> mit Datenbank und Mitarbeiterkonten, meldet er „Bereits installiert“.</div>
|
|
|
|
<h2>Schnellstart: die ersten fünf Schritte</h2>
|
|
<p>Direkt nach der Installation läuft DeskHub, kann aber noch keine E-Mails verschicken oder abrufen. Arbeitet diese Liste einmal ab:</p>
|
|
<table>
|
|
<tr><th>#</th><th>Was</th><th>Wo</th><th>Warum</th></tr>
|
|
<tr><td>1</td><td>Abteilungen anlegen (z. B. „Technik“, „Vertrieb“)</td><td>Adminportal → Abteilungen</td><td>Jedes Ticket gehört zu genau einer Abteilung</td></tr>
|
|
<tr><td>2</td><td>SMTP einrichten (E-Mail-Versand)</td><td>Adminportal → Einstellungen → E-Mail</td><td>Damit Kunden Bestätigungen bekommen</td></tr>
|
|
<tr><td>3</td><td>Postfach einrichten (E-Mail-Abruf, optional)</td><td>Adminportal → Postfächer (Abruf)</td><td>Damit eingehende Mails zu Tickets werden</td></tr>
|
|
<tr><td>4</td><td>Automatisierung prüfen</td><td>Adminportal → Einstellungen → Cron-Jobs</td><td>Damit Versand, Abruf und Prüfungen von selbst laufen</td></tr>
|
|
<tr><td>5</td><td>Mitarbeiter anlegen</td><td>Adminportal → Mitarbeiter</td><td>Damit nicht nur ihr allein Tickets bearbeitet</td></tr>
|
|
</table>
|
|
|
|
<h2>Automatisierung (Cron-Jobs)</h2>
|
|
<p>Einige Aufgaben müssen regelmäßig von selbst laufen: E-Mail-Abruf (alle 5 Minuten), SLA-Prüfung (alle 15 Minuten), Eskalationsregeln (stündlich), wiederkehrende Tickets (täglich), Backups (nach Zeitplan), Datenanonymisierung (täglich), außerdem Wiedervorlagen, geplante Antworten, Berichtsversand und Mail-Warteschlange. Unter <b>Einstellungen → Cron-Jobs</b> gibt es drei Wege:</p>
|
|
<table>
|
|
<tr><th>Weg</th><th>Beschreibung</th></tr>
|
|
<tr><td><b>A: Hintergrund-Betrieb (Standard)</b></td><td>Von Anfang an aktiv. Sobald jemand die Website, das Backend oder eine App nutzt, prüft DeskHub, ob etwas fällig ist, und führt es aus. Reicht bei regelmäßigen Besuchern.</td></tr>
|
|
<tr><td><b>B: Echter Server-Cronjob</b></td><td>Mit eigenem Server und Shell-Zugriff trägt DeskHub per Klick auf „Jetzt installieren“ die nötigen Cronjobs selbst ein. Läuft zuverlässig zur exakten Zeit, auch nachts.</td></tr>
|
|
<tr><td><b>C: Manuell</b></td><td>Jede Aufgabe hat einen Knopf „Jetzt ausführen“.</td></tr>
|
|
</table>
|
|
<fig n="admin-einstellungen-cron">Einstellungen → Cron-Jobs: Aufgaben mit Zeitplan, letztem Lauf und „Jetzt ausführen“.</fig>
|
|
<div class="tip">Bei einem eigenen Server richtet Weg B ein und schaltet danach den eingebauten Ersatz ab: Lange Jobs (Backup, Mail-Abruf) belegen sonst einen Webserver-Prozess, und hinter Cloudflare kann das zur Fehlerseite „524“ führen.</div>
|
|
|
|
<h2>Betrieb absichern (Kurzfassung)</h2>
|
|
<ol>
|
|
<li><b>HTTPS</b> einrichten und die Website-URL in den Einstellungen auf <code>https://</code> stellen.</li>
|
|
<li><b>Interne Ordner sperren</b> (auf Apache erledigt die mitgelieferte <code>.htaccess</code> das; auf nginx tragt ihr die Regeln aus der README ein).</li>
|
|
<li>Hinter einem <b>Reverse-Proxy</b> (nginx, Traefik, Caddy, Cloudflare) die vertrauenswürdigen Proxys in der <code>config.php</code> eintragen, damit die echte Besucher-IP erkannt wird.</li>
|
|
<li>Den <b>Ordner <code>install/</code> löschen</b>, PHP-Fehleranzeige abschalten, <b>Zwei-Faktor-Anmeldung</b> für alle Administratoren aktivieren.</li>
|
|
<li><b>Backups</b> einrichten und prüfen, den Ordner <code>backups/</code> nie öffentlich machen.</li>
|
|
<li>Die <b>Sicherheitsprüfung</b> im Adminportal einmal ausführen (siehe Kapitel 17).</li>
|
|
</ol>
|