Ein-Klick-Installer für Exponential
Diese Seite ist für Hosting-Anbieter, die möchten, dass Kunden mit einem Klick in ihrem Panel oder Bestellformular eine Exponential-Website bekommen. Sie beantwortet: was Exponential für unbeaufsichtigte Installationen bereits bereitstellt, auf welcher Oberfläche Sie aufbauen und was Ihr Klick drumherum tun muss.
Inhalt
- Ein Installer, drei Oberflächen
- Welche Oberfläche für welches Angebot
- Was der eine Klick tun muss
- Sicherheitsregeln
- Was der Kunde erhält
Ein Installer, drei Oberflächen
Jede Installationsmethode führt dieselbe Folge von Schrittklassen in kernel/setup/steps/ aus, von Welcome bis Final; CreateSites
ist der Schritt, der die Datenbank, die Pakete und die Einstellungen schreibt. Die Oberflächen unterscheiden sich nur darin, woher die
Antworten kommen (4.1):
| Setup-Assistent | Kickstarter | exp:install | |
|---|---|---|---|
| Antworten aus | Formularen im Browser | kickstart.ini | Kommandozeilenoptionen, jede mit einem Standard |
| Braucht während der Installation einen Webserver | ja | nein | nein |
| Probelauf | nein | run --dry-run | --dry-run, --print |
| Schutz gegen Überschreiben | startet nur, solange CheckValidity=true | --force erforderlich | verweigert eine bestehende Installation ohne --force |
| Log | var/log/setup.log | setup.log, kickstart.log | setup.log, var/log/exp-install-<date>.ini |
| Administratorpasswort | im Formular eingegeben | aus der Datei; erzeugt, wenn leer oder bekannt | erzeugt, sofern kein annehmbares --password angegeben ist |
Quelle: 4.2.
Welche Oberfläche für welches Angebot
| Angebot | Oberfläche | Warum |
|---|---|---|
| Eine Schaltfläche im Panel, die die Website anlegt | exp:install | Bevorzugen Sie exp:install in der Automatisierung: Es braucht keine Datei, prüft seine Optionen, bevor etwas geschrieben wird, und gibt bei jedem Fehler einen Exit-Status ungleich null zurück (4.6) |
| Vorlagen, die Sie pflegen („Starter-Website für Agenturen“) | der Kickstarter | die geprüfte kickstart.ini ist die Spezifikation der Installation |
| Kunden auf Shared Hosting ohne Shell | der Setup-Assistent | braucht nur einen Browser; kann durch eine kickstart.ini vorgefüllt werden |
| Container-Images | exp:install im Entry Point, einmal ausgeführt | siehe Container: Docker und Podman |
Was der eine Klick tun muss
Exponential installiert die Website. Ihr Installer erledigt alles drumherum:
Das Konto vorbereiten: ein Systembenutzer, ein Home-Verzeichnis, ein PHP-FPM-Pool oder eine Velocity-Instanz für die Website (Benutzer und Pools pro Kunde).
Die Datenbank vorbereiten: nichts für SQLite 3 (der Standard; ein beschreibbares
var/storage/sqlite3/genügt); für eine Server-Engine eine leere Datenbank und einen Benutzer, der Tabellen anlegen darf (Datenbanken und Benutzer in Panels).Den Code an seinen Platz bringen: einen Git-Checkout eines Release-Tags oder
composer create-project/composer installaus einer getesteten Lock-Datei (Composer und Git auf Servern).Den Installer als Benutzer der Website ausführen, nie als root:
sudo -u <site user> env EXP_INSTALL_DB_PASSWORD='<from your secret store>' \ php bin/php/console exp:install --dry-run --db=pgsql --db-user=<db user> --url=https://www.example.com sudo -u <site user> env EXP_INSTALL_DB_PASSWORD='<from your secret store>' \ php bin/php/console exp:install --apply --db=pgsql --db-user=<db user> --url=https://www.example.com \ --email=<customer contact>Die Website ausliefern: den Webserver darauf richten oder Velocity starten (Einen Webserver wählen).
Die Crontab einrichten für
runcronjobs.php(Cronjobs).Das Passwort übergeben:
var/log/initial-admin-passwordeinmal lesen, dem Kunden über einen sicheren Kanal geben und die Datei löschen; oder das Passwort mit--password=aus Ihrem Geheimnisspeicher setzen.Die Website registrieren in Backups und Überwachung.
Jeder Schritt ist in Bereitstellung automatisieren beschrieben.
Sicherheitsregeln
- Richten Sie
--db-action=removenie auf eine Datenbank, die Daten enthält. Es ist der Standard vonexp:installund leert die Datenbank zuerst (7.3). Ein Ein-Klick-Installer sollte jedes Mal eine neue, leere Datenbank anlegen. - Halten Sie Geheimnisse von der Kommandozeile fern. Nutzen Sie
EXP_INSTALL_DB_PASSWORDstatt--db-password; eine Option ist für jeden Benutzer der Maschine in der Prozessliste (ps) sichtbar, solange die Installation läuft. - Als Benutzer der Website ausführen. Dateien, die
rootanlegt, kann der Webserver später nicht ändern. - Prüfen Sie den Exit-Status.
0installiert,1etwas ist gescheitert; bei einem Fehler bleibt der Wartungsmodus an, undvar/log/setup.logsagt, warum (7.7). - Lassen Sie keine Installationsdateien zurück. Eine
kickstart.inienthält Passwörter im Klartext; entfernen Sie sie nach der Installation, da der Assistent sie bei einem späteren Lauf lesen würde.
Was der Kunde erhält
- Die Adresse der Website und die Adresse der Administration (über die URL
/admin, über den Host oder über den Port, je nach--access). - Die Anmeldung
admindes Administrators und sein Passwort, einmal; den Rat, es zu ändern und persönliche Konten anzulegen (Erste Anmeldung und Standardpasswörter). - Das Seitenpaket, das Sie gewählt haben, mit oder ohne Demo-Inhalte (Seitenpakete).
- Einen Link zur Hilfe: das Hilfe-Center in seiner Administration.
Verwandte Seiten
- exp:install
- Der Kickstarter
- Lizenzierung für Hoster (Images und Installer, die Sie weitergeben)
- 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.