Como Migrar Sites Apache para Caddy
O ServBay oferece Caddy, Nginx e Apache como servidores web, permitindo que os usuários escolham de acordo com as necessidades de seus projetos. Para a maioria dos frameworks PHP e sistemas CMS, o ServBay já está pré-configurado tanto para Caddy quanto para Nginx com as regras de URL Rewrite, normalmente dispensando configurações manuais adicionais.
Este guia mostra como migrar um site originalmente configurado para Apache para rodar no servidor Caddy fornecido pelo ServBay em ambientes de desenvolvimento local. Usaremos projetos comuns como o Laravel e o WordPress como exemplos para ilustrar o processo.
Sobre o suporte do ServBay ao Apache
O ServBay é totalmente compatível com Apache como servidor web. Se você deseja definir o Apache como servidor padrão no ServBay ou saber como configurar sites Apache na plataforma, consulte: Como alterar o servidor web padrão para Apache. O objetivo deste artigo é explicar como migrar sites configurados para Apache para o ambiente Caddy do ServBay.
Visão Geral
Migrar um site entre servidores web envolve a adaptação de suas configurações e arquivos. O ServBay permite que você utilize o Caddy como servidor web e oferece suporte pronto para uso para os principais frameworks PHP e CMS, o que significa que ele configura automaticamente o necessário, incluindo as regras de rewrite. Assim, migrar um site configurado para Apache para o Caddy do ServBay geralmente é simples: basta “adicionar o site” corretamente no ServBay.
Preparativos Antes da Migração
Antes de iniciar qualquer operação de migração, siga estes passos preparatórios:
- Backup dos arquivos: Faça backup completo de todos os arquivos do seu site, incluindo código, imagens, uploads e outros.
- Backup do banco de dados: Exporte e salve o banco de dados utilizado por seu site. O ServBay suporta múltiplos bancos, como MySQL, PostgreSQL, MongoDB, etc. Use as ferramentas adequadas para fazer o backup.
- Verifique a instalação do ServBay: Assegure-se de ter o ServBay instalado e em funcionamento no seu macOS.
- Confirme que o pacote Caddy está ativado: Dentro do aplicativo ServBay, verifique se o Caddy está ativado.
Migrando um site Laravel para o Caddy
Vamos supor que você tem um site Laravel com a seguinte configuração do Apache:
Exemplo típico de configuração do Apache (fora do ServBay)
Veja abaixo um exemplo de VirtualHost Apache para um site Laravel fora do ServBay, onde o DocumentRoot
aponta para a pasta public
e o uso de AllowOverride All
habilita regras de rewrite no .htaccess
.
<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, configura-se o processamento de PHP, por exemplo, via FPM ou 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
Rodando o site Laravel no ServBay (usando Caddy)
No ServBay, não é necessário converter ou criar à mão a configuração Apache acima para o Caddy. A proposta do ServBay é simplificar o ambiente de desenvolvimento local. Para frameworks populares como o Laravel, o ServBay gera automaticamente as configurações corretas do Caddy ao adicionar o site, incluindo a referência à pasta public
e as regras de rewrite.
Passos práticos:
- Copie todos os arquivos do seu projeto Laravel para um subdiretório na raiz dos sites do ServBay. Por exemplo:
/Applications/ServBay/www/seu-laravel-projeto
. Certifique-se de que a pastapublic
está neste caminho. - Abra o aplicativo ServBay.
- Acesse o painel de gestão de “Websites” no ServBay.
- Clique em “Adicionar site”.
- Na janela de configurações que aparecer:
- Domínio: Informe o domínio que usará para o site, como
laravel.servbay.demo
. O ServBay atualizará automaticamente o arquivo hosts local. - Document Root: Clique para escolher a pasta
public
do seu projeto Laravel, por exemplo,/Applications/ServBay/www/seu-laravel-projeto/public
. - Servidor Web: Selecione
Caddy
. - Versão do PHP: Escolha a versão necessária.
- Tipo de Aplicação: Selecione
Laravel
. Essa etapa é fundamental para a configuração automática.
- Domínio: Informe o domínio que usará para o site, como
- Clique em “Salvar” ou “Adicionar”.
Ao concluir, o ServBay cria automaticamente a configuração do Caddy para laravel.servbay.demo
, apontando para a pasta public
, configurando rewrite de URLs e o encaminhamento de requisições PHP. Agora, basta acessar http://laravel.servbay.demo
no navegador para rodar seu site Laravel.
Exemplo teórico de configuração do Caddy (apenas referência, o ServBay gera automaticamente)
Para ilustrar o que o ServBay configura, veja abaixo um exemplo equivalente (não é necessário editar ou criar este arquivo!):
laravel.servbay.demo {
# Define o diretório raiz do site, apontando para a pasta public
root * /Applications/ServBay/www/seu-laravel-projeto/public
# Configuração do processamento PHP via FastCGI
# O ServBay ajusta o caminho do socket de acordo com a versão do PHP
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Habilita serviço de arquivos estáticos
file_server
# Principal regra de rewrite do Laravel: se não for arquivo ou pasta, redireciona para 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
Migrando um site WordPress para o Caddy
Vamos supor que você tem um site WordPress com a seguinte configuração do Apache:
Exemplo típico de configuração do Apache (fora do ServBay)
Veja abaixo um VirtualHost Apache de exemplo para um site WordPress fora do ServBay. O WordPress usa regras .htaccess
para links permanentes e normalmente a raiz do site é definida como a pasta de instalação.
<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, configura-se o processamento 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
Rodando o site WordPress no ServBay (usando Caddy)
Assim como no Laravel, rodar o WordPress com Caddy no ServBay dispensa a configuração manual do Caddy. O ServBay identifica as necessidades do WordPress e gera a configuração automaticamente.
Passos práticos:
- Copie todos os arquivos do WordPress para um subdiretório dentro da raiz de sites do ServBay, como
/Applications/ServBay/www/seu-site-wordpress
. Certifique-se de queindex.php
,wp-admin
,wp-includes
, etc. estejam presentes. - Abra o aplicativo ServBay.
- Vá até a interface de gestão de “Websites”.
- Clique em “Adicionar site”.
- Na janela de configuração:
- Domínio: Indique o domínio desejado, como
wordpress.servbay.demo
. - Document Root: Selecione a raiz do seu projeto WordPress, por exemplo,
/Applications/ServBay/www/seu-site-wordpress
. - Servidor Web: Selecione
Caddy
. - Versão do PHP: Escolha a versão apropriada para o projeto.
- Tipo de Aplicação: Selecione
WordPress
.
- Domínio: Indique o domínio desejado, como
- Clique em “Salvar” ou “Adicionar”.
O ServBay então gera a configuração Caddy correta para wordpress.servbay.demo
com root do site, rewrite de URLs (para links permanentes) e PHP forwarding resolvidos. Acesse http://wordpress.servbay.demo
e seu WordPress já estará funcionando com suporte completo a links permanentes.
Exemplo teórico de configuração do Caddy (apenas referência, o ServBay gera automaticamente)
Veja uma configuração teórica para WordPress (não edite ou crie este arquivo):
wordpress.servbay.demo {
# Define o diretório raiz do site
root * /Applications/ServBay/www/seu-site-wordpress
# Configuração do processamento PHP via FastCGI
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Habilitar serviço de arquivos
file_server
# Principal regra de rewrite do WordPress: suporte a links permanentes
# Se não for arquivo ou pasta, redireciona para 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
Resumo
Migrar sites Laravel ou WordPress de ambientes Apache para o servidor Caddy do ServBay é extremamente simples. Graças ao suporte integrado do ServBay para os principais tipos de aplicativos, não é necessário converter regras do .htaccess
ou configurações de VirtualHost para sintaxe do Caddyfile manualmente. Basta usar o painel “Websites” do aplicativo ServBay, indicar o domínio, diretório raiz, selecionar Caddy como servidor web e escolher o tipo de aplicação (Laravel ou WordPress). O ServBay faz automaticamente todas as configurações complexas, incluindo as regras de rewrite.
Essa automação reduz drasticamente a dificuldade de migração e preparação do ambiente local, permitindo que você foque no desenvolvimento do código e não na configuração do servidor.