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

Aufbau des Speichers

Was eine Exponential-Installation auf der Festplatte hält, welche Verzeichnisse beschreibbar sein müssen, welche Kundendaten enthalten und welche weggeworfen werden können, und wie eine Installation mit mehreren…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/hosting/operations/storage-layout.md

On this page

This page is a translation. Read the English original

Aufbau des Speichers

Diese Seite ist für Systemadministratoren, die Festplatten dimensionieren, Backup-Jobs schreiben und Dateiberechtigungen für gehostete Exponential-Websites setzen. Sie beantwortet: was im Installationsverzeichnis liegt, wohin hochgeladene Dateien, Caches und Logs gehen, welche davon Kundendaten sind, die gesichert werden müssen, welche sich neu erzeugen lassen und welche Einstellungen sie verlegen.

Jeder Pfad und jede Einstellung unten stammt aus settings/site.ini [FileSettings] und dem Installationsbuch; folgen Sie den Links, um sie zu prüfen.

Inhalt

  1. Das Installationsverzeichnis auf einen Blick
  2. Das Verzeichnis var
  3. Die Einstellungen, die Dateien platzieren
  4. Was beschreibbar sein muss
  5. Mehrere Websites in einer Installation
  6. Worauf Sie achten
  7. Checkliste

Das Installationsverzeichnis auf einen Blick

PfadWas es istFür PHP beschreibbarSichern
index.php, index_rest.php, index_treemenu.phpdie Front-Controllerneinkommt mit dem Code
index_soap.php, soap.phpder SOAP-Server und sein früherer Name, der nur dorthin weiterleitet (6.0.15)neinkommt mit dem Code
kernel/, lib/, bin/, share/, update/der Kernel, Bibliotheken, Skripte, Übersetzungen, Datenbank-Updatesneinkommt mit dem Code
vendor/die Composer-Paketenein (Composer schreibt es)von Composer aus composer.lock neu aufgebaut
extension/Erweiterungen, aus Composer oder von Hand geschriebennur, solange Pakete aus der Administration installiert werdenja, wenn nicht in einem Repository
design/Designsnur, solange Pakete aus der Administration installiert werdenja, wenn nicht in einem Repository
settings/mitgelieferte Einstellungen (settings/*.ini)ja, wenn Administratoren Einstellungen im Browser bearbeitensettings/override/ und settings/siteaccess/ immer
var/alles, was die laufende Website schreibtjateilweise, siehe unten
config.php, config.env.phpKonfiguration auf PHP-Ebene, der Name der Umgebungneinja, falls vorhanden

config.env.php nennt die Umgebung einer Maschine (EXP_ENV), und .gitignore hält sie aus der Versionsverwaltung heraus (Einstellungen je Umgebung).

Das Verzeichnis var

var/ ist der eine Baum, den die laufende Website schreibt. Sein Aufbau, mit den mitgelieferten Einstellungen:

PfadEnthältKundendaten?
var/storage/ und var/<site>/storage/hochgeladene Bilder und Dateien und ihre Bildvarianten (original/, reference/, variations/)ja
var/storage/sqlite3/die Datenbankdatei einer SQLite-Website, mit ihren Dateien -wal und -shmja (mit dem Datenbankwerkzeug sichern, nie durch Kopieren)
var/cache/, var/<site>/cache/kompilierte Templates, INI-Cache, View-Cache, Template-Blöcke, Übersetzungen, gepackte Skripte und Stylesnein: wird neu erzeugt
var/<site>/cache/exphttpcache/der HTTP-Cachenein: wird neu erzeugt
var/log/, var/<site>/log/die Logs des Kernelsbetrieblich, im Backup optional
var/<site>/log/audit/das Prüfprotokoll (audit.ini [AuditSettings] LogDir=log/audit, innerhalb des var-Verzeichnisses)ja: eine Aufzeichnung, die Sie vielleicht vorlegen müssen
var/autoload/erzeugte Klassenzuordnungennein: php bin/php/ezpgenerateautoloads.php -e
var/vc/Exponential Velocity: Logs, PID-Dateien, seine eigene Konfiguration, wenn /etc/vc nicht genutzt wirdnein, außer einer hier gehaltenen Konfiguration
var/log/mail/Mails, die der Datei-Transport schreibtnein
var/<site>/cronjobs/Ausgabe und Verlauf von Jobs, die aus Setup > Cronjobs gestartet wurdennein
var/maintenance.jsonnur vorhanden, solange der Wartungsmodus an istnein
var/tmp/temporäre Arbeit, zum Beispiel der vom Wartungsmodus zur Seite verschobene HTTP-Cachenein

<site> steht für das var-Verzeichnis der Website, wenn ihre Siteaccesses VarDir=var/<site> setzen; viele Installationen halten alles in var/ allein. Die Pfade der Cronjobs folgen dem var-Verzeichnis des Siteaccess der Administration (Cronjobs, Abschnitt 14); der Baum von Velocity ist in 8.3.12 Logs beschrieben.

Dateien unter storage/ werden nach den ersten Zeichen ihres Namens auf Unterverzeichnisse verteilt ([FileSettings] DirDepth=3), sodass kein einzelnes Verzeichnis zu groß wird.

Hinweis Caches können jederzeit gelöscht werden; die Website baut sie bei den nächsten Anfragen neu auf, auf Kosten langsamerer erster Seiten. php bin/php/ezcache.php --clear-all ist der unterstützte Weg, weil er auch die Ablaufzeitstempel behandelt (Caches).

Die Einstellungen, die Dateien platzieren

Alle in site.ini [FileSettings]; setzen Sie sie in settings/override/site.ini.append.php oder pro Siteaccess.

EinstellungMitgeliefertBedeutung
VarDirvardie Wurzel von allem Geschriebenen; nur relative Pfade werden unterstützt
StorageDirstoragehochgeladene Dateien, unterhalb von VarDir
CacheDircacheCaches, unterhalb von VarDir; ein absoluter Pfad wird nicht unterstützt (seine öffentlichen Caches würden nicht ausgeliefert)
LogDirlogLogs, unterhalb von VarDir; ein absoluter Pfad wird unterstützt
TemporaryDir/tmp/temporäre Dateien von Uploads und Konvertierungen
DirDepth3Verzeichnistiefe im Speicher
StorageDirPermissions, StorageFilePermissions0777, 0666Modi neuer Verzeichnisse und Dateien im Speicher
TemporaryPermissions0777Modus temporärer Dateien
LogFilePermissions0666Modus neuer Logdateien

Die mitgelieferten Modi sind für alle beschreibbar. site.ini selbst empfiehlt 0770 und 0660 mit dem richtigen Eigentümer und der richtigen Gruppe, was die gehärtete Wahl ist (8.7.2 Ein Benutzer oder eine Gruppe).

Warnung TemporaryDir=/tmp/ liegt außerhalb der Installation. Unter einer Beschränkung mit open_basedir (auf Shared-Hosting-Panels verbreitet) erlauben Sie entweder /tmp/, oder Sie richten TemporaryDir auf ein Verzeichnis innerhalb der Installation, das PHP schreiben darf.

Was beschreibbar sein muss

Der Setup-Assistent prüft die Liste in settings/setup.ini [directory_permissions] CheckList: design, extension, settings mit settings/override und settings/siteaccess und var mit seinen Verzeichnissen für Cache, Log, Speicher und Autoload. Nach der Installation können design/ und extension/ wieder schreibgeschützt werden, wenn nichts Pakete aus der Administration installiert (8.7.1).

Die häufigste Ursache seltsamer Fehler sind zwei Systembenutzer, die dieselben Dateien schreiben: der PHP-FPM-Pool, die Worker von Velocity, Cronjobs und Skripte der Kommandozeile. Führen Sie alle als Benutzer der Website aus, oder geben Sie ihnen eine gemeinsame Gruppe mit setgid-Verzeichnissen (8.7.2). Die Details für eine Hosting-Plattform stehen auf Beschreibbare Verzeichnisse und Berechtigungen.

Mehrere Websites in einer Installation

Eine Installation kann viele Websites ausliefern, jede mit eigenem VarDir. Sechs Einstellungen in [FileSettings] entscheiden, wohin ihre Logs und Caches gehen (Logs, INI-Cache und Ablaufzeitstempel pro Website):

EinstellungMitgeliefertWirkung
UseGlobalLogDirenableddisabled schreibt die Debug-Logs jeder Website in ihr eigenes Log-Verzeichnis
LogVarDirleerein getrennter Baum für alle Logs: var/example schreibt nach var_log/example/log
CacheVarDirleerein getrennter Baum für alle Caches: var_cache/example/cache, zum Beispiel ein Dateisystem im Arbeitsspeicher
ExpiryDirleerhält expiry.php aus einem Cache-Verzeichnis heraus, das bei einem Neustart geleert wird
INICacheDirglobalsite speichert die INI-Dateien jeder Website in ihrem eigenen Cache-Verzeichnis zwischen
AllowedDeletionDirs[]leerzusätzliche absolute Verzeichnisse, in denen das Leeren eines Caches löschen darf

Die Seite der Funktion zeigt ein vollständiges Beispiel mit einem tmpfs-Cache für alle Websites. Ein Cache im Arbeitsspeicher ist schnell und geht bei jedem Neustart verloren; halten Sie ExpiryDir auf der Festplatte, damit Bildvarianten, die vor einem Leeren erzeugt wurden, nicht wieder als aktuell gelten.

Worauf Sie achten

  • Wachstum auf der Festplatte: Der Speicher wächst mit den Uploads des Kunden; Caches wachsen mit Verkehr und Templates; Logs werden rotiert (siehe Log-Viewer und Log-Rotation). ./console exp:systeminfo --sizes und Setup > Systeminformationen > Größen messen melden die Größe von var/ und jedes Cache-Verzeichnisses (Systeminformationen).
  • Inodes: Der View-Cache und die Bildvarianten sind viele kleine Dateien; beobachten Sie auf dem Dateisystem, das var/ enthält, neben den Bytes auch die Nutzung der Inodes.
  • Eigentümer: Prüfen Sie nach jedem als root ausgeführten Befehl den Eigentümer neuer Dateien in var/.

Checkliste

  • To do: var/ liegt auf einem Dateisystem mit Platz für Caches, Logs und ein lokales Backup.
  • To do: Der PHP-FPM-Pool, die Worker von Velocity und die Cronjobs laufen als ein Benutzer oder teilen eine Gruppe mit setgid-Verzeichnissen.
  • To do: StorageDirPermissions und StorageFilePermissions sind auf 0770 und 0660 gesetzt, wo der Eigentümer es erlaubt.
  • To do: TemporaryDir ist unter dem open_basedir des Kontos erreichbar.
  • To do: Backups enthalten var/storage, den Speicher pro Website, das Audit-Verzeichnis und die Überschreibungen der Einstellungen.
  • To do: Caches, var/autoload und die Logs in var/vc sind von Backups ausgeschlossen, um Platz zu sparen.

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