Skip to content

About

Installation wizard for ignis - ships bundled inside every release's install package

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

44 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ignis Setup

Der Installationsassistent für ignis.

Important

Du willst ignis installieren? Lade das Install-Package (ignis-<version>-install.zip) vom aktuellen Release herunter. Es enthält setup.php, die Anwendung und eine Kurzanleitung (readme.txt). Die ausführliche Anleitung steht in der INSTALL.md.

Was dieses Repo ist

Hier liegt der Quellcode von setup.php. Der Release-Build von ignis holt die Datei bei jedem Release von hier, prüft sie mit php -l und packt sie ins Install-Package.

Was der Assistent macht

  1. Prüft die Anforderungen: PHP ab 8.3 (getestet mit 8.3 und 8.4), die Erweiterungen curl, fileinfo, gd, intl, json, mbstring, openssl, pdo, pdo_mysql, xml und zip, Schreibrechte im Zielordner.
  2. Entpackt das App-Archiv ignis-v<version>.zip, das neben setup.php liegt. Fehlt es, lädt er das App-Archiv der neuesten Version von GitHub, Betas eingeschlossen. Ist die GitHub-API nicht erreichbar (Abruflimit), bricht er mit dem Hinweis auf das Install-Package ab. vendor/ ist im Archiv enthalten, Composer läuft nicht.
  3. Schreibt die .env (APP_ENV, DB_*, DISCORD_CLIENT_ID, DISCORD_CLIENT_SECRET) und führt die Datenbank-Migrationen aus.
  4. Trägt System-URL, Basis-Pfad und Servername in die Tabelle intra_config ein. Klappt das nicht, weil die Migrationen gescheitert sind, zeigt er an, welche Werte nach dem ersten Start einzutragen sind.
  5. Schreibt das Lockfile .setup-locked und löscht App-Archiv, readme.txt und sich selbst.

Einen Admin-Zugang legt der Assistent nicht an: Die erste Anmeldung über Discord bekommt Administratorrechte. Deshalb direkt nach dem Setup anmelden.

Danach empfohlen: Docroot auf <installationsordner>/public umstellen und den Cron einrichten (php cli/intra.php cron:tick jede Minute oder https://<host>/cron.php?token=<CRON_ENDPOINT_TOKEN> über einen externen Dienst). ignis braucht HTTPS.

Troubleshooting

„Verzeichnis nicht beschreibbar“: Der PHP-User (www-data o. ä.) braucht Schreibrechte im Zielordner: chown www-data . && chmod 0775 .

„Fehlende PHP-Extensions“: Auf Shared Hosting im Kundenpanel unter „PHP-Module“ aktivieren. Auf einem VPS z. B. apt install php8.3-intl, dann PHP-FPM neu starten.

„setup.php konnte nicht automatisch gelöscht werden“: Bitte manuell entfernen. Das Lockfile .setup-locked verhindert zwar weitere Läufe, die Datei gehört trotzdem nicht in den Webroot.

Migrations-Hinweis im Abschluss: ignis versucht die Migrationen beim ersten Aufruf erneut. Klappt auch das nicht: vendor/bin/phinx migrate -e production im Installationsordner.

Entwicklung

php -l setup.php   # Syntax-Check (läuft als CI auf jedem Push)

Zum Testen ein App-Archiv als ignis-test.zip neben setup.php legen. Mit setup.php?dev gibt es zusätzlich einen Git-Checkout von main oder einem eigenen Branch. Der baut nur mit Zugriff auf die privaten WebPackages und ist für echte Installationen nicht gedacht.

Lizenz

GPL-3.0, wie ignis selbst.

About

Installation wizard for ignis - ships bundled inside every release's install package

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages