ServBay-Verzeichnisstruktur
Die Verzeichnisstruktur von ServBay ist einfach und übersichtlich. Wenn Sie bereits mit Linux/Unix-Systemen vertraut sind, werden Sie feststellen, dass die beiden sehr ähnlich aufgebaut sind.
Eine typische ServBay-Verzeichnisstruktur sieht folgendermaßen aus:
ServBay
|____backup
| |____config
| |____hosts
|____bin
|____data
| |____servbay
|____db
| |____redis
|____etc
|____logs
|____package
| |____bin
| |____common
| | |____imap-uw
| | |____include
| | |____lib
| | |____libexec
| | |____openssl
| | |____share
| |____etc
| | |____caddy
| | |____dnsmasq
| | |____mariadb
| | |____openldap
| | |____php
| | |____redis
| | |____scws
| |____mariadb
| | |____x.x
| |____node
| | |____xx
| |____php
| | |____x.x
| |____sbin
| |____var
| | |____log
| | |____run
|____sbin
|____script
|____ssl
| |____caddy
|____tmp
|____www
| |____servbay
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Im Folgenden werden die Verzeichnisse und deren Zweck im Detail erläutert.
Hauptverzeichnis
Das Hauptverzeichnis von ServBay befindet sich in /Applications/ServBay
. Alle Dateien werden dort gespeichert.
Falls Sie ein Backup durchführen möchten (z.B. mit Time Machine oder einer anderen Backup-Methode), sollten Sie dieses Verzeichnis vollständig sichern.
Stammverzeichnis der Webseiten
Das Stammverzeichnis der Webseiten befindet sich in /Applications/ServBay/www
. Es wird empfohlen, für jede Hauptseite einen eigenen Ordner zu erstellen, um die Struktur übersichtlich und leichter verwaltbar zu halten.
Zum Beispiel:
/Applications/ServBay/www
|____com
| |____servbay
| | |____web # web.servbay.com
| | |____support # support.servbay.com
| | |____api # api.servbay.com
|____local
| |____sam
| | |____www # www.sam.local
| |____servbay
| | |____new # new.servbay.local
2
3
4
5
6
7
8
9
10
11
Verzeichnis für Konfigurationsdateien
Das Verzeichnis für Konfigurationsdateien befindet sich in /Applications/ServBay/etc
, welches ein symbolischer Link ist. Die eigentlichen Dateien sind in /Applications/ServBay/package/etc
gespeichert.
In der Regel kann /Applications/ServBay/etc
direkt verwendet werden.
Hier einige Beispiele für Konfigurationsdateien gängiger Softwarepakete:
PHP
Das Verzeichnis für PHP-Konfigurationsdateien hat eine zweistufige Struktur. Im Verzeichnis etc/php
gibt es Unterverzeichnisse für verschiedene Versionen wie 5.6
, 7.4
, 8.3
usw.:
php
|____5.6
| |____conf.d
|____7.0
| |____conf.d
| |____php-fpm.d
|____7.4
| |____conf.d
| |____php-fpm.d
|____8.3
| |____conf.d
| |____php-fpm.d
|____8.4
| |____conf.d
| |____php-fpm.d
2
3
4
5
6
7
8
9
10
11
12
13
14
15
In jedem Versionsverzeichnis gibt es Dateien wie php.ini
, php-fpm.conf
, pear.conf
usw. Nach Änderungen an diesen Dateien muss der jeweilige PHP-Dienst neu gestartet werden, um die neuen Einstellungen zu übernehmen.
Das conf.d
-Verzeichnis ist für die Konfiguration von PHP-Erweiterungen gedacht und enthält Dateien wie xdebug.ini
, opcache.ini
, redis.ini
usw. Änderungen in diesen Dateien ermöglichen das Laden, Entladen oder Ändern der PHP-Erweiterungen. Auch hier müssen nach Änderungen die PHP-Dienste neu gestartet werden.
Hinweis: Jede kleinere Version teilt sich die Konfiguration der größeren Version, z.B. teilen sich 8.3.3
und 8.3.5
die Konfigurationsdateien von 8.3
.
MariaDB
Das Verzeichnis für MariaDB-Konfigurationsdateien hat ebenfalls eine zweistufige Struktur, zum Beispiel etc/mariadb/11.2
. Das Verzeichnis enthält eine my.cnf
-Datei, die nach einer Änderung neu gestartet werden muss. Jede kleinere Version teilt sich die Konfiguration der größeren Version.
Caddy
Hinweis: Die Datei Caddyfile
wird automatisch von ServBay generiert und sollte nicht manuell bearbeitet werden. Änderungen werden automatisch überschrieben. Für benutzerdefinierte Einstellungen sollten Sie direkt in ServBays Hosts
-Verwaltung konfigurieren.
dnsmasq
Das Verzeichnis enthält zwei Hauptdateien: dnsmasq.conf
und domains.conf
. Die dnsmasq.conf
ist die Standardkonfigurationsdatei, und domains.conf
ist die automatisch generierte Domain-Datei.
Hinweis: Sowohl die dnsmasq.conf
als auch die domains.conf
werden automatisch von ServBay generiert und sollten nicht manuell bearbeitet werden. Änderungen werden automatisch überschrieben.
Verzeichnis für ServBay-Einstellungen
/Applications/ServBay/data
Dieses Verzeichnis enthält die für den regulären Betrieb von ServBay erforderlichen Konfigurationsdateien und Informationen. Bitte sichern Sie dieses Verzeichnis regelmäßig und ändern oder löschen Sie keine Dateien darin.
Verzeichnis für ausführbare Dateien und Skripte
/Applications/ServBay/bin -> package/bin
/Applications/ServBay/sbin -> package/sbin
/Applications/ServBay/script
2
3
Alle ausführbaren Dateien von ServBay befinden sich in den Verzeichnissen bin
und sbin
. Dazu gehören verschiedene Versionen von PHP, Node usw., die als symbolische Links in diesen Verzeichnissen erstellt wurden.
Diese Verzeichnisse enthalten viele nützliche Tools wie curl
, openssl
, frpc
sowie verschiedene Versionen von PHP und Node.
Zum Beispiel kann php-5.6
verwendet werden, um ein Skript mit PHP 5.6 auszuführen, oder node-15
, um ein nicht-LTS Node.js 15-Skript zu starten.
Besonders zu erwähnen ist das Verzeichnis script
. Dieses enthält die Systemskripte von ServBay, die für Aufgaben wie das Starten und Stoppen von Diensten sowie die Initialisierung von Datenbanken gedacht sind. Diese Skripte können direkt ausgeführt werden, sollten jedoch nicht verändert oder gelöscht werden.
Diese Skripte sind auch in servbayctl
integriert und können direkt ausgeführt werden. Zum Beispiel:
servbayctl start php 7.0
Verzeichnis für Datenbankdateien
/Applications/ServBay/db
Ähnlich wie das etc
-Verzeichnis hat auch das db
-Verzeichnis eine mehrstufige Struktur. Jede kleinere Version teilt sich die Datenbanken mit der größeren Version. Bitte sichern Sie dieses Verzeichnis regelmäßig während der Entwicklungsarbeit.
Verzeichnis für Logdateien
/Applications/ServBay/logs -> package/var/log
Alle Logdateien von ServBay werden in diesem Verzeichnis gespeichert. Außer im Fall von PHP und XDebug, die viele Dateien erzeugen und daher eine tiefergehende Verzeichnisstruktur nutzen, werden die meisten anderen Logs in den entsprechenden Dienstunterverzeichnissen gespeichert.
Die Zugrifflogs der Webseiten werden im Verzeichnis caddy
gespeichert und nach Domain geordnet.
Die PHP-Logs sind in zwei Gruppen unterteilt: php-fpm.log
(von php-fpm generierte Logs) und errors.log
(Fehlerlogs). Die errors.log
-Datei wird nur generiert, wenn ein Codefehler auftritt, der nicht von einem PHP-Framework abgefangen und gespeichert wird.
Zum Beispiel speichert Laravel seine Fehlerlogs in storage/logs/laravel.log
, während WordPress und Trongate ihre Fehlerlogs möglicherweise in errors.log
speichern.
Hinweis: Logdateien können viel Speicherplatz beanspruchen. Bitte löschen Sie sie regelmäßig.
Verzeichnis für Softwarepakete
/Applications/ServBay/package
Dieses Verzeichnis enthält alle von ServBay installierten Softwarepakete, strukturiert nach Paketname/Majorversion/Minorversion
. Zum Beispiel package/php/8.3/8.3.7
.
Alte Versionen, die nach einem Upgrade nicht mehr benötigt werden, können manuell gelöscht werden, um Platz zu sparen.
Hinweis: Jedes Verzeichnis enthält einen symbolischen Link namens current
, der auf die neueste Version des Pakets zeigt. Dieser Link sollte nicht gelöscht werden, da dies dazu führen kann, dass die Dienste nicht mehr starten.
Verzeichnis für SSL-Zertifikate
/Applications/ServBay/ssl
In diesem Verzeichnis werden SSL-Zertifikate, einschließlich des lokalen SSL-Root-Zertifikats (CA), gespeichert.
Verzeichnis für Backups
/Applications/ServBay/backup
Dieses Verzeichnis dient als automatischer Backup-Speicherort für ServBay und wird derzeit nur zum Sichern der /etc/hosts
-Datei verwendet.
Verzeichnis für temporäre Dateien
/Applications/ServBay/tmp
Dieses Verzeichnis enthält .pid
-Dateien und Socket-Dateien (php-cgi.sock
, mysql.sock
usw.), die während des Betriebs der Dienste wie PHP, MariaDB oder PostgreSQL erzeugt werden.
Während der täglichen Entwicklungsarbeit kann auf php-fpm und die Datenbanken nicht nur über TCP-Ports, sondern auch über die Socket-Dateien zugegriffen werden. Socket-Dateien bieten in der Regel eine höhere Durchsatzrate, bessere Leistung und geringere Latenz im Vergleich zu TCP-Ports.
Verzeichnis für öffentliche Komponenten und Entwicklungslibraries
/Applications/ServBay/package/common
Dieses Verzeichnis enthält alle notwendigen öffentlichen Komponenten für verschiedene Anwendungen in ServBay, wie z.B. *.dylib
-Dateien.
Wenn die ServBay Development Library
installiert ist, gibt es hier auch ein include
-Verzeichnis und im lib
-Verzeichnis verschiedene *.la
-, *.a
-Dateien, die für die erneute Kompilierung benötigt werden.
Hinweis: Löschen Sie keine lib/*.dylib
-Dateien, da fehlende notwendige Bibliotheken dazu führen können, dass Programme nicht ordnungsgemäß ausgeführt werden können.