Was das Hosting von Exponential umfasst
Diese Seite ist für Produktmanager und Systemadministratoren bei einem Hosting-Anbieter, die demnächst Hosting für Exponential anbieten und zuerst das Gesamtbild wollen. Sie beantwortet: was Exponential aus Sicht eines Servers ist, welche Teile der Hoster bereitstellt, was nach der Installation weiterläuft und wie die Arbeit zwischen Hoster und Kunde aufgeteilt werden kann. Die Details zu jedem Teil stehen auf den anderen Seiten der Grundlagen des Hostings.
Inhalt
- Exponential aus Sicht des Servers
- Die Teile, die ein Hoster bereitstellt
- Was nach der Installation weiterläuft
- Wie eine Website installiert wird
- Die Arbeit aufteilen: Möglichkeiten
- Checkliste
- Verwandte Seiten
Exponential aus Sicht des Servers
Exponential ist ein quelloffenes Content-Management-System, in PHP geschrieben und unter der GNU GPL veröffentlicht
(composer.json: "license": "GPL-2.0-or-later"). Es wird von 7x gepflegt (Wer ist 7x?) und führt
eine Codebasis fort, deren ursprüngliches Produkt sein Hersteller nach fast 18 Jahren eingestellt hat.
Für einen Server ist eine Installation:
- Reine PHP-Dateien in einem Verzeichnis (der Kernel,
lib/,extension/,design/,vendor/), mit einem Front-Controller,index.php, durch den jede Seitenanfrage geht (Kapitel 3). - Eine Datenbank: eine von sechs unterstützten Engines, standardmäßig SQLite 3, das überhaupt keinen Datenbankserver braucht (Datenbanken in der offiziellen Reihenfolge).
- Ein beschreibbarer Laufzeitbaum,
var/, mit Caches, Logs, hochgeladenen Dateien und Bildvarianten und (mit SQLite) der Datenbankdatei, dazusettings/override/undsettings/siteaccess/mit den eigenen Einstellungen der Installation. - Kommandozeilenwerkzeuge: die Konsole
bin/php/console, die Skripte inbin/php/undruncronjobs.php, das die regelmäßigen Jobs ausführt.
Es hat keinen eigenen kompilierten Code und läuft daher überall, wo ein unterstütztes PHP läuft (Betriebssysteme für Hoster).
Die Teile, die ein Hoster bereitstellt
| Teil | Was Exponential braucht | Seite |
|---|---|---|
| PHP für das Web | 8.0 oder später (einschließlich Velocity), mit den erforderlichen Erweiterungen | PHP-Versionen und Erweiterungen |
| PHP auf der Kommandozeile | dieselbe Version und dieselben Erweiterungen wie das Web-PHP | PHP-Versionen und Erweiterungen |
php.ini | die Werte, die der Installer prüft, bemessen für Uploads und Importe | PHP-Einstellungen für Exponential |
| Ein Webserver | Exponential Velocity (empfohlen), oder Apache, nginx oder ein anderer Server mit PHP-FPM | Einen Webserver wählen |
| Eine Datenbank | SQLite 3 braucht nur die Erweiterung sqlite3; die anderen brauchen einen Server und ein Konto | Datenbanken in der offiziellen Reihenfolge |
| Composer | um den Code und seine Erweiterungen zu installieren und zu aktualisieren | Composer und Git auf Servern |
| Beschreibbarer Speicher | var/ und settings/ für den Benutzer der Website beschreibbar | Beschreibbare Verzeichnisse und Berechtigungen |
| Cron | runcronjobs.php in regelmäßigen Abständen | Cronjobs |
| ein Weg zum Versenden: sendmail oder SMTP | Mailzustellung | |
| TLS | ein Zertifikat für jede Adresse der Website | TLS und HTTPS |
| Backups | die Datenbank und die Dateien, außerhalb der Maschine aufbewahrt | Was gesichert werden muss |
Hinweis Während einer Installation über die Kommandozeile (der Kickstarter oder
exp:install) ist kein Webserver nötig; der Setup-Assistent braucht einen, weil er im Browser läuft (Kapitel 2).
Was nach der Installation weiterläuft
Eine Exponential-Website ist nicht fertig, wenn der Installer endet. Diese Dinge laufen das ganze Leben der Website lang:
| Was | Warum | Wo es beschrieben ist |
|---|---|---|
| Cronjobs | Benachrichtigungen, Suchindizierung bei verzögerter Indizierung, Linkprüfungen, Bereinigung von Caches und Sitzungen | Kapitel 10, Cronjobs |
| Velocity, wenn er die Website ausliefert | ein lang laufender PHP-Serverprozess mit einem Pool von Workern | Velocity für Hoster |
| PHP-FPM, wenn Apache oder nginx die Website ausliefert | ein Pool pro Website ist üblich | Abstimmung von PHP-FPM |
| Ein Datenbankserver, außer bei SQLite | PostgreSQL, MongoDB, MariaDB, Oracle oder MySQL | die Seite der jeweiligen Datenbank |
| Logs | var/log/ und die eigenen Logs des Webservers wachsen und brauchen Rotation | Log-Viewer und Log-Rotation |
| Caches | var/cache/ wächst und wird nach Änderungen geleert | Caches leeren und vorwärmen |
Die Beispiel-Crontab in Kapitel 10 führt den Teil frequent alle
5 Minuten aus, den Standard-Teil alle 15 Minuten, infrequent stündlich und die Bereinigungsteile einmal pro Nacht, alle
aus der Crontab des Benutzers der Website.
Warnung Hosting, das lang laufende Prozesse verbietet, kann Velocity nicht ausführen; dort liefert Apache oder nginx mit PHP-FPM die Website aus. Hosting ohne Cron kann die regelmäßigen Jobs nicht ausführen, und Benachrichtigungen und verzögerte Suchindizierung finden dann nie statt. Entscheiden Sie beides, bevor Sie ein Angebot gestalten.
Wie eine Website installiert wird
Jede Installationsmethode führt dieselben Schritte des Installers aus; sie unterscheiden sich nur darin, woher die Antworten kommen (Kapitel 4):
| Methode | Antworten aus | Passt zu |
|---|---|---|
| Setup-Assistent | Formularen im Browser | Shared Hosting ohne Shell-Zugang |
| Kickstarter | einer Datei kickstart.ini | wiederholbaren Installationen, Bereitstellungsskripten |
Installation über die Konsole (exp:install) | Kommandozeilenoptionen | Automatisierung, Containern, Installationen mit einem Befehl |
Alle drei führen zuerst dieselben kritischen Systemtests aus und halten mit Ursache und Abhilfe an, wenn die Maschine
nicht bereit ist. Für einen Hosting-Anbieter sind der Kickstarter und exp:install die natürlichen Werkzeuge für die
automatische Bereitstellung; siehe Ein-Klick-Installer und
exp:install.
Die Arbeit aufteilen: Möglichkeiten
Das Repository schreibt nicht vor, wie ein Hoster und seine Kunden die Arbeit teilen. Dies sind die üblichen Möglichkeiten; wählen Sie pro Tarif, und schreiben Sie die Wahl in die Beschreibung des Tarifs.
| Aufgabe | Der Hoster übernimmt sie | Der Kunde übernimmt sie |
|---|---|---|
| Betriebssystem, PHP, Webserver, TLS | üblich in jedem Modell | nur auf nicht verwalteten Servern |
| Datenbankserver und Konten | üblich | auf einem eigenen Server des Kunden |
| Exponential installieren | als Bereitstellungsoption | mit dem Setup-Assistenten oder der Konsole |
| Exponential und Erweiterungen aktualisieren | als verwaltete Option (automatische Updates) | mit Composer oder der Erweiterung ezupdate |
| Cron | der Hoster richtet die Crontab ein | der Kunde, wo das Panel es erlaubt |
| Backups | üblich, mit Wiederherstellungstests | zusätzlich, für die eigene Kopie |
| Inhalte, Templates, eigene Erweiterungen | selten | üblich |
Tipp Halten Sie für jeden Tarif fest, welche dieser Zeilen wem gehört. Die meisten Support-Fragen zu Exponential-Websites kommen aus einer Zeile, die niemand für seine hielt: ein Cron, der nie eingerichtet wurde, oder ein PHP-Upgrade, das das PHP der Kommandozeile hinter dem Web-PHP zurückließ.
Checkliste
- To do: PHP 8.0 oder später (PHP 7.4 ohne Support nutzbar) für Web und Kommandozeile, in beiden dieselbe Version und dieselben Erweiterungen.
- To do:
sockets,pcntlundopensslin diesem PHP, wo Velocity angeboten wird. - To do: Ein Datenbankangebot aus der offiziellen Reihenfolge gewählt.
- To do:
var/undsettings/für den Benutzer der Website beschreibbar; ein Benutzer oder eine Gruppe für jeden Prozess. - To do: Cron verfügbar, um
runcronjobs.phpauszuführen. - To do: Mailversand konfiguriert (sendmail oder SMTP).
- To do: TLS für jede Adresse der Website.
- To do: Backups der Datenbank und der Dateien, mit einer getesteten Wiederherstellung.
- To do: Die Aufteilung der Arbeit in jedem Tarif festgehalten.
Verwandte Seiten
- Grundlagen des Hostings und Hosting-Anbieter: hier beginnen
- Anforderungen auf einen Blick
- Ein Hosting-Modell wählen
- Kapitel 2: Anforderungen und Kapitel 10: Nach der Installation
- Hosting, Datenbank und Betriebssystem wählen
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
Werden Sie Exponential-Partner
Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.