Acessando o Ambiente de Desenvolvimento Local ServBay na Rede Local (LAN)
Para pequenas equipes de desenvolvimento ou desenvolvedores individuais que precisam testar em múltiplos dispositivos, acessar o ambiente de desenvolvimento local ServBay em outros computadores da mesma rede é uma necessidade comum e importante. O ServBay foi projetado para permitir acesso à maioria dos principais serviços via LAN, mas alguns serviços requerem configurações adicionais para garantir segurança e disponibilidade.
Este guia detalha como configurar e acessar os sites e serviços de banco de dados do ServBay na rede local.
Pré-requisitos
Antes de tentar acessar os serviços do ServBay pela rede local, verifique se as seguintes condições são atendidas:
- Conexão de Rede: O computador que hospeda o ServBay (chamado de "máquina host") e o computador que irá acessar (chamado de "cliente") devem estar na mesma rede local (LAN).
- Endereço IP da Host: Saiba qual é o endereço IP interno da máquina host na LAN. Você pode encontrar essa informação nas configurações de rede da própria máquina.
- Configuração de Firewall: Se a máquina host estiver com firewall ativado, você precisará liberar as portas necessárias usadas pelo ServBay para conexões externas (por exemplo, HTTP geralmente na porta 80, HTTPS na 443, MySQL na 3306, PostgreSQL na 5432, Redis na 6379, etc.). Habilite somente os serviços necessários, abra as portas adequadas e, se possível, configure uma Lista de Controle de Acesso (ACL) para limitar os IPs que podem acessar esses serviços.
Site (Website)
Os sites locais configurados no ServBay normalmente escutam em todas as interfaces de rede do host (ou seja, 0.0.0.0
ou *
), o que permite o acesso automático de outros dispositivos dentro da LAN. ServBay utiliza Caddy ou Nginx como servidores web, e sua configuração padrão geralmente já contempla esse comportamento.
Porém, para acessar esses sites por domínio no navegador do cliente, é necessário configurar corretamente a resolução DNS. Além disso, se o seu site local utiliza certificados SSL gerados pelo ServBay (altamente recomendado), os clientes também precisarão instalar o certificado raiz do ServBay para evitar avisos do navegador.
Abaixo exemplificamos o processo de configuração:
- IP LAN da Host:
10.0.0.3
- Domínio do site ServBay:
servbay.demo
- Diretório raiz do site:
/Applications/ServBay/www/servbay.demo
Configurando a Resolução de Domínio (DNS)
O computador cliente precisa "saber" que o domínio servbay.demo
aponta para o IP 10.0.0.3
. As duas formas mais comuns de configurar isso são:
Alterando o arquivo Hosts do cliente: Método simples e direto para poucos computadores.
- Localize o arquivo Hosts no cliente:
- macOS/Linux:
/etc/hosts
- Windows:
C:\Windows\System32\drivers\etc\hosts
- macOS/Linux:
- Abra o arquivo com permissões de administrador e adicione a linha:
10.0.0.3 servbay.demo
1 - Salve o arquivo. Agora, ao acessar
servbay.demo
, o cliente será direcionado para10.0.0.3
.
- Localize o arquivo Hosts no cliente:
Configurando no servidor DNS da LAN: Se você utiliza um servidor DNS próprio (como o do roteador ou um serviço dedicado), crie um registro A para
servbay.demo
apontando para10.0.0.3
. Todos os dispositivos da rede que usam esse DNS conseguirão acessar corretamente o domínio.
Distribuição e Instalação do Certificado Raiz do Usuário ServBay (SSL)
Como o ServBay fornece uma infraestrutura de PKI avançada para ambientes de desenvolvimento, incluindo a geração de um certificado raiz próprio (ServBay User CA) para assinar os certificados SSL locais, é necessário que cada cliente confie nessa autoridade para evitar alertas de segurança ao acessar sites HTTPS.
Você deve exportar o ServBay User CA e distribuí-lo aos usuários na rede, orientando-os a instalar e confiar no certificado em seu sistema operacional ou navegador.
Para instruções detalhadas, consulte a seção sobre gerenciamento de certificados SSL na documentação do ServBay, principalmente as partes sobre exportação e instalação em sistemas operacionais/navegadores.
Bancos de Dados
O ServBay suporta diversos sistemas de banco de dados, como MySQL, MariaDB, PostgreSQL e MongoDB, além de bancos em memória como Redis e Memcached. Cada serviço possui sua própria configuração padrão de escuta de rede e controle de permissões.
MySQL / MariaDB
No ServBay, MySQL e MariaDB escutam todas as interfaces de rede (0.0.0.0
) por padrão, permitindo conexões da LAN.
Entretanto, o MySQL/MariaDB utiliza mecanismo rigoroso de autenticação. Mesmo que o acesso de rede esteja liberado, o usuário precisa ter permissão explícita para conectar de um determinado IP com login e senha válidos.
O usuário padrão root
geralmente só permite conexões via 127.0.0.1
ou localhost
. Para permitir acesso externo, crie um novo usuário ou altere permissões existentes para liberar conexões de um IP interno ou de toda a LAN (%
).
Por exemplo, para criar o usuário servbay-demo
, permitindo acesso de qualquer IP na LAN e conceder todos os privilégios a um banco de dados específico:
sql
-- Supondo que você já está logado como root ou usuário com permissão adequada
CREATE USER 'servbay-demo'@'%' IDENTIFIED BY 'sua_senha_forte';
GRANT ALL PRIVILEGES ON `nome_do_seu_banco`.* TO 'servbay-demo'@'%';
FLUSH PRIVILEGES;
1
2
3
4
2
3
4
Substitua 'sua_senha_forte'
e nome_do_seu_banco
conforme sua necessidade.
Atenção: Conceder acesso de qualquer IP (%
) e permissões amplas pode representar risco à segurança. Em ambientes de produção ou redes menos confiáveis, limite o acesso a IPs específicos (ex.: 'servbay-demo'@'10.0.0.5'
) ou utilize VPNs.
O ServBay permite redefinir a senha do root
do MySQL/MariaDB e também gerenciar permissões via ferramentas de cliente.
Redis
Por padrão, o Redis no ServBay escuta apenas 127.0.0.1
, não aceitando conexões externas. Isso ocorre principalmente porque, por padrão, o Redis não requer senha.
Para liberar o acesso da LAN ao Redis, você precisa alterar o arquivo de configuração redis.conf
.
Existem duas maneiras de fazer isso:
1. Pela interface gráfica do ServBay
- Abra o ServBay, navegue até
Banco de Dados
>Redis
no menu lateral - Na área de configuração, marque a opção
Require Password
(Exigir senha) e defina uma senha forte - Clique em
Salvar
2. Editando manualmente o arquivo redis.conf
(não recomendado)
- Localize o arquivo Redis config (ex.:
/Applications/ServBay/etc/redis/redis.conf
). - Abra com um editor de texto.
- Encontre a linha
bind 127.0.0.1
. - Modifique para
bind 0.0.0.0
ou comente a linha removendo os#
. Isso fará o Redis escutar em todas interfaces de rede. - Extremamente importante: Encontre e configure a linha
requirepass
removendo o comentário e inserindo uma senha forte:Jamais libere o Redis na LAN/público sem senha! Isso é um risco gravíssimo.requirepass sua_senha_muito_forte_redis
1 - Salve o arquivo.
- Reinicie o serviço Redis pelo próprio ServBay para aplicar as alterações.
Agora o Redis aceitará conexões na LAN usando o IP do host e a senha definida.
PostgreSQL
Por padrão, o PostgreSQL no ServBay escuta apenas 127.0.0.1
, bloqueando conexões externas.
Para habilitar acesso via LAN, edite dois arquivos: postgresql.conf
e pg_hba.conf
.
Localize os arquivos em
/Applications/ServBay/etc/postgresql/postgresql.conf
e/Applications/ServBay/etc/postgresql/pg_hba.conf
.Edite o
postgresql.conf
:- Abra o arquivo e encontre a linha
listen_addresses
. - Remova o comentário e defina o valor como
'*'
:listen_addresses = '*'
1 - Salve o arquivo.
- Abra o arquivo e encontre a linha
Edite o
pg_hba.conf
:- Abra o arquivo e acrescente uma linha assim:
# TYPE DATABASE USER ADDRESS METHOD host all all 10.0.0.0/24 md5
1
2TYPE
:host
indica conexão via TCP/IP.DATABASE
eUSER
:all
permitem acesso a todos, podendo ser personalizado.ADDRESS
:10.0.0.0/24
libera a faixa10.0.0.1
a10.0.0.254
. Ajuste conforme sua rede.METHOD
:md5
exige senha criptografada. Não usetrust
oupassword
em conexões externas.
- Salve o arquivo.
- Abra o arquivo e acrescente uma linha assim:
Reinicie o PostgreSQL pelo ServBay para aplicar as configurações.
Agora, clientes poderão conectar-se ao PostgreSQL pelo IP da LAN com um usuário e senha válidos.
O ServBay também permite redefinir a senha do superusuário (postgres
) ou gerenciar permissões por ferramentas de cliente.
Memcached
O Memcached é um sistema de cache em memória de alta performance sem mecanismo próprio de autenticação ou autorização.
Por isso, não se recomenda expor o Memcached diretamente em redes externas. Só faça isso se for absolutamente necessário e houver controle rígido de acesso de rede/firewall.
No ServBay, é possível configurar o Memcached para escutar por conexões externas modificando o arquivo de configuração, mas lembre que não há proteção por senha.
Considerações de Segurança
Abrir serviços do ambiente local na rede facilita o trabalho em equipe e testes multiplataforma, porém aumenta a exposição a riscos de segurança. Lembre-se destas práticas:
- Firewall: Sempre limite via firewall o acesso às portas do ServBay somente aos IPs de confiança da sua rede local.
- Senhas Fortes: Utilize senhas fortes para bancos de dados e Redis, e troque-as periodicamente.
- Princípio do Menor Privilégio: Conceda aos usuários de bancos de dados apenas as permissões necessárias, evitando uso do
root
oupostgres
para conexões cotidianas. - Memcached: Reforce o cuidado — como não há autenticação interna, só exponha se for realmente imprescindível e sob firewall rígido. Considere acesso seguro via SSH Tunnel.
- Atualizações: Mantenha o sistema operacional da máquina host do ServBay e o próprio ServBay sempre atualizados para receber patches de segurança.
Seguindo estes passos e recomendações, é possível compartilhar e acessar seu ambiente ServBay via LAN de maneira segura e eficiente.