Accesso all’ambiente di sviluppo locale ServBay in una rete LAN
Per piccoli team di sviluppo o sviluppatori individuali che necessitano di test su dispositivi diversi, poter accedere all’ambiente di sviluppo locale ServBay di un altro membro o dispositivo sulla rete locale (LAN) è un’esigenza comune e fondamentale. ServBay è progettato per permettere l’accesso via LAN alla maggior parte dei servizi principali, ma alcuni richiedono configurazioni aggiuntive per garantire sicurezza e funzionalità.
In questa guida troverai tutti i dettagli su come configurare e accedere a siti web e servizi database di ServBay nella tua rete LAN.
Prerequisiti
Prima di tentare di accedere ai servizi ServBay tramite la LAN, assicurati che siano soddisfatti i seguenti requisiti:
- Connessione di rete: Il computer che esegue ServBay (indicato come “host”) e il computer che vuole accedere ai servizi (il “client”) devono appartenere alla stessa rete locale.
- Indirizzo IP dell’host: Devi conoscere l’indirizzo IP interno dell’host sulla rete LAN. Puoi trovarlo nelle impostazioni di rete della macchina host.
- Configurazione del firewall: Se il sistema operativo dell’host ha un firewall abilitato, è necessario consentire le connessioni esterne sulle porte utilizzate da ServBay (ad esempio HTTP 80, HTTPS 443, MySQL 3306, PostgreSQL 5432, Redis 6379, ecc.). Apri le porte necessarie a seconda dei servizi che vuoi offrire e, se possibile, usa l’Access Control List (ACL) per limitare gli IP autorizzati all’accesso.
Siti web (Website)
I siti web configurati su ServBay, per impostazione predefinita, ascoltano su tutte le interfacce di rete dell’host (ossia 0.0.0.0
o *
), consentendo così l’accesso naturale da qualsiasi dispositivo connesso alla stessa LAN. ServBay utilizza Caddy o Nginx come web server, i cui settaggi predefiniti coprono questa possibilità.
Tuttavia, per accedere a tali siti tramite nome di dominio dal browser su client diversi, è necessario che il sistema del visitatore sia correttamente configurato per la risoluzione DNS di tale dominio. Inoltre, se usi certificati SSL generati da ServBay (consigliato), i visitatori dovranno installare la Root CA di ServBay per evitare avvisi del browser.
Esempio di configurazione:
- IP LAN dell’host:
10.0.0.3
- Dominio sito ServBay:
servbay.demo
- Directory root del sito:
/Applications/ServBay/www/servbay.demo
Configurazione della risoluzione del dominio (DNS)
Il computer client deve sapere che il dominio servbay.demo
punta all’IP dell’host 10.0.0.3
. Esistono due metodi comuni per farlo:
Modifica del file Hosts sul client: Metodo diretto e semplice per poche macchine.
- Trova il file Hosts sul computer client.
- macOS/Linux:
/etc/hosts
- Windows:
C:\Windows\System32\drivers\etc\hosts
- macOS/Linux:
- Modifica il file con i permessi di amministratore e aggiungi in fondo:
10.0.0.3 servbay.demo
1 - Salva il file. Da ora il client, digitando
servbay.demo
, si collegherà all’IP specificato.
- Trova il file Hosts sul computer client.
Configurazione sul server DNS LAN: Se la rete locale ha un proprio DNS (ad es. nel router o come servizio dedicato), aggiungi un record A per
servbay.demo
puntato all’IP dell’host10.0.0.3
. Tutti i dispositivi che usano questo DNS risolveranno il dominio correttamente.
Distribuzione e installazione del certificato root utente ServBay (SSL)
ServBay include una potente infrastruttura PKI che consente di generare un certificato root personale (la User CA di ServBay) per firmare i certificati SSL dei siti locali. Perché i client non vedano avvisi di sicurezza su siti HTTPS con questi certificati, devono installare e fidarsi della User CA di ServBay.
Esporta la User CA da ServBay e distribuiscila agli utenti che devono accedere via LAN, seguendo le istruzioni di installazione del certificato root per il loro sistema operativo o browser.
Per i passaggi dettagliati su come esportare e installare il certificato, consulta la sezione gestione certificati SSL della documentazione ServBay, in particolare le parti esporta certificato e installazione su sistema/browser.
Database
ServBay supporta diversi servizi database: MySQL, MariaDB, PostgreSQL, MongoDB, Redis e Memcached. Ognuno di questi gestisce ascolto in rete e autorizzazioni in modo differente.
MySQL / MariaDB
MySQL e MariaDB, nella configurazione predefinita di ServBay, ascoltano su tutte le interfacce di rete (0.0.0.0
), consentendo le connessioni dalla LAN subito.
Tuttavia, MySQL/MariaDB impongono controlli rigorosi sui permessi utente. Anche se la connessione di rete è consentita, bisogna comunque usare un nome utente e password abilitati per le connessioni da quell’IP.
L’utente root
di default è solitamente limitato ai collegamenti da 127.0.0.1
o localhost
. Per abilitare l’accesso dalla LAN, crea un nuovo utente o modifica i permessi di uno esistente, specificando l’IP o IP range allowed (usando %
per tutti).
Esempio: crea l’utente servbay-demo
abilitato per tutti gli IP della LAN (%
) e con permessi su uno specifico database:
sql
-- Si presume di essere autenticati come root o utente con privilegi adeguati
CREATE USER 'servbay-demo'@'%' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON `your_database_name`.* TO 'servbay-demo'@'%';
FLUSH PRIVILEGES;
1
2
3
4
2
3
4
Sostituisci 'your_strong_password'
e your_database_name
con i valori reali.
Attenzione: Consentire l’accesso da qualsiasi IP (%
) e concedere privilegi ampi è rischioso a livello di sicurezza. In ambienti produttivi o LAN non completamente affidabili, limita l’accesso a indirizzi IP noti (es. 'servbay-demo'@'10.0.0.5'
), o considera l’uso di VPN.
ServBay permette il reset della password di root MySQL/MariaDB; puoi gestire gli utenti tramite questa funzione o strumenti client.
Redis
In ServBay, Redis è solitamente configurato per ascoltare solo sull’indirizzo di loopback (127.0.0.1
), cioè non è accessibile dalla LAN per motivi di sicurezza, dato che di default non richiede password.
Se occorre l’accesso dalla LAN, modifica il file di configurazione redis.conf
.
Puoi fare così:
1. Tramite l’interfaccia grafica di ServBay
- Da ServBay, via menu laterale vai su
Database
>Redis
- Spunta l’opzione
Require Password
e inserisci una password sicura - Salva le impostazioni
2. Modifica manuale di redis.conf
(sconsigliata)
- Trova il percorso di
redis.conf
(tipicamente in/Applications/ServBay/etc/redis/redis.conf
). - Apri il file con editor di testo.
- Cerca la riga
bind 127.0.0.1
. - Modificala in
bind 0.0.0.0
oppure commentala (# bind 127.0.0.1
), Redis ascolterà così su tutte le interfacce. - Importante: Trova la riga
requirepass
(forse commentata), decommenta e imposta una password robusta:Non esporsi mai su reti locali o pubbliche senza password: rischio di gravissime falle di sicurezza!requirepass your_very_strong_redis_password
1 - Salva il file.
- Riavvia Redis da ServBay per applicare le modifiche.
Ora i client potranno connettersi tramite IP LAN dell’host e la password configurata.
PostgreSQL
Anche PostgreSQL, su ServBay, ascolta solo sul loopback (127.0.0.1
) per default, e quindi non è accessibile dalla LAN.
Per abilitare l’accesso in rete, occorrono due modifiche: postgresql.conf
e pg_hba.conf
.
Trova i loro percorsi (es.
/Applications/ServBay/etc/postgresql/postgresql.conf
e/Applications/ServBay/etc/postgresql/pg_hba.conf
).Modifica
postgresql.conf
:- Apri il file.
- Trova la riga
listen_addresses
(può essere commentata). - Decommenta e imposta su
'*'
:listen_addresses = '*'
1 - Salva il file.
Modifica
pg_hba.conf
:- Apri il file.
- Aggiungi una riga che abilita le connessioni dalla LAN, ad esempio da
10.0.0.0/24
:# TYPE DATABASE USER ADDRESS METHOD host all all 10.0.0.0/24 md5
1
2TYPE
:host
per connessioni TCP/IP.DATABASE
: puoi mettere il nome di un database specifico oall
.USER
: puoi mettere uno specifico utente oall
.ADDRESS
: la subnet da abilitare, qui10.0.0.0/24
; evita0.0.0.0/0
se non ci sono firewall.METHOD
:md5
richiede password criptata; evitatrust
opassword
(quest’ultimo è insicuro).
- Salva il file.
Riavvia PostgreSQL da ServBay.
Ora puoi collegarti al servizio dal client usando l’IP LAN dell’host e credenziali valide.
ServBay consente il reset della password di root (postgres); puoi amministrare gli utenti come sopra.
Memcached
Memcached è una cache a oggetti in memoria estremamente performante, ma non offre autenticazione o autorizzazione incorporata.
Non si raccomanda quindi di esporre Memcached sulla LAN o, peggio, su reti pubbliche, a meno che non sia strettamente segregato e protetto da firewall o segmentazione di rete.
In ServBay puoi cambiare l’interfaccia su cui Memcached ascolta (di default solo loopback), ma ricorda che non esistono password o sicurezza nativa.
Considerazioni di Sicurezza
L’apertura dei servizi di sviluppo su LAN facilita la collaborazione e i test, ma comporta rischi. Segui queste regole:
- Firewall: Usa sempre il firewall per limitare l’accesso alle porte aperte solo agli IP di fiducia in LAN.
- Password robuste: Imposta password forti per database e Redis, e cambiale con cadenza regolare.
- Minimi privilegi: Assegna agli utenti solo i permessi strettamente necessari; evita di usare utenti root/postgres per connessioni remote quotidiane.
- Sicurezza Memcached: Proprio perché privo di protezioni native, valuta l’uso di tunnel SSH o altri sistemi sicuri per accedervi.
- Aggiorna OS e software: Mantieni sempre aggiornati ServBay e l’host con le ultime patch di sicurezza.
Seguendo questi consigli e configurazioni, potrai condividere e accedere in modo sicuro ed efficace al tuo ambiente di sviluppo locale ServBay tramite rete LAN.