Der Kickstarter für Hoster
Diese Seite ist für Systemadministratoren, die dieselbe Art von Exponential-Website immer wieder installieren: die Standardvorlagen eines Hosters, Staging-Kopien, Schulungs-Websites. Sie beantwortet: wie der Kickstarter funktioniert, wie Sie seine Konfiguration als geprüfte Vorlage halten und wie Sie damit keine Datenbank zerstören. Die Referenz ist Kapitel 6.
Inhalt
Was er ist
Der Kickstarter (bin/php/kickstarter.php, Konsolenname exp:kickstarter) führt die Schrittklassen in einem PHP-Prozess auf der
Kommandozeile aus und liest jede Antwort aus kickstart.ini (4.2).
Er ist die Methode für den Fall, dass dieselbe Installation mehr als einmal gemacht werden muss, die Antworten vor der Anwendung als
Datei geprüft werden sollen oder das Seitenpaket aus einem lokalen Paket-Repository kommt.
Die Befehle
php bin/php/console exp:kickstarter ini --yes # write kickstart.ini from the built-in defaults
php bin/php/console exp:kickstarter run --list-steps # show the steps, change nothing
php bin/php/console exp:kickstarter run --dry-run # check, stop after SiteDetails
php bin/php/console exp:kickstarter run --apply --force # installinischreibt die Datei: interaktiv, mit--yes(eingebaute Standardwerte) oder--defaults(die Werte auskickstart.ini-dist).runinstalliert daraus.--forceist immer erforderlich, wenn der Bereich der SchritteCreateSitesenthält.- Ein Aufruf ohne Befehl zeigt die Hilfe und endet mit Status 0, sodass ein Skript, das den Unterbefehl vergessen hat, nicht scheitert;
prüfen Sie, dass Ihre Skripte
runnennen (6.2).
DatabaseAction
Warnung
DatabaseAction=removezerstört Daten. Es leert die in[site_details] Databasegenannte Datenbank und installiert hinein. Alles in dieser Datenbank geht verloren, und nichts fragt nochmals nach:--forceist die einzige Bestätigung (6.5).
| Wert | Datenbank | Nutzen Sie ihn für |
|---|---|---|
remove | Tabellen gelöscht (SQLite: Datei geleert), dann installiert | eine saubere Installation, eine Neuinstallation |
ignore | zu dem hinzugefügt, was da ist, nichts gelöscht | eine neue, leere Datenbank |
skip | nichts eingefügt | settings/siteaccess/ und settings/override/ gegen eine vollständige Datenbank neu erzeugen |
Ein Wert, der fehlt oder falsch geschrieben ist, verhält sich wie ignore: Schreiben Sie ihn ausdrücklich. Sichern Sie jede Datenbank,
die ein Lauf berühren könnte, zuerst in ein Verzeichnis außerhalb des Wurzelverzeichnisses der Installation.
Vorlagen mit Platzhaltern
Das Muster aus 6.11, für die Standard-Websites eines Hosters:
- Halten Sie eine Vorlage wie
deploy/kickstart.ini.templateunter Versionsverwaltung, mit Platzhaltern für die Werte des Kunden und Geheimnisse. - Erzeugen Sie daraus bei der Bereitstellung die Datei im Wurzelverzeichnis der Installation, mit dem Modus
0600. - Probelauf, dann installieren, und bei einem Status ungleich null scheitern:
#!/usr/bin/env bash
set -euo pipefail
cd /var/www/vhosts/<domain>/<installation>
umask 077
envsubst < deploy/kickstart.ini.template > kickstart.ini
php bin/php/console exp:kickstarter run --dry-run
php bin/php/console exp:kickstarter run --apply --force
rm -f kickstart.iniexp:kickstarter ini --from-installed füllt Database aus den Einstellungen einer bestehenden Installation, was hilft, wenn Sie eine
Vorlage aus einer Website bauen, die Sie bereits betreiben (6.2.1).
Tipp Der Assistent im Browser liest
kickstart.iniebenfalls und füllt Seiten daraus vor oder überspringt sie (5.6). Ein Hoster kann die Datenbankseite für einen Kunden vorfüllen, der die Installation dann im Browser abschließt (Der Setup-Assistent auf Shared Hosting).
Logs
| Datei | Enthält |
|---|---|
var/log/setup.log | jeden Schritt des Laufs |
var/log/kickstart.log (.1 bis .9 behalten frühere Läufe) | jeden Lauf des Kickstarters, Passwörter maskiert; EXP_KICKSTART_LOG=0 schaltet es aus |
var/log/kickstart.log und var/log/setup.log sind die Artefakte, die Sie von einem gescheiterten Job aufbewahren.
Aufräumen
- Entfernen Sie
kickstart.ininach der Installation: Sie enthält Passwörter im Klartext, und der Assistent würde sie bei einem späteren Lauf lesen (4.6). - Übergeben und entfernen Sie
var/log/initial-admin-password, wenn ein Passwort erzeugt wurde.
Eine öffentliche Demo. Mit EXP_DEMO_MODE=1 in der Umgebung von exp:kickstarter run wird ein bekanntes oder kurzes [site_admin] Password (publish, publishing) unverändert installiert, statt ersetzt zu werden; ein leeres wird weiterhin ersetzt. Der Kindprozess des Laufs erbt die Variable. Demomodus für Hoster.
Verwandte Seiten
- exp:install für Hoster
- Bereitstellung automatisieren
- Ein-Klick-Installer
- 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.