Zugriff auf die lokale ServBay-Entwicklungsumgebung im LAN
Für kleine Entwicklungsteams oder Einzelentwickler, die auf mehreren Geräten testen möchten, ist der Zugriff auf die ServBay-Entwicklungsumgebung im lokalen Netzwerk (LAN) ein häufiges und wichtiges Bedürfnis. ServBay unterstützt den LAN-Zugriff auf die meisten Kernfunktionen, für einige Dienste ist jedoch zusätzliche Konfiguration zur Sicherstellung von Sicherheit und Verfügbarkeit erforderlich.
In diesem Artikel erfahren Sie, wie Sie Websites und Datenbankdienste in ServBay für den LAN-Zugriff einrichten und abrufen können.
Voraussetzungen
Bevor Sie die ServBay-Dienste über das LAN zugänglich machen, stellen Sie bitte sicher, dass folgende Voraussetzungen erfüllt sind:
- Netzwerkverbindung: Der Rechner, auf dem ServBay läuft (im Folgenden "Host"), und die zugreifenden Computer ("Clients") befinden sich im selben lokalen Netzwerk.
- IP-Adresse des Hosts: Sie kennen die interne IP-Adresse des Hosts im LAN. Diese finden Sie in den Netzwerkeinstellungen des Hosts.
- Firewall-Konfiguration: Falls auf dem Host eine Firewall aktiv ist, müssen Sie externe Zugriffe auf die von ServBay genutzten Ports erlauben (z. B. HTTP: 80, HTTPS: 443, MySQL: 3306, PostgreSQL: 5432, Redis: 6379). Öffnen Sie nur die benötigten Ports in der Firewall und konfigurieren Sie gegebenenfalls eine Access Control List (ACL), um den IP-Bereich der zugelassenen Clients einzuschränken.
Website
Die über ServBay eingerichteten lokalen Websites lauschen standardmäßig auf allen Netzwerkschnittstellen des Hosts (also 0.0.0.0
oder *
). Dadurch sind sie grundsätzlich von anderen Geräten im selben LAN erreichbar. ServBay nutzt Caddy oder Nginx als Webserver, deren Standardkonfiguration dieses Verhalten üblicherweise vorsieht.
Um allerdings über einen Domainnamen auf die Website zugreifen zu können, müssen die Clients die DNS-Auflösung entsprechend konfigurieren. Falls Ihre lokale Website ein von ServBay generiertes SSL-Zertifikat verwendet (was dringend empfohlen wird), ist es zudem notwendig, das ServBay-Root-Zertifikat auf den zugreifenden Geräten zu installieren, um Browserwarnungen zu vermeiden.
Hier ein beispielhafter Ablauf:
- Host-IP im LAN:
10.0.0.3
- ServBay-Domain:
servbay.demo
- Webroot-Verzeichnis:
/Applications/ServBay/www/servbay.demo
Domainname-Auflösung (DNS) konfigurieren
Der Client muss wissen, dass die Domain servbay.demo
auf die Host-IP 10.0.0.3
zeigt. Dafür gibt es zwei gängige Methoden:
Hosts-Datei des Clients bearbeiten: Für wenige Rechner die einfachste Methode.
- Lokalisieren Sie die Hosts-Datei auf dem Client.
- macOS/Linux:
/etc/hosts
- Windows:
C:\Windows\System32\drivers\etc\hosts
- macOS/Linux:
- Öffnen Sie die Hosts-Datei mit Administratorrechten und fügen Sie am Ende folgende Zeile hinzu:
10.0.0.3 servbay.demo
1 - Speichern Sie die Datei ab. Ab sofort verweist
servbay.demo
auf10.0.0.3
.
- Lokalisieren Sie die Hosts-Datei auf dem Client.
Domain im LAN-DNS-Server eintragen: Falls Ihr LAN einen eigenen DNS-Server besitzt (z. B. im Router integriert oder als dedizierter Dienst), können Sie dort einen A-Record für
servbay.demo
anlegen, der auf die Host-IP zeigt. So wird die Domain für alle per DNS angebundenen Geräte im Netzwerk aufgelöst.
ServBay-User-Root-Zertifikat verteilen und installieren (SSL)
Weil ServBay für lokale Entwicklungsumgebungen eine eigene CA bereitstellt (ServBay User CA), die SSL-Zertifikate für lokale Websites signiert, müssen alle Clients diesen CA-Root vertrauen, um Sicherheitswarnungen beim Zugriff via HTTPS zu vermeiden.
Exportieren Sie dazu das ServBay User CA-Zertifikat vom Host und stellen Sie es den LAN-Nutzern zur Verfügung. Erläutern Sie Ihnen, wie sie es auf ihrem Betriebssystem oder im jeweiligen Browser installieren und als vertrauenswürdig anerkennen.
Detaillierte Schritte zum Export und zur Installation finden Sie im ServBay-Handbuch im Kapitel zum SSL-Zertifikatsmanagement, insbesondere in den Abschnitten Zertifikat exportieren und Installation unter Betriebssystem/Browser.
Datenbanken
ServBay unterstützt verschiedenste Datenbankdienste, darunter MySQL, MariaDB, PostgreSQL und MongoDB, sowie In-Memory-Lösungen wie Redis und Memcached. Die Standard-Einstellungen und Berechtigungssysteme der einzelnen Datenbanken unterscheiden sich dabei.
MySQL / MariaDB
MySQL- und MariaDB-Dienste in ServBay lauschen standardmäßig auf allen Schnittstellen (0.0.0.0
) und sind damit im LAN erreichbar.
MySQL/MariaDB verfügen jedoch über ein striktes Berechtigungsmodell: Auch wenn die Netzwerkverbindung grundsätzlich offensteht, benötigen Benutzer einen Account mit Erlaubnis, von ihrer jeweiligen IP-Adresse aus zuzugreifen.
Der Standard-root
-Nutzer ist meist auf 127.0.0.1
oder localhost
beschränkt. Um den Zugriff aus dem LAN zu ermöglichen, legen Sie neue Nutzer an oder passen Sie die Berechtigungen so an, dass eine Anmeldung von bestimmten LAN-Adressen oder generell (%
) gestattet wird.
Beispiel: Einen Nutzer servbay-demo
erstellen und diesem alle Rechte auf eine Datenbank von jeder LAN-IP (%
) aus gewähren:
-- Angenommen, Sie sind als root oder ein Nutzer mit ausreichenden Rechten eingeloggt
CREATE USER 'servbay-demo'@'%' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON `your_database_name`.* TO 'servbay-demo'@'%';
FLUSH PRIVILEGES;
2
3
4
Ersetzen Sie dabei 'your_strong_password'
und your_database_name
durch Ihre eigenen Werte.
Wichtiger Hinweis: Die Vergabe von Zugang und Vollzugriff für alle IPs (%
) ist ein Sicherheitsrisiko. In produktiven oder nicht vollständig vertrauenswürdigen Netzwerken sollten Sie den Nutzerzugriff unbedingt auf bekannte IP-Adressen beschränken (z. B. 'servbay-demo'@'10.0.0.5'
) oder – besser noch – durch Nutzung eines VPN absichern.
In ServBay können Sie das MySQL/MariaDB-root
-Passwort zurücksetzen. Zur Rechteverwaltung können Sie auch Client-Tools verwenden.
Redis
Redis ist in ServBay standardmäßig so konfiguriert, dass es nur auf der lokalen Loopback-Adresse (127.0.0.1
) lauscht und daher keine LAN-Zugriffe zulässt. Das geschieht aus Sicherheitsgründen, weil Redis im Auslieferungszustand keine Passwortauthentifizierung aktiviert hat.
Für den LAN-Zugriff auf Redis passen Sie die Konfiguration redis.conf
an.
Sie haben dafür zwei Varianten:
1. Über die ServBay-Benutzeroberfläche
- Starten Sie ServBay, wählen Sie in der linken Navigation
Datenbanken
–Redis
aus. - Setzen Sie im Konfigurationsbereich rechts ein Häkchen bei
Require Password
und vergeben Sie ein Passwort. - Klicken Sie auf
Speichern
.
2. Manuelles Editieren der redis.conf
(nicht empfohlen):
- Finden Sie die
redis.conf
im Konfigurationsordner von ServBay (oft/Applications/ServBay/etc/redis/redis.conf
). - Öffnen Sie die Datei mit einem Texteditor.
- Suchen Sie die Zeile
bind 127.0.0.1
. - Ändern Sie diese zu
bind 0.0.0.0
oder kommentieren Sie sie aus (# bind 127.0.0.1
). Damit lauscht Redis auf allen Schnittstellen. - [Sehr wichtig] Suchen Sie die Zeile
requirepass
(möglicherweise auskommentiert), entfernen Sie die Auskommentierung und tragen Sie ein starkes Passwort ein:Niemals Redis ohne Passwort im LAN oder – noch schlimmer – im öffentlichen Netz verfügbar machen! Das ist ein hohes Sicherheitsrisiko.requirepass your_very_strong_redis_password
1 - Speichern Sie die
redis.conf
. - Starten Sie Redis in der ServBay-App neu, damit die Einstellungen wirksam werden.
Nun kann der Client über die LAN-IP des Hosts und das gesetzte Passwort auf den Redis-Dienst zugreifen.
PostgreSQL
PostgreSQL ist bei ServBay standardmäßig ebenfalls auf die Loopback-Adresse (127.0.0.1
) beschränkt und daher nicht aus dem LAN erreichbar.
Für den LAN-Zugriff bearbeiten Sie zwei Konfigurationsdateien: postgresql.conf
und pg_hba.conf
.
Finden Sie die Konfigurationsdateien im ServBay-Verzeichnis (z. B.
/Applications/ServBay/etc/postgresql/postgresql.conf
und/Applications/ServBay/etc/postgresql/pg_hba.conf
).postgresql.conf
anpassen:- Öffnen Sie die Datei mit einem Editor.
- Suchen Sie die Zeile
listen_addresses
(möglicherweise auskommentiert). - Entfernen Sie die Auskommentierung und setzen Sie den Wert auf
'*'
– damit lauscht PostgreSQL auf allen Schnittstellen:listen_addresses = '*'
1 - Speichern Sie die Datei.
pg_hba.conf
anpassen:- Öffnen Sie die Datei. Sie regelt, welche Hosts und Nutzer für welche Datenbanken unter welchen Authentifizierungsbedingungen Verbindungen herstellen dürfen.
- Fügen Sie beispielsweise hinzu:
# TYPE DATABASE USER ADDRESS METHOD host all all 10.0.0.0/24 md5
1
2TYPE
:host
steht für TCP/IP-Zugriffe.DATABASE
:all
= alle Datenbanken (alternativ spezifizieren).USER
:all
= alle Nutzer (alternativ spezifizieren).ADDRESS
:10.0.0.0/24
erlaubt Zugriffe aus diesem Subnetz. Einzelne IPs oder0.0.0.0/0
(alle, nicht empfohlen!) sind ebenfalls möglich.METHOD
:md5
verlangt ein Passwort (empfohlen).trust
(kein Passwort, nie für Remote-Zugriffe nutzen!) undpassword
(Klartext, unsicher) sollten vermieden werden.
- Speichern Sie die Datei.
Starten Sie PostgreSQL in ServBay neu, damit die Änderungen übernommen werden.
Jetzt kann der Client per LAN-IP, Username und Passwort eine Verbindung zu PostgreSQL aufbauen.
ServBay ermöglicht das Zurücksetzen des root
- (postgres-) Passworts. Auch hier empfiehlt sich die Verwendung von Client-Tools zur Rechteverwaltung.
Memcached
Memcached ist ein Hochleistungs-In-Memory-Cache und wurde sehr einfach konzipiert – er bietet keinerlei integrierte Authentifizierung oder Autorisierung.
Es wird dringend davon abgeraten, Memcached-Dienste ohne weitere Netzwerkschutzmaßnahmen (z. B. Firewall, Zugang nur für vertrauenswürdige Serversegmente) im LAN oder gar im Internet verfügbar zu machen.
In ServBay können Sie Memcached zwar für den LAN-Zugriff konfigurieren – dies geschieht analog zu Redis durch Bearbeiten der Konfigurationsdatei – aber bedenken Sie stets, dass keine Passwortsicherung vorhanden ist.
Wichtige Sicherheitshinweise
Die LAN-Freigabe von Entwicklungsressourcen fördert Teamarbeit und Cross-Device-Tests, birgt aber auch Risiken. Bitte beachten Sie unbedingt:
- Firewall: Kontrollieren Sie per Firewall, welche LAN-IPs auf die geöffneten ServBay-Ports zugreifen dürfen.
- Starke Passwörter: Verwenden Sie für Datenbanken (MySQL/MariaDB/PostgreSQL) und Redis starke Passwörter und aktualisieren Sie diese regelmäßig.
- Prinzip der minimalen Rechte: Vergeben Sie nur absolut notwendige Rechte an Datenbank-Nutzer. Für Alltagsarbeiten sollten keine
root
- oderpostgres
-Accounts verwendet werden. - Memcached-Sicherheit: Da Memcached keine eigene Zugriffskontrolle besitzt, sollte ein Zugang aus dem LAN vermieden oder über z. B. SSH-Tunnel realisiert werden.
- System aktuell halten: Aktualisieren Sie stets Betriebssystem und alle ServBay-Komponenten, um Sicherheitslücken zu schließen.
Wenn Sie diese Tipps und Empfehlungen befolgen, steht der sicheren Zusammenarbeit und Entwicklung in Ihrer LAN-basierten ServBay-Umgebung nichts mehr im Wege.