Estructura de directorios de ServBay
La estructura de directorios de ServBay es simple y clara. Si tienes conocimientos básicos de sistemas Linux/Unix, encontrarás muchas similitudes entre ellos.
Una estructura típica de directorios de ServBay es la siguiente:
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
A continuación, explicaremos en detalle el propósito de cada directorio.
Directorio principal
El directorio principal de ServBay está ubicado en /Applications/ServBay
, donde se almacenan todos los archivos.
Para realizar copias de seguridad (por ejemplo, utilizando Time Machine u otros métodos), asegúrate de respaldar este directorio completo.
Directorio raíz del sitio web
El directorio raíz del sitio web se encuentra en /Applications/ServBay/www
. Se recomienda crear una carpeta separada para cada host, de manera que la estructura sea clara y fácil de gestionar.
Por ejemplo:
/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
Directorio de archivos de configuración
El directorio de archivos de configuración se encuentra en /Applications/ServBay/etc
, que es un enlace simbólico, los archivos reales están en /Applications/ServBay/package/etc
.
Normalmente, puedes usar directamente /Applications/ServBay/etc
.
A continuación se presentan ejemplos de archivos de configuración de paquetes comunes:
PHP
El directorio de configuración de PHP tiene una estructura de dos niveles. En etc/php
, hay directorios de diferentes versiones, como 5.6
, 7.4
, 8.3
, etc., con la siguiente estructura típica:
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
Cada directorio de versión contiene archivos como php.ini
, php-fpm.conf
, pear.conf
, etc. Después de modificar estos archivos, debes reiniciar el servicio PHP correspondiente para aplicar los ajustes.
El directorio conf.d
es para la configuración de extensiones PHP, e incluye archivos como xdebug.ini
, opcache.ini
, redis.ini
, etc. Al editar estos archivos, puedes cargar, descargar o modificar las extensiones PHP. Igualmente, después de modificar, debes reiniciar el servicio PHP correspondiente para aplicar los cambios.
Nota: Cada subversión comparte una configuración con la versión principal. Por ejemplo, 8.3.3
y 8.3.5
comparten los archivos de configuración de 8.3
.
MariaDB
El directorio de configuración de MariaDB también tiene una estructura de dos niveles, como etc/mariadb/11.2
. El único archivo en esta carpeta es my.cnf
, que debe reiniciarse después de modificarlo para que los cambios surtan efecto. Cada subversión y versión principal comparten un archivo de configuración.
Caddy
Nota: El archivo Caddyfile es generado automáticamente por ServBay, no modifiques este archivo porque será sobrescrito automáticamente. Si necesitas configuraciones personalizadas, hazlo directamente en la sección Host
de ServBay.
dnsmasq
El directorio contiene dos archivos principales: dnsmasq.conf
y domains.conf
. dnsmasq.conf
es el archivo de configuración predeterminado y domains.conf
es el archivo de dominios generado automáticamente.
Nota: Los archivos dnsmasq.conf
y domains.conf
son generados automáticamente por ServBay, no los modifiques ya que serán sobrescritos.
Directorio de configuración de ServBay
/Applications/ServBay/data
Este directorio almacena los archivos de configuración e información necesarios para el funcionamiento normal de ServBay. Asegúrate de hacer copias de seguridad y no elimines ni modifiques ninguno de los archivos allí.
Directorio de archivos ejecutables y scripts
/Applications/ServBay/bin -> package/bin
/Applications/ServBay/sbin -> package/sbin
/Applications/ServBay/script
2
3
Todos los archivos ejecutables de ServBay se encuentran en los directorios bin
y sbin
, que incluyen diversas versiones de PHP, Node, etc., con enlaces simbólicos a estos dos directorios.
Estos directorios contienen muchas herramientas comunes, como curl
, openssl
, frpc
, así como varias versiones de PHP y Node.
Por ejemplo, puedes usar php-5.6
para ejecutar un script con PHP 5.6, o node-15
para ejecutar un script con Node.js 15 (no LTS).
Una mención especial para el directorio script
. Este contiene scripts del sistema de ServBay para operaciones como iniciar y detener servicios, inicializar bases de datos, etc. Puedes ejecutar estos scripts directamente, pero no los modifiques ni elimines.
Todos estos scripts están empaquetados en servbayctl
. Puedes ejecutar servbayctl
directamente para operar, por ejemplo:
servbayctl start php 7.0
Directorio de archivos de bases de datos
/Applications/ServBay/db
Al igual que el directorio etc
, el directorio db
tiene una estructura de varios niveles, con cada subversión y versión principal compartiendo una base de datos. En el desarrollo diario, asegúrate de respaldar este directorio.
Directorio de registros
/Applications/ServBay/logs -> package/var/log
Todos los registros de ServBay se almacenan aquí. A excepción de PHP y XDebug que generan muchos archivos y se almacenan en un subdirectorio, los demás registros se colocan en subdirectorios correspondientes a cada servicio.
Los registros de acceso al sitio web se ubican en el directorio caddy
, organizados por nombre de dominio.
Los registros de PHP se dividen en dos: php-fpm.log
(registros generados por php-fpm) y errors.log
(registros de errores). errors.log
solo se generará cuando haya errores en el código que no hayan sido capturados y almacenados por el marco de PHP.
Por ejemplo, los registros de errores generados por Laravel
se almacenan en storage/logs/laravel.log
dentro del marco Laravel, pero los errores generados por WordPress
y trongate
pueden almacenarse en errors.log
.
Nota: Los archivos de registro ocupan bastante espacio, así que asegúrate de limpiarlos periódicamente.
Directorio de paquetes
/Applications/ServBay/package
Este directorio contiene todos los paquetes de software instalados en ServBay, con una estructura de nombre_del_paquete/gran_version/subversion
. Por ejemplo, package/php/8.3/8.3.7
.
Puedes eliminar manualmente las versiones antiguas que ya no necesitas después de una actualización para ahorrar espacio.
Nota: Cada carpeta contiene un enlace simbólico llamado current
que apunta a la versión más reciente del paquete. No lo elimines, de lo contrario, los servicios no se podrán iniciar.
Directorio de certificados SSL
/Applications/ServBay/ssl
Este directorio almacena certificados SSL, incluyendo el certificado de la raíz SSL local (CA).
Directorio de copias de seguridad
/Applications/ServBay/backup
El directorio de copias de seguridad automáticas de ServBay, actualmente usado solo para respaldar el archivo /etc/hosts
.
Directorio de archivos temporales
/Applications/ServBay/tmp
Este directorio almacena los archivos .pid
generados durante el funcionamiento de cada servicio, así como los archivos Socket
de PHP, MariaDB, PostgreSQL, etc., como php-cgi.sock
, mysql.sock
, etc.
En el desarrollo diario, además de acceder a php-fpm y bases de datos a través de puertos TCP, también puedes acceder a php-fpm y bases de datos a través de archivos socket. Los archivos socket suelen tener un mayor rendimiento, mejor rendimiento y menor latencia en comparación con los puertos TCP.
Componentes comunes y bibliotecas de desarrollo
/Applications/ServBay/package/common
Este directorio almacena todos los componentes comunes necesarios para las aplicaciones ServBay, como diversos archivos *.dylib
.
Si has instalado ServBay Development Library
, aquí también habrá un directorio include
, y en lib
estarán varios archivos *.la
y *.a
. Estos son bibliotecas y archivos de cabecera necesarios para la recompilación.
Nota: No elimines los archivos lib/*.dylib
, de lo contrario, el programa puede funcionar anormalmente debido a la falta de archivos necesarios.