Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Pakete für Linux-Distributionen

Was ein Paketbetreuer einer Linux-Distribution wissen sollte, bevor er Exponential als deb oder rpm paketiert - das Projekt veröffentlicht kein Distributionspaket des CMS (Velocity hat deb- und rpm-Pakete), die…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/bundlers/linux-distribution-packaging.md

On this page

This page is a translation. Read the English original

Pakete für Linux-Distributionen

Diese Seite richtet sich an Paketbetreuer, die Exponential mit apt oder dnf installierbar machen möchten. Sie sagt, was es gibt und was Paketbetreuer selbst entscheiden müssen. Das Projekt veröffentlicht kein deb- oder rpm-Paket des Exponential-CMS; es veröffentlicht aber deb- und rpm-Pakete von Velocity, seinem Webserver.

Warnung .htaccess bremst jede Anfrage. Sind .htaccess-Dateien erlaubt (AllowOverride alles außer None), geschweige denn genutzt, sucht Apache sie bei jeder Anfrage in jedem Verzeichnis des Pfads und liest und wertet sie aus, und die Ladezeiten der Seiten steigen drastisch (gemessen). Die einzige wirkliche Abhilfe ist, die Funktion für den virtuellen Host abzuschalten: AllowOverride None im virtuellen HTTPS-Host, und die Regeln in der Konfiguration des virtuellen Hosts selbst als mod_rewrite-Regeln. Das ist in Geschwindigkeitstests im Produktivbetrieb weit schneller und die Zeit für die Optimierung einer Produktivkonfiguration unbedingt wert. Stellen Sie sofort um: Übernehmen Sie die Regeln des Beispiels für einen virtuellen HTTPS-Host in Ihren virtuellen Host (mit dem statischen Cache auch staticcache_offload.conf), setzen Sie AllowOverride None, führen Sie apachectl configtest aus, laden Sie Apache neu und testen Sie die Website. Dieselben Regeln für andere Server: nginx, LiteSpeed, Caddy, IIS, Velocity (eingebaut); wohin Regeln für virtuelle Hosts in einem Control Panel gehören: Plesk, cPanel, DirectAdmin, ISPConfig. Unter LiteSpeed oder OpenLiteSpeed kann zusätzlich der Seiten-Cache des Servers anonyme Besucher und Crawler ohne PHP bedienen: Seiten-Caching mit LiteSpeed und OpenLiteSpeed.

Inhalt

  1. Was das Projekt veröffentlicht
  2. Wie die Installation aufgebaut ist
  3. Composer und die Richtlinien der Distribution
  4. Der Post-Install-Schritt
  5. Updates über den Paketmanager
  6. Bevor Sie veröffentlichen

Was das Projekt veröffentlicht

ElementFormQuelle
Exponential 6Git-Tags und das Composer-Paket se7enxweb/exponential3.1
ErweiterungenComposer-Pakete, eines je Erweiterungcomposer.json
VelocityComposer-Paket, deb für Debian 12/13 und Ubuntu 22.04/24.04, rpm für Enterprise Linux 9/10, Docker-Images, BinärdateienVelocity-Pakete

Die Velocity-Pakete sind ein funktionierendes Vorbild dafür, wie das Projekt paketiert: architekturunabhängig, "Bei der Installation startet nichts", ein Systembenutzer qbix, Einstellungen in /etc/default/exponential-velocity.

Wie die Installation aufgebaut ist

Exponential ist "ein Verzeichnis voller PHP-Dateien", dessen Document-Root das Wurzelverzeichnis der Installation ist (Webserver-Beispiele). Es schreibt in seinen eigenen Baum:

VerzeichnisGeschriebenHinweis
var/immerCaches, Protokolle, Uploads, Autoload-Arrays, die SQLite-Datenbank
settings/, settings/override, settings/siteaccessvon den Installern und der AdministrationManagedByDeployment=enabled hindert die Administration daran, Einstellungen zu schreiben
design/, extension/wenn Pakete aus der Administration installiert werden
autoload/, var/autoload/von ezpgenerateautoloads.phpArrays für Kernel und Erweiterungen

Quelle: Beschreibbare Verzeichnisse und Rechte.

Was das für ein Paket bedeutet:

  • Installieren Sie den Baum an einer Stelle (zum Beispiel unter /usr/share/<name>/) und verlinken oder binden Sie die beschreibbaren Teile nach /var/lib/<name>/ und /etc/<name>/ erst, nachdem Sie getestet haben, dass jeder Schreiber den Links folgt. Die Dokumentation beschreibt keinen aufgeteilten Aufbau; diesen Test verantworten Sie.
  • site.ini [FileSettings] VarDir wird vom Installer je Siteaccess gesetzt (var/<package> oder var/site), und zusätzliche Erweiterungsverzeichnisse lassen sich mit [ExtensionSettings] AdditionalExtensionDirectories[] hinzufügen (Zusätzliche Erweiterungsverzeichnisse). Auf diese Einstellungen kann sich ein Aufbau stützen.
  • Die Webserver-Konfiguration, die Sie ausliefern, muss das Routing von .htaccess_root beibehalten.
  • .htaccess und config.php sind Dateien der Installation, nicht des Pakets: Liefern Sie die Vorlagen aus (.htaccess_root, .htaccess_root_static, config.php-RECOMMENDED) und lassen Sie den Administrator oder Ihren Post-Install-Schritt sie mit exp:setup:htaccess und exp:setup:config kopieren. Ein Update überschreibt dann nie eine geänderte Kopie: Die Befehle zeigen den Diff und verweigern ohne --force (.htaccess und config.php von der Konsole aus einrichten).

Composer und die Richtlinien der Distribution

Exponential hängt von vielen Composer-Paketen ab (vendor/) und von Erweiterungen, die ein Composer-Plugin nach extension/ installiert. Distributionen unterscheiden sich darin, ob sie mitgelieferte Abhängigkeiten akzeptieren. Entscheiden Sie gemäß den Richtlinien Ihrer Distribution und beachten Sie:

Der Post-Install-Schritt

Ein Distributionspaket sollte nicht von sich aus eine Website installieren:

  • Tun Sie: den Systembenutzer anlegen, die Besitzrechte der beschreibbaren Verzeichnisse setzen, eine deaktivierte Webserver- und Cron-Konfiguration installieren, die Autoloads neu erzeugen, ausgeben, wo die Dokumentation und der Installationsbefehl zu finden sind. .htaccess und config.php an ihren Platz zu bringen ist hier unbedenklich, denn beide Befehle lassen eine vorhandene Datei in Ruhe und ändern bei einem zweiten Lauf nichts; als root brauchen sie --allow-root-user und --owner=<benutzer>:<gruppe> für den Benutzer der Website:

    php bin/php/console exp:setup:htaccess --apply --allow-root-user --owner=www-data:www-data
    php bin/php/console exp:setup:config --apply --allow-root-user --owner=www-data:www-data
  • Tun Sie nicht: eine Datenbank anlegen, exp:install mit Standardwerten ausführen oder einen Webserver starten. Der Administrator führt die Installation einmal aus, mit seiner eigenen URL, Datenbank und E-Mail (Unbeaufsichtigte Installation mit exp:install).

Updates über den Paketmanager

Ein Paket-Update ersetzt Code; Updates von Exponential haben eine zweite Hälfte, die Datenbank-Update-Dateien und die Checkliste jedes Zeitraums (Kapitel 11.6). Das Paket kann:

  • nach dem Update die Caches leeren und die Autoloads neu erzeugen (Caches und Autoloads);
  • dem Administrator mitteilen, wenn .htaccess nicht mehr zur neuen .htaccess_root passt: exp:setup:htaccess ohne --apply endet mit Exit-Code 1 und gibt den Diff aus, und exp:config:list zeigt Einstellungen, die neu in config.php-RECOMMENDED sind, als (not set);
  • dem Administrator mitteilen, dass ein Datenbank-Update fällig sein könnte, mit dem Link;
  • nie Datenbank-Updates unbeaufsichtigt auf einer Website ausführen, die es nicht kennt.

Bevor Sie veröffentlichen

  • To do: Die Copyright-Datei führt Exponential (GPL-2.0-or-later), jede Erweiterung und jedes mitgelieferte Paket auf.
  • To do: Ein Quellpaket ist verfügbar, wie es Distributionen ohnehin verlangen.
  • To do: Paketname und Beschreibung folgen Ein Bundle benennen und gestalten.
  • To do: Installation, Upgrade und Entfernung sind auf einem sauberen System getestet.
  • To do: Sicherheitskorrekturen haben einen Weg: Sie verfolgen die Releases und bauen neu (Updates und Upgrade-Pfade).

Verwandte Seiten

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.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x