ServBay Lokale Ontwikkelomgeving Toegankelijk Maken op het LAN
Voor kleine ontwikkelteams of individuele ontwikkelaars die hun werk willen testen op meerdere apparaten, is toegang tot een ServBay lokale ontwikkelomgeving binnen het lokale netwerk (LAN) een veelvoorkomende en belangrijke behoefte. ServBay is ontworpen om de meeste kernservices via het LAN toegankelijk te maken, maar bepaalde services moeten extra geconfigureerd worden voor optimale beveiliging en beschikbaarheid.
Dit artikel legt stap voor stap uit hoe je websites en databaseservices van ServBay kunt instellen en bereiken via het LAN.
Voorwaarden
Zorg dat aan de volgende voorwaarden is voldaan voordat je ServBay-services probeert te benaderen via het lokale netwerk:
- Netwerkverbinding: De computer met ServBay (hierna "host") en de client-computer moeten zich op hetzelfde lokale netwerk bevinden.
- IP-adres van de host: Noteer het interne IP-adres van de host in het LAN. Dit adres kun je vinden in de netwerkinstellingen van de host.
- Firewallconfiguratie: Als op de host een firewall actief is, moet je ervoor zorgen dat de benodigde poorten die ServBay gebruikt geopend zijn voor inkomende connecties (zoals HTTP op poort 80, HTTPS op 443, MySQL op 3306, PostgreSQL op 5432, Redis op 6379, enzovoort). Open enkel de poorten van de gewenste services in de firewall en gebruik, indien nodig, toegangscontrollijsten (ACL) om te beperken welke IP-adressen toegang hebben.
Website
De lokale websites die je in ServBay configureert luisteren standaard op alle netwerkinterfaces van de host (0.0.0.0
of *
), wat betekent dat ze vanzelfsprekend benaderbaar zijn vanaf andere apparaten binnen het LAN. ServBay gebruikt Caddy of Nginx als webserver – deze zijn standaard ook zo ingesteld.
Wil je via een domeinnaam de website in de browser van een client benaderen, moet de domeinnaam correct opgelost kunnen worden op dat systeem. Gebruik je een met ServBay gegenereerd SSL-certificaat voor je lokale website (sterk aanbevolen), dan dient de client ook ServBay's rootcertificaat te installeren om browserwaarschuwingen te voorkomen.
Hieronder een voorbeeld ter illustratie:
- Host LAN IP:
10.0.0.3
- ServBay Website Domein:
servbay.demo
- Website rootmap:
/Applications/ServBay/www/servbay.demo
Domeinnaam Resolutie (DNS) Instellen
De client moet weten dat het domein servbay.demo
verwijst naar het IP-adres 10.0.0.3
. Dit kan op twee gebruikelijke manieren:
Hosts-bestand wijzigen op de client: Dit is de snelste manier voor enkele computers.
- Lokaliseer het hosts-bestand op de client:
- macOS/Linux:
/etc/hosts
- Windows:
C:\Windows\System32\drivers\etc\hosts
- macOS/Linux:
- Open het bestand met administratorrechten en voeg onderaan toe:
10.0.0.3 servbay.demo
1 - Sla het bestand op. Vanaf nu verwijst
servbay.demo
op de client naar10.0.0.3
.
- Lokaliseer het hosts-bestand op de client:
Domeinnaam op de LAN DNS-server instellen: Heeft je netwerk een eigen DNS-server (bijvoorbeeld via de router), kun je een A-record toevoegen die
servbay.demo
naar10.0.0.3
laat verwijzen. Elk apparaat op het LAN dat deze DNS-server gebruikt, kan dan het domein juist oplossen.
ServBay Rootcertificaat (SSL) Uitdelen en Installeren
Omdat ServBay een eigen rootcertificaat (ServBay User CA) gebruikt voor het genereren van lokale SSL-certificaten, moeten clients dit rootcertificaat vertrouwen om browser-waarschuwingen bij toegang tot HTTPS-sites te voorkomen.
Exporteer het ServBay User CA-rootcertificaat en deel dit uit aan je teamgenoten. Zij moeten het certificaat vervolgens in hun besturingssysteem of browser installeren en vertrouwen.
Raadpleeg de documentatie van ServBay voor gedetailleerde instructies over het exporteren van certificaten en het installeren ervan op verschillende systemen.
Database
ServBay ondersteunt diverse databases, waaronder MySQL, MariaDB, PostgreSQL, MongoDB en in-memory databases zoals Redis en Memcached. De standaard netwerkconfiguratie en toegangscontrole verschillen per database.
MySQL / MariaDB
MySQL- en MariaDB-services in ServBay zijn standaard geconfigureerd om te luisteren op alle netwerkinterfaces (0.0.0.0
), wat betekent dat ze vanaf het LAN bereikbaar zijn.
Let echter op: MySQL/MariaDB hanteren strikte gebruikersrechten. Zelfs als het netwerkverkeer is toegestaan, moet een gebruiker specifiek gemachtigd zijn om vanaf een bepaald IP-adres in te loggen.
De standaard root
gebruiker heeft meestal alleen toegang vanaf 127.0.0.1
of localhost
. Om LAN-toegang mogelijk te maken, kun je een nieuwe databasegebruiker aanmaken of een bestaande gebruiker de juiste rechten geven om verbinding te maken vanaf een specifiek LAN IP-adres of alle adressen (%
).
Bijvoorbeeld, om een gebruiker servbay-demo
aan te maken met universele LAN-toegang:
sql
-- Ga ervan uit dat je bent ingelogd als root of een gebruiker met voldoende rechten
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
Vervang 'your_strong_password'
en your_database_name
door je eigen waarden.
Belangrijk: Universele toegang via %
en brede rechten brengen veiligheidsrisico’s met zich mee. In productie of een wantrouwd LAN, beperk de toegang tot bekende IP-adressen (zoals 'servbay-demo'@'10.0.0.5'
) of gebruik een VPN.
ServBay ondersteunt het resetten van het MySQL/MariaDB root
-wachtwoord en gebruikersbeheer via de interface of een clientprogramma.
Redis
Standaard luistert Redis in ServBay alleen op 127.0.0.1
, zodat LAN-connecties geweigerd worden – dit omwille van de veiligheid, want Redis is standaard niet met wachtwoord beschermd.
Wil je toch LAN-toegang, pas dan redis.conf
aan:
1. Via de ServBay UI
- Open ServBay en navigeer naar
Databases > Redis
. - Zet een vinkje bij 'Require Password' en vul rechts een wachtwoord in.
- Klik op 'Opslaan'.
2. Handmatig redis.conf
bewerken (niet aanbevolen)
- Zoek het configuratiebestand (meestal via
/Applications/ServBay/etc/redis/redis.conf
). - Open het bestand met een teksteditor.
- Zoek de regel
bind 127.0.0.1
. - Verander deze naar
bind 0.0.0.0
of zet er een#
voor zodat Redis luistert op alle netwerkinterfaces. - [Zeer belangrijk] Zoek
requirepass
, haal het hekje weg als het er staat, en kies een sterk wachtwoord:Nooit Redis openstellen voor het LAN of internet zonder wachtwoord!requirepass your_very_strong_redis_password
1 - Sla het bestand op.
- Herstart Redis via ServBay.
Nu kunnen clients op het LAN verbinden met Redis met het opgegeven wachtwoord.
PostgreSQL
PostgreSQL in ServBay luistert standaard alleen op 127.0.0.1
, LAN-toegang is dus geblokkeerd.
LAN-toegang activeren vereist wijziging van twee configuratiebestanden: postgresql.conf
en pg_hba.conf
.
Zoek de configuratiebestanden (gewoonlijk
/Applications/ServBay/etc/postgresql/postgresql.conf
en/Applications/ServBay/etc/postgresql/pg_hba.conf
).postgresql.conf
aanpassen:- Open het bestand.
- Zoek de regel met
listen_addresses
(mogelijk met # uitgeschakeld). - Verwijder het hekje en maak er van:
listen_addresses = '*'
1 - Sla het bestand op.
pg_hba.conf
aanpassen:- Open het bestand.
- Voeg een regel toe voor LAN-toegang – bijvoorbeeld om alle clients uit het subnet
10.0.0.0/24
toegang te geven met wachtwoordverificatie:# TYPE DATABASE USER ADDRESS METHOD host all all 10.0.0.0/24 md5
1
2TYPE
:host
voor TCP/IP.DATABASE
:all
of een specifieke naam.USER
:all
of een specifieke gebruiker.ADDRESS
: Subnet, een enkel IP, of (niet aanbevolen:)0.0.0.0/0
.METHOD
:md5
vereist een wachtwoord.
- Sla het bestand op.
Herstart de PostgreSQL-service in ServBay.
Nu kunnen clients verbinden met het LAN-IP van de host, een PostgreSQL-gebruikersnaam en wachtwoord.
ServBay ondersteunt het resetten van het PostgreSQL root
(postgres) wachtwoord en gebruikersbeheer.
Memcached
Memcached is een snelle, eenvoudige cache-dienst zonder ingebouwde authenticatie of authorisatie.
Het is dan ook sterk afgeraden Memcached rechtstreeks beschikbaar te maken op het LAN, tenzij je het netwerksegment streng via bijv. een firewall afschermt. De standaardinstelling is luisteren op alleen 127.0.0.1
. Je kunt het luisteradres aanpassen in de configuratie, maar wees bewust van de veiligheidsrisico’s – Memcached kent geen wachtwoordbescherming.
Veiligheidsoverwegingen
Het openstellen van je lokale ontwikkelomgeving voor het LAN is handig, maar brengt extra risico’s. Let op het volgende:
- Firewall: Gebruik altijd een firewall om toegang tot ServBay-poorten te beperken tot vertrouwde IP-reeksen.
- Sterke wachtwoorden: Gebruik sterke wachtwoorden voor databases (MySQL/MariaDB/PostgreSQL) en Redis. Vergeet niet deze periodiek te wijzigen.
- Minimale rechten: Geef databasegebruikers alleen de hoogst noodzakelijke rechten. Gebruik geen
root
ofpostgres
account voor reguliere externe toegang. - Memcached-beveiliging: Onthoud dat Memcached geen beveiliging kent; overweeg beveiligde tunnels (zoals SSH) voor toegang.
- Updates: Houd je besturingssysteem, ServBay en alle software up-to-date voor de nieuwste beveiligingsupdates.
Door deze stappen en tips te volgen, kun je ServBay veilig en efficiënt delen en gebruiken binnen je lokale netwerk.