Añadir un sitio web con configuración personalizada
ServBay ofrece una forma flexible de añadir sitios web. Además del método estándar de configuración automáticamente gestionado por ServBay, también existe el modo de “configuración personalizada”. Este modo permite a los desarrolladores escribir y gestionar directamente los archivos de configuración del servidor web específico de cada sitio (Nginx, Caddy, Apache), brindando el máximo nivel de control y flexibilidad. Es especialmente adecuado para escenarios que requieren ajustes precisos, configuraciones no estándar o funcionalidades avanzadas.
Significado de la configuración personalizada
Elegir la configuración personalizada implica:
- Control total: Puedes editar directamente el fragmento de configuración del servidor correspondiente al sitio (por ejemplo, el bloque
server
en Nginx, el bloqueVirtualHost
en Apache, o la definición de sitio en Caddy). - Funcionalidades avanzadas: Puedes implementar funciones difíciles de configurar en el modo estándar, como reglas de reescritura complejas, ajustes de proxy específicos, formatos de registro personalizados, cabeceras de seguridad especiales, entre otros.
- Escenarios especiales: Es ideal cuando necesitas simular configuraciones de entornos de producción, integrar módulos específicos o realizar depuración exhaustiva.
Sin embargo, esto también significa que eres responsable de la corrección y seguridad de la configuración, incluyendo la gestión de los certificados SSL.
Pasos para añadir un sitio web con configuración personalizada
- Ir a Sitios Web: Haz clic en
Websites
en el menú lateral izquierdo de ServBay. - Añadir nuevo sitio: Haz clic en el botón
+
(más) encima de la lista de sitios. - Completar información básica:
- Name: Asigna un nombre fácilmente reconocible a tu sitio (ejemplo:
Mi Proyecto Personalizado
). - Domain: Introduce el dominio que usarás para acceder localmente (ejemplo:
myproject.servbay.demo
).
- Name: Asigna un nombre fácilmente reconocible a tu sitio (ejemplo:
- Seleccionar el servidor web: Elige el servidor web deseado (Nginx, Caddy o Apache) desde el menú desplegable
Web Server
. Esta selección es fundamental, ya que determina el tipo de plantilla de configuración que se ofrecerá, así como el software de servidor que prestará servicio para el sitio. - Activar configuración personalizada: Marca la casilla
Custom Configuration
. - Ver y editar la plantilla: Al activar, el área de texto mostrará automáticamente una plantilla de configuración básica según el servidor web elegido. Este es tu punto de partida; deberás (y normalmente querrás) modificarla para ajustarla a tus necesidades.
Comprender y modificar la plantilla de configuración
ServBay proporcionará diferentes plantillas de configuración según el servidor web seleccionado (Nginx, Caddy, Apache). Deberás ajustar la plantilla según los requerimientos específicos de tu proyecto.
1. Configuración personalizada en Nginx
Si seleccionas Nginx, ServBay presentará una plantilla básica del bloque server
.
Estructura de la plantilla y directivas clave:
# Puerto y protocolo de escucha
listen 443 ssl; # HTTPS
# Nombre de dominio vinculado
server_name myproject.servbay.demo;
# Raíz del sitio web (asegúrate de que el directorio exista)
root /Applications/ServBay/www/myproject.servbay.demo;
# Archivo índice predeterminado
index index.php index.html index.htm;
# Protocolos y cifrados SSL/TLS (ejemplo)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
ssl_session_timeout 1d;
ssl_session_cache shared:ServBay:10m;
ssl_session_tickets off;
# Rutas de los certificados SSL (debes especificarlas manualmente si habilitas HTTPS)
# 【IMPORTANTE】Asegúrate de que los archivos existan y las rutas sean correctas
ssl_certificate /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt;
ssl_certificate_key /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key;
# Manejo de peticiones PHP (ejemplo PHP 8.3, ajusta según tu configuración)
set $php_version '8.3';
include enable-php-fpm-pathinfo.conf;
# Otras configuraciones, como bloques location, reglas de reescritura, etc.
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# Rutas de los registros de acceso y error (opcional)
# access_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-access.log;
# error_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-error.log;
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
Aspectos clave para modificar:
- Verifica que
server_name
coincida con el dominio configurado. - Configura la
root
para que apunte correctamente a los archivos de tu proyecto. - Si necesitas HTTPS, descomenta o añade
listen 443 ssl;
y asegúrate de indicar las rutas correctas parassl_certificate
yssl_certificate_key
. - Añade según tu necesidad bloques location adicionales, reglas de reescritura, configuración de proxy, etc.
2. Configuración personalizada en Caddy
Si seleccionas Caddy, ServBay te proporcionará una plantilla en formato Caddyfile.
Estructura de la plantilla y directivas clave:
encode zstd gzip
import set-log myproject.servbay.demo # nombre del archivo de log
import canonical-path
# Raíz del sitio web (asegúrate de que el directorio exista)
root * /Applications/ServBay/www/myproject.servbay.demo
# Manejo de peticiones PHP
route {
import php-rewrite-default 8.3 # Versión de PHP 8.3
}
# Ajustes TLS/SSL
# Especifica la ruta de los certificados
# tls /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key
# Habilita el servidor de archivos
file_server
# Otras directivas como reverse_proxy, rewrite, header, etc.
# ...
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Aspectos clave para modificar:
- Asegúrate de que el dominio principal
myproject.servbay.demo
sea correcto. - Configura la directiva
root
para que apunte a los archivos de tu proyecto. - SSL/TLS: Caddy intentará obtener y gestionar automáticamente certificados HTTPS para el dominio especificado. Sin embargo, esto normalmente no es viable para dominios locales como
.servbay.demo
. Si necesitas HTTPS, se recomienda encarecidamente usar la directivatls
para especificar manualmente la ruta al certificado y la clave privada. Verifica que los archivos existan y las rutas sean correctas. - Añade otras directivas de Caddy según sea necesario.
3. Configuración personalizada en Apache
Si seleccionas Apache, ServBay generará una plantilla con un bloque <VirtualHost>
.
Estructura de la plantilla y directivas clave:
ServerName myproject.servbay.demo
DocumentRoot "/Applications/ServBay/www/myproject.servbay.demo"
# Activar motor SSL
SSLEngine on
# Ruta de los certificados SSL
# 【IMPORTANTE】Asegúrate de que los archivos existan y las rutas sean correctas
SSLCertificateFile "/Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt"
SSLCertificateKeyFile "/Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key"
# Permisos de directorio
<Directory "/Applications/ServBay/www/myproject.servbay.demo">
DirectoryIndex index.php index.html index.htm
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Configuración de PHP-FPM (PHP 8.3)
Define PHP_VERSION 8.3
<FilesMatch \.php$>
SetHandler "proxy:unix:/Applications/ServBay/tmp/php-cgi-${PHP_VERSION}.sock|fcgi://localhost"
</FilesMatch>
# Registro de errores y acceso (opcional)
ErrorLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-error_log"
CustomLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-access_log" common
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
Aspectos clave para modificar:
- Verifica que
ServerName
coincida con el dominio especificado. - Configura debidamente
DocumentRoot
para que apunte a los archivos de tu proyecto. - Ajusta los permisos y opciones del bloque
<Directory>
. - Añade otras directivas de Apache como
RewriteEngine
,ProxyPass
, etc., según lo requieras.
Gestión de certificados SSL【IMPORTANTE】
Cuando usas configuración personalizada, ServBay NO generará automáticamente certificados SSL para ti (por ejemplo, no creará un CA propio ni solicitará certificados Let's Encrypt vía ACME).
- Debes encargarte personalmente de obtener o generar los certificados SSL y colocarlos en un lugar accesible para el servidor.
- Puedes generar certificados autofirmados con OpenSSL manualmente, o usar la CA que provee ServBay (ServBay User CA o ServBay Public CA) para emitir certificados locales de desarrollo.
- En las configuraciones personalizadas de Nginx, Caddy o Apache, es imprescindible especificar correctamente las directivas
ssl_certificate
/ssl_certificate_key
(Nginx),tls
(Caddy), oSSLCertificateFile
/SSLCertificateKeyFile
(Apache), apuntando a tus archivos de clave y certificado preparados. - Si se especifican directivas SSL en la configuración pero los ficheros de certificados no existen o las rutas son incorrectas, el servidor web no podrá arrancar o cargar la configuración del sitio, haciendo que el sitio quede inaccesible, y verás errores en la interfaz de ServBay o en los registros del servidor.
Consulta la documentación de ServBay sobre Gestión de certificados SSL para aprender a generar y gestionar certificados de desarrollo locales.
Vinculación con el servidor web
DANGER
Un punto clave es que, una vez que eliges un servidor web específico para un sitio (por ejemplo, Nginx) y guardas la configuración personalizada, ese sitio quedará vinculado a Nginx.
- Esto significa que el sitio solo estará disponible cuando el paquete de software del servidor web activo en ServBay sea Nginx.
- Si cambias el
Servidor Web Predeterminado
en la secciónServicios
de ServBay a Apache o Caddy, las configuraciones personalizadas para sitios basados en Nginx no se cargarán y el sitio quedará inaccesible. - Lo mismo ocurre para configuraciones personalizadas creadas en Caddy o Apache: solo serán accesibles mientras el paquete de servidor correspondiente esté en ejecución.
Guardar y aplicar cambios
Después de modificar todas las configuraciones, haz clic en el botón Save
en la esquina inferior derecha. ServBay guardará tu configuración personalizada e intentará recargar el servidor web correspondiente para aplicar los cambios. Si hay errores de sintaxis en la configuración, es posible que la operación de guardado o recarga falle. Revisa las notificaciones de ServBay o los registros de errores del servidor correspondiente (normalmente ubicados bajo el subdirectorio de /Applications/ServBay/logs/
) para depurar el problema.
Resumen
El uso de configuración personalizada para añadir sitios web ofrece a los usuarios de ServBay una flexibilidad incomparable, permitiendo control total sobre el comportamiento del servidor de cada sitio. Sin embargo, requiere que el desarrollador posea los conocimientos necesarios de configuración de servidores web y asuma la responsabilidad de la corrección, la seguridad y la gestión de certificados SSL. Comprender la estructura de las plantillas, los requisitos de SSL y el mecanismo de vinculación del servidor es la clave para usar eficazmente esta funcionalidad.