Adicionando Sites com Configuração Personalizada
O ServBay oferece formas flexíveis de adicionar sites. Além do método padrão, gerenciado automaticamente pelo ServBay, também é suportado o modo de "configuração personalizada". Este modo permite que desenvolvedores escrevam e gerenciem diretamente os arquivos de configuração do servidor web específico do site (Nginx, Caddy ou Apache), proporcionando o máximo de flexibilidade e controle. É ideal para necessidades de ajuste fino, configurações fora do padrão ou funções avançadas.
Importância da Configuração Personalizada
Optar pela configuração personalizada significa:
- Controle total: Você pode editar diretamente o trecho de configuração correspondente do servidor (como o bloco
server
do Nginx, o blocoVirtualHost
do Apache ou a definição de site no Caddy). - Funções avançadas: Permite recursos difíceis de configurar no modo padrão, como regras de reescrita complexas, configurações de proxy específicas, formatos de log customizados, cabeçalhos de segurança diferenciados e muito mais.
- Cenários especiais: Ideal para simular ambientes de produção específicos, integrar módulos customizados ou realizar depuração aprofundada.
Por outro lado, isso também implica que você é responsável pela correção e segurança da configuração, incluindo o gerenciamento de certificados SSL.
Passos para Adicionar um Site com Configuração Personalizada
- Acesse a área de sites: No menu à esquerda do ServBay, clique em
Websites
. - Adicione um novo site: Clique no botão
+
(sinal de mais) acima da lista de sites. - Preencha as informações básicas:
- Name: Defina um nome identificável para o seu site (exemplo:
Meu Projeto Customizado
). - Domain: Informe o domínio que deseja usar para acessar localmente (exemplo:
meuprojeto.servbay.demo
).
- Name: Defina um nome identificável para o seu site (exemplo:
- Escolha o servidor web: No menu suspenso
Web Server
, selecione o servidor desejado (Nginx, Caddy ou Apache). Esta escolha é fundamental, pois determina o tipo de template de configuração mostrado e qual software irá servir o site. - Ative a configuração personalizada: Marque a caixa
Custom Configuration
. - Visualize e edite o template: Ao marcar essa opção, um template básico de configuração, de acordo com o servidor selecionado, será preenchido automaticamente no campo de texto. Este é o ponto de partida; você pode (e geralmente deve) modificá-lo conforme necessário.
Entendendo e Editando o Template de Configuração
O ServBay apresenta diferentes templates de configuração conforme o servidor selecionado (Nginx, Caddy ou Apache). É necessário adaptar esses templates conforme as necessidades do seu projeto.
1. Configuração Personalizada no Nginx
Se você optar pelo Nginx, o ServBay fornecerá um template básico de bloco server
.
Estrutura do template e principais diretivas:
# Porta e protocolo de escuta
listen 443 ssl; # HTTPS
# Domínio vinculado
server_name myproject.servbay.demo;
# Raiz do site (garanta que esse diretório exista)
root /Applications/ServBay/www/myproject.servbay.demo;
# Arquivos de índice padrão
index index.php index.html index.htm;
# Protocolos SSL/TLS e suítes de criptografia (exemplo)
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;
# Caminho dos certificados SSL (caso HTTPS esteja ativado, obrigatório especificar manualmente)
# [IMPORTANTE] Certifique-se de que estes arquivos existam e os caminhos estejam corretos
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;
# Processamento de solicitações PHP (exemplo PHP 8.3; ajuste conforme sua configuração)
set $php_version '8.3';
include enable-php-fpm-pathinfo.conf;
# Outras configurações, como blocos location, regras de reescrita etc.
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# Caminhos de logs de acesso e erro (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
Pontos importantes para modificação:
- Certifique-se de que o
server_name
corresponda ao domínio definido. - Configure o diretório
root
corretamente, apontando para seus arquivos de projeto. - Se precisar de HTTPS, descomente ou adicione
listen 443 ssl;
e sempre forneça caminhos válidos parassl_certificate
essl_certificate_key
. - Adicione outros blocos location, regras de reescrita, configurações de proxy, conforme necessário.
2. Configuração Personalizada no Caddy
Ao escolher Caddy, o ServBay mostrará um template de definição de site no formato Caddyfile.
Estrutura do template e principais diretivas:
encode zstd gzip
import set-log myproject.servbay.demo # nome do arquivo de log
import canonical-path
# Raiz do site (garanta que o diretório exista)
root * /Applications/ServBay/www/myproject.servbay.demo
# Processamento de solicitações PHP
route {
import php-rewrite-default 8.3 # Versão do PHP 8.3
}
# Configuração TLS/SSL
# Especifique o caminho dos 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
# Ativar servidor de arquivos
file_server
# Outras diretivas, 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
Pontos importantes para modificação:
- Confirme que o domínio de topo
myproject.servbay.demo
está correto. - Defina a diretiva
root
corretamente, apontando para seus arquivos do projeto. - SSL/TLS: O Caddy normalmente tenta obter e gerenciar certificados HTTPS automaticamente para o domínio. Para domínios locais como
.servbay.demo
, isso geralmente não é possível. Se precisar de HTTPS, utilize a diretivatls
especificando os caminhos dos arquivos de certificado e chave. Garanta que os arquivos existam e os caminhos estejam corretos. - Adicione outras diretivas do Caddy conforme necessário.
3. Configuração Personalizada no Apache
Escolhendo Apache, o ServBay fornecerá um template de bloco <VirtualHost>
.
Estrutura do template e principais diretivas:
ServerName myproject.servbay.demo
DocumentRoot "/Applications/ServBay/www/myproject.servbay.demo"
# Ativar engine SSL
SSLEngine on
# Caminho dos certificados SSL
# [IMPORTANTE] Certifique-se de que estes arquivos existam e os caminhos estejam corretos
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"
# Permissões de diretório
<Directory "/Applications/ServBay/www/myproject.servbay.demo">
DirectoryIndex index.php index.html index.htm
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Configuração do 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>
# Logs de erro e acesso (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
Pontos importantes para modificação:
- Certifique-se de que o
ServerName
corresponda ao domínio definido. - Defina corretamente o
DocumentRoot
, apontando para seus arquivos do projeto. - Ajuste permissões e opções no bloco
<Directory>
. - Inclua outras diretivas do Apache conforme necessário, como
RewriteEngine
,ProxyPass
, etc.
Gerenciamento de Certificado SSL [IMPORTANTE]
Ao utilizar configuração personalizada, o ServBay NÃO gerará certificados SSL automaticamente (como criar um certificado ServBay CA ou solicitar um Let's Encrypt via ACME).
- Você é responsável por obter ou gerar o certificado SSL, e deve armazená-lo em um local acessível pelo servidor.
- É possível gerar certificados autoassinados manualmente via OpenSSL, ou utilizar uma CA fornecida pelo próprio ServBay (ServBay User CA ou ServBay Public CA) para emitir certificados para desenvolvimento local.
- Na configuração personalizada do Nginx, Caddy ou Apache, é obrigatório especificar corretamente as diretivas
ssl_certificate
/ssl_certificate_key
(Nginx),tls
(Caddy), ouSSLCertificateFile
/SSLCertificateKeyFile
(Apache), apontando para seus arquivos de certificado e chave privada. - Se o arquivo de certificado especificado não existir ou o caminho estiver incorreto, o servidor web não irá iniciar ou não carregará a configuração do site, tornando-o inacessível. Mensagens de erro poderão ser exibidas na interface do ServBay ou nos logs do servidor.
Consulte a documentação do ServBay sobre Gerenciamento de Certificados SSL para mais detalhes sobre criação e manejo de certificados para desenvolvimento local.
Vinculação ao Servidor Web
DANGER
Um ponto fundamental: ao escolher um servidor web específico para um site (por exemplo, Nginx) e salvar com configuração personalizada, a configuração do site fica vinculada ao Nginx.
- Ou seja, somente quando o pacote de software do Nginx estiver ativo no ServBay, esse site será acessível.
- Se você alterar em
Serviços
>Servidor Web Padrão
para Apache ou Caddy, o site com configuração personalizada para Nginx não será acessível, pois apenas as configurações do servidor ativo são carregadas. - O mesmo vale para Caddy ou Apache: sites com configuração personalizada só podem ser acessados quando o respectivo pacote do servidor estiver rodando.
Salvando e Tornando as Configurações Válidas
Após finalizar as alterações, clique no botão Save
no canto inferior direito. O ServBay irá salvar sua configuração personalizada e tentar recarregar o servidor web correspondente para aplicar as mudanças. Se houver erros de sintaxe, o salvamento pode falhar ou o recarregamento do servidor não será possível. Consulte as notificações do ServBay ou os logs do servidor (geralmente localizados em /Applications/ServBay/logs/
na subpasta apropriada) para diagnosticar o problema.
Resumo
Adicionar sites via configuração personalizada oferece flexibilidade incomparável para usuários ServBay, permitindo controle total sobre o comportamento do servidor para cada site. Entretanto, isso exige conhecimento de configuração de servidores web e assume a responsabilidade de garantir a correção, segurança e o gerenciamento dos certificados SSL. Compreender as estruturas dos templates, os requisitos de SSL e o mecanismo de vinculação de servidor são essenciais para o sucesso ao utilizar este recurso.