Struttura Directory di ServBay
La struttura delle directory di ServBay è semplice e chiara. Se hai familiarità con i sistemi Linux/Unix, troverai molte somiglianze tra i due.
Una tipica struttura delle directory di ServBay è la seguente:
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
Di seguito dettagliamo l'utilizzo di ciascuna directory.
Directory Principale
La directory principale di ServBay si trova in /Applications/ServBay
, dove vengono memorizzati tutti i file.
Se hai bisogno di eseguire un backup (ad esempio utilizzando Time Machine o altri metodi di backup), esegui il backup completo di questa directory.
Directory Root del Sito
La directory root del sito si trova in /Applications/ServBay/www
. Si consiglia di creare una cartella separata per ciascun host per memorizzare i file, in modo che la struttura sia chiara e facile da gestire.
Ad esempio:
/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
Directory dei File di Configurazione
La directory dei file di configurazione si trova in /Applications/ServBay/etc
, che è un collegamento simbolico con i file reali memorizzati in /Applications/ServBay/package/etc
.
Di solito, puoi usare direttamente /Applications/ServBay/etc
.
Di seguito un esempio dei file di configurazione dei pacchetti comuni:
PHP
La directory dei file di configurazione di PHP ha una struttura a due livelli. Sotto etc/php
, ci sono directory per le diverse versioni, come 5.6
, 7.4
, 8.3
, ecc. La struttura tipica è come segue:
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
Ogni directory della versione contiene file come php.ini
, php-fpm.conf
, e pear.conf
. Dopo aver modificato questi file, è necessario riavviare il servizio PHP corrispondente per applicare le nuove impostazioni.
La directory conf.d
è per i file di configurazione delle estensioni PHP, contenente file come xdebug.ini
, opcache.ini
, redis.ini
, ecc. Modificando questi file è possibile caricare, scaricare o modificare ciascuna estensione PHP. Allo stesso modo, è necessario riavviare il servizio PHP corrispondente per applicare le nuove impostazioni.
Nota: Ogni sottoversione e versione principale condivide una configurazione. Ad esempio, 8.3.3
e 8.3.5
condividono i file di configurazione di 8.3
.
MariaDB
Anche la directory dei file di configurazione di MariaDB ha una struttura a due livelli, ad esempio, etc/mariadb/11.2
. La cartella contiene solo un file my.cnf
, che dopo essere stato modificato richiede il riavvio. Ogni sottoversione e versione principale condivide una configurazione.
Caddy
Nota: Il file Caddyfile viene generato automaticamente da ServBay, non modificarlo. Eventuali modifiche saranno sovrascritte automaticamente. Per impostazioni personalizzate, configura direttamente tramite la sezione Host
in ServBay.
dnsmasq
La directory contiene due file principali: dnsmasq.conf
e domains.conf
. dnsmasq.conf
è il file di configurazione predefinito, mentre domains.conf
è il file di dominio generato automaticamente.
Nota: I file dnsmasq.conf
e domains.conf
sono generati automaticamente da ServBay e non devono essere modificati. Eventuali modifiche saranno sovrascritte.
Directory delle Impostazioni di ServBay
/Applications/ServBay/data
Questa directory contiene i file di configurazione e le informazioni necessarie per il normale funzionamento di ServBay. Assicurati di fare backup e non cancellare o modificare nessun file al suo interno.
Directory Eseguibili e Script
/Applications/ServBay/bin -> package/bin
/Applications/ServBay/sbin -> package/sbin
/Applications/ServBay/script
2
3
Tutti gli eseguibili di ServBay sono situati nelle directory bin
e sbin
. Questo include varie versioni di PHP, Node, ecc., e sono presenti collegamenti simbolici a queste due directory.
Queste directory contengono molti strumenti utili, come curl
, openssl
, frpc
, e varie versioni di PHP e Node.
Ad esempio, puoi usare php-5.6
per eseguire uno script con PHP 5.6, oppure usare node-15
per eseguire uno script con Node.js 15 non LTS.
In particolare, la directory script
contiene gli script di sistema di ServBay utilizzati per l'avvio e l'arresto dei servizi, l'inizializzazione del database, ecc. Puoi eseguire direttamente questi script, ma non modificarli o eliminarli.
Questi script sono tutti incapsulati in servbayctl
. Puoi eseguire direttamente servbayctl
per le operazioni, ad esempio:
servbayctl start php 7.0
Directory dei File del Database
/Applications/ServBay/db
Come per la directory etc
, la directory db
ha una struttura multilivello, e ogni sottoversione e versione principale condivide un database. Durante lo sviluppo quotidiano, assicurati di fare backup di questa directory.
Directory dei Log
/Applications/ServBay/logs -> package/var/log
Tutti i log di ServBay sono memorizzati qui. Oltre a PHP e XDebug, che producono molti file memorizzati in sottodirectory di secondo livello, tutti gli altri log sono memorizzati nelle sottodirectory dei servizi corrispondenti.
I log degli accessi ai siti sono memorizzati nella directory caddy
, organizzati per nome di dominio.
I log di PHP sono divisi in due: php-fpm.log
(log generati da php-fpm) e errors.log
(log degli errori). errors.log
viene generato solo in caso di errore durante l'esecuzione del codice non catturato e memorizzato dal framework PHP.
Ad esempio, i log degli errori generati da Laravel
saranno memorizzati nella directory storage/logs/laravel.log
del framework Laravel, mentre i log degli errori generati da WordPress
e trongate
potrebbero trovarsi in errors.log
.
Nota: I file di log occupano molto spazio, assicurati di pulirli regolarmente.
Directory dei Pacchetti Software
/Applications/ServBay/package
Questa directory contiene tutti i pacchetti software installati da ServBay, con una struttura NomePacchetto/VersionePrincipale/VersioneSecondaria
. Ad esempio, package/php/8.3/8.3.7
.
Dopo un aggiornamento, le versioni precedenti non necessarie possono essere eliminate manualmente per risparmiare spazio.
Nota: Ogni cartella contiene un collegamento simbolico denominato current
che punta all'ultima versione del pacchetto software. Non eliminarlo, altrimenti il servizio non potrà avviarsi.
Directory dei Certificati SSL
/Applications/ServBay/ssl
Questa directory memorizza i certificati SSL, inclusi i certificati radice SSL locali (CA).
Directory di Backup
/Applications/ServBay/backup
La directory di backup automatico di ServBay, attualmente utilizzata solo per il backup del file /etc/hosts
.
Directory dei File Temporanei
/Applications/ServBay/tmp
Questa directory memorizza i file .pid
generati durante l'esecuzione dei servizi, così come i file socket di PHP, MariaDB, PostgreSQL, come php-cgi.sock
, mysql.sock
, ecc.
Durante lo sviluppo quotidiano, i programmi possono accedere al php-fpm e ai database attraverso le porte TCP, ma anche direttamente tramite i file socket. I file socket generalmente offrono un throughput più alto, prestazioni migliori e una latenza inferiore rispetto alle porte TCP.
Componenti Comuni e Librerie di Sviluppo
/Applications/ServBay/package/common
Questa directory memorizza tutti i componenti comuni necessari per le applicazioni di ServBay, come vari file *.dylib
.
Se hai installato ServBay Development Library
, questa directory conterrà anche una directory include
, e sotto lib
ci saranno vari file *.la
, *.a
. Queste sono le librerie e i file header necessari per la ricompilazione.
Nota: Non eliminare i file lib/*.dylib
, altrimenti i programmi potrebbero non funzionare correttamente a causa della mancanza di librerie necessarie.