¿Cómo migrar un sitio Apache a Caddy?
ServBay ofrece Caddy, Nginx y Apache como servidores web para que los usuarios elijan según las necesidades de sus proyectos. Para la mayoría de los frameworks PHP y sistemas CMS, ServBay ya proporciona reglas de URL Rewrite prediseñadas para Caddy y Nginx, por lo general sin necesidad de configuraciones adicionales por parte del usuario.
Esta guía te mostrará cómo migrar tu sitio, anteriormente configurado en Apache, al servidor Caddy incluido en el entorno de desarrollo local de ServBay. Usaremos como ejemplo proyectos comunes como Laravel y WordPress.
Sobre el soporte de ServBay para Apache
ServBay es totalmente compatible con Apache como servidor web. Si deseas cambiar el servidor web predeterminado de ServBay a Apache, o necesitas configurar un sitio Apache en ServBay, consulta: Cómo cambiar el servidor web predeterminado a Apache. Este artículo se centra en migrar sitios ya configurados para Apache al entorno de Caddy en ServBay.
Visión general
Migrar un sitio web de un servidor a otro requiere adaptar configuraciones y archivos. ServBay permite a los usuarios usar Caddy como servidor web, y ofrece soporte “out of the box” para la mayoría de los frameworks PHP y CMS, lo que significa que ServBay gestiona automáticamente las configuraciones necesarias, incluidas las reglas de Rewrite. Por ello, migrar un sitio configurado en Apache al entorno Caddy de ServBay suele ser un proceso sencillo: el paso clave es “agregar” correctamente el sitio en ServBay.
Preparativos para la migración
Antes de comenzar cualquier migración, asegúrate de lo siguiente:
- Copia de seguridad de archivos: Realiza una copia de todos los archivos de tu sitio web, incluyendo la raíz del proyecto, imágenes, uploads, etc.
- Copia de seguridad de la base de datos: Exporta y guarda una copia de seguridad de la base de datos del sitio. ServBay admite varias: MySQL, PostgreSQL, MongoDB, entre otras. Usa la herramienta correspondiente.
- Verifica la instalación de ServBay: Asegúrate de que ServBay esté correctamente instalado y en ejecución en macOS.
- Comprueba que el paquete Caddy esté habilitado: En la aplicación ServBay, verifica que el paquete Caddy esté activado.
Migrar un sitio Laravel a Caddy
Supongamos que tienes un sitio Laravel con la siguiente configuración de Apache:
Ejemplo típico de configuración Apache (fuera de ServBay)
A continuación, un ejemplo VirtualHost para un sitio Laravel en Apache. Observa que DocumentRoot
apunta al directorio public
y se permite el uso de reglas Rewrite vía .htaccess
con AllowOverride All
.
<VirtualHost *:80>
ServerName laravel.demo
DocumentRoot /path/to/your/laravel/public
<Directory /path/to/your/laravel/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Normalmente se configura la administración de PHP, por ejemplo, vía FPM o mod_php
# FilesMatch \.php$>
# SetHandler "proxy:unix:/path/to/php-fpm.sock|fcgi://localhost"
# </FilesMatch>
</VirtualHost>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ejecutar un sitio Laravel en ServBay (usando Caddy)
En ServBay, no es necesario escribir ni convertir manualmente la configuración anterior de Apache a Caddy. El objetivo de ServBay es simplificar al máximo la configuración del entorno de desarrollo local. Para frameworks tan populares como Laravel, ServBay genera automáticamente la configuración adecuada de Caddy cuando agregas un sitio, incluyendo la referencia al directorio public
y la gestión de las reglas de Rewrite.
Pasos prácticos:
- Copia todos los archivos de tu proyecto Laravel a un subdirectorio dentro de la raíz de sitios de ServBay. La ruta recomendada es
/Applications/ServBay/www/your-laravel-project
. Asegúrate de que el directoriopublic
está incluido. - Abre la aplicación de ServBay.
- Ve a la sección “Websites” (Sitios Web).
- Haz clic en el botón “Agregar sitio”.
- En la ventana de configuración emergente:
- Dominio: Ingresa el nombre de dominio con el que accederás al sitio, por ejemplo
laravel.servbay.demo
. ServBay agregará esta url a tu archivo hosts local. - Raíz del sitio (Document Root): Haz clic en “Examinar” y selecciona el directorio
public
de tu proyecto Laravel, por ejemplo/Applications/ServBay/www/your-laravel-project/public
. - Servidor web: Selecciona
Caddy
. - Versión de PHP: Elige la versión de PHP requerida por tu proyecto.
- Tipo de aplicación: Selecciona
Laravel
. Este paso es clave para la configuración automática de ServBay.
- Dominio: Ingresa el nombre de dominio con el que accederás al sitio, por ejemplo
- Haz clic en “Guardar” o “Agregar”.
Una vez completados estos pasos, ServBay generará automáticamente la configuración de Caddy correspondiente para laravel.servbay.demo
, gestionando el enrutamiento al directorio public
, las reglas de URL Rewrite y la derivación de peticiones PHP. Ya deberías poder acceder a tu sitio Laravel en http://laravel.servbay.demo
desde el navegador.
Ejemplo teórico de configuración Caddy (referencial — ServBay lo genera automáticamente)
Para aclarar lo que genera ServBay, a continuación tienes un ejemplo de configuración de Caddy equivalente a los requisitos de Laravel. Recuerda, no necesitas crear ni editar este archivo.
laravel.servbay.demo {
# Establece la raíz del sitio, apuntando a public
root * /Applications/ServBay/www/your-laravel-project/public
# Configura el gestor PHP FastCGI
# ServBay ajusta automáticamente la ruta del socket según tu versión de PHP
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Activa servicio de archivos estáticos
file_server
# Regla principal Rewrite de Laravel: si la petición no es un archivo/directorio real va a index.php
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
rewrite @notStatic /index.php
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Migrar un sitio WordPress a Caddy
Supongamos que tienes un sitio WordPress con la siguiente configuración de Apache:
Ejemplo típico de configuración Apache (fuera de ServBay)
Aquí tienes un VirtualHost de Apache para WordPress. Normalmente, WordPress define la raíz del sitio como el directorio de instalación y depende del archivo .htaccess
para la gestión de enlaces permanentes, mediante reglas de Rewrite.
<VirtualHost *:80>
ServerName wordpress.demo
DocumentRoot /path/to/your/wordpress
<Directory /path/to/your/wordpress>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Normalmente se configura la administración de PHP
# FilesMatch \.php$>
# SetHandler "proxy:unix:/path/to/php-fpm.sock|fcgi://localhost"
# </FilesMatch>
</VirtualHost>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ejecutar un sitio WordPress en ServBay (usando Caddy)
De forma similar a Laravel, para WordPress y Caddy en ServBay no necesitas escribir ninguna configuración de Caddy manualmente. ServBay detecta automáticamente las necesidades de WordPress y genera la configuración correspondiente.
Pasos prácticos:
- Copia todos los archivos de tu sitio WordPress a un subdirectorio dentro de la raíz de sitios de ServBay. Ruta sugerida:
/Applications/ServBay/www/your-wordpress-site
. Asegúrate de que los archivos y carpetas tales comoindex.php
,wp-admin
,wp-includes
estén presentes. - Abre la aplicación de ServBay.
- Ve a la sección “Websites” (Sitios Web).
- Haz clic en el botón “Agregar sitio”.
- En la ventana de configuración emergente:
- Dominio: Ingresa el dominio que desees, por ejemplo
wordpress.servbay.demo
. - Raíz del sitio: Haz clic en “Examinar” y selecciona el directorio raíz de tu instalación WordPress, por ejemplo
/Applications/ServBay/www/your-wordpress-site
. - Servidor web: Selecciona
Caddy
. - Versión de PHP: Selecciona la versión de PHP requerida.
- Tipo de aplicación: Selecciona
WordPress
.
- Dominio: Ingresa el dominio que desees, por ejemplo
- Haz clic en “Guardar” o “Agregar”.
ServBay generará automáticamente la configuración adecuada de Caddy para wordpress.servbay.demo
, gestionando la raíz, las reglas de Rewrite para enlaces permanentes y la derivación de peticiones PHP. Podrás acceder a tu sitio en http://wordpress.servbay.demo
y la funcionalidad de enlaces permanentes funcionará correctamente.
Ejemplo teórico de configuración Caddy (referencial — ServBay lo genera automáticamente)
Este es un ejemplo de configuración Caddy adaptada a WordPress. No es necesario crear ni modificar este archivo manualmente.
wordpress.servbay.demo {
# Establece la raíz del sitio
root * /Applications/ServBay/www/your-wordpress-site
# Configura gestor PHP FastCGI
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Activa servicio de archivos
file_server
# Regla principal Rewrite de WordPress: enlaces permanentes
# Si la petición no es un archivo/directorio real va a index.php
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
rewrite @notStatic /index.php
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Resumen
Migrar sitios Laravel o WordPress previamente configurados en Apache a Caddy en ServBay es un proceso directo. Gracias al soporte integrado de ServBay para aplicaciones populares, no necesitas convertir manualmente archivos .htaccess
o VirtualHost de Apache a sintaxis Caddyfile. Basta con agregar el sitio correctamente desde la interfaz de “Websites”, definir dominio, raíz del sitio, seleccionar Caddy como servidor web y especificar el tipo de aplicación (Laravel o WordPress); ServBay se encargará del resto, incluyendo las complejas reglas de Rewrite que requieras.
Esta automatización simplifica enormemente tanto la migración como la puesta a punto para el desarrollo local, permitiéndote concentrarte en el código y no en la configuración del servidor.