3. Datenbanken, Websites und Terminals
3.3 Websites und .localhost-Adressen
Einen Ordner als Website bereitstellen: statische Dateien, PHP, Caddy oder Apache. Die gemeinsamen Server der Seite „Webserver“, die .localhost-Domains und die Aliasse.
In der App: «Webserver»
Kurz gesagt
- Im Abschnitt „Website“ eines Projekts wählst du einen Ordner und wie er bereitgestellt wird: statische Dateien, PHP, Caddy oder Apache.
- Mit Caddy und Apache kommt die Website in einen Server, den sie mit den anderen Projekten derselben Versionen teilt, unter einer Adresse wie http://mio-sito.localhost:8081.
- Die Seite „Webserver“ zeigt diese gemeinsamen Server (Pools) und lässt dich eigene erstellen (Profile).
- Die Websites antworten nur diesem PC, es sei denn, du aktivierst das lokale Netzwerk in den Einstellungen.

Der bereitzustellende Ordner, die Art (statische Dateien, PHP, Caddy, Apache) und für Caddy und Apache Profil, Domains und Aliase.

Pools und Profile links; rechts die verbundenen Sites, die Details und die Startoptionen des gewählten Pools.
Ein Projekt als Website bereitstellen
- Öffne das Projekt und den Abschnitt „Website“.
- Schreib in „Als Website bereitzustellender Ordner“ den zu veröffentlichenden Ordner: . für das ganze Projekt oder zum Beispiel public.
- Wähle unter „mit“, wie er bereitgestellt wird (siehe Tabelle).
- Wähle bei Caddy und Apache auch das „Serverprofil“.
- Drück „Speichern“. Die Website wird zur Standardaktion des Projekts: Sie startet mit „Starten“.
| Auswahl | Wann verwenden |
|---|---|
| statische Dateien | Fertiges HTML, CSS, JavaScript. Das ist die Anfangseinstellung. Das Kit verwendet seinen kleinen Dateiserver, der auch als <Projekt>.localhost antwortet. |
| PHP (integrierter Server) | Eine einfache PHP-Website, bereitgestellt vom integrierten Server von PHP. |
| Caddy | Eine PHP- oder statische Website, bereitgestellt von Caddy. Caddy liest keine .htaccess-Dateien: Die Rewrite-Regeln erzeugt das Kit aus dem Projekttyp. |
| Apache | Eine Website, die Apache und seine .htaccess-Dateien braucht (viele PHP-CMS). |
„Website entfernen“ entfernt die Konfiguration. Um sie zu ändern, stoppe zuerst die Website: Die Änderung gilt ab dem nächsten Start.
Das Serverprofil: gemeinsam oder eigener
| Profil | Was passiert |
|---|---|
| Automatisch (Pool nach Version) | Die Anfangseinstellung. Die Website kommt in den gemeinsamen Server ihrer Versionen (zum Beispiel Apache 2.4 mit PHP 8.4), zusammen mit den anderen Projekten, die dieselben verwenden: ein einziger Port, ein Name pro Website. |
| Eigener Server (Port des Projekts) | Ein Caddy oder Apache nur für dieses Projekt, auf dem Port des Projekts. Die Konfiguration liegt in data\projects\<Projekt>\apache oder \caddy, und deine Direktiven gehören in den Unterordner conf.d (.conf-Dateien für Apache, .caddy für Caddy). |
| Ein eigenes Profil | Eines der auf der Seite Webserver erstellten Profile, zum Beispiel mit einer bestimmten PHP-Version. |
- StartenDrück „Starten“ im Projekt.
- PoolDas Kit schaltet den Pool seiner Versionen ein oder lädt ihn neu, wenn er schon läuft.
- NameDie Website erhält den Namen <Projekt>.localhost.
- AdresseDu öffnest sie unter http://<Projekt>.localhost:<Port des Pools>.
- „Beenden“ trennt die Website vom Pool. Ein von Projekten eingeschalteter Pool geht mit dem letzten Projekt aus, es sei denn, du hast ihn auf der Seite Webserver gestartet oder sein Profil sagt „Auch ohne Projekte aktiv lassen“.
- Kann der automatische Pool nicht starten, verwendet die Website einen eigenen Server, und die Ausgabe sagt es: „Der gemeinsame Server … ist nicht gestartet (…): Die Website verwendet einen eigenen Server.“
- Im Pool behält die Website deine Direktiven, wie mit einem eigenen Server: Apache bindet die .conf-Dateien aus data\projects\<Projekt>\apache\conf.d ein, Caddy importiert die .caddy-Dateien aus data\projects\<Projekt>\caddy\conf.d.
.localhost-Domains und Aliase
Mit Caddy und Apache kannst du der Website weitere Namen geben und Ordner von anderen Orten einbinden. Namen, die auf .localhost enden, führen immer zu diesem PC, ohne die hosts-Datei von Windows anzufassen.
| Feld | Beispiel | Wirkung |
|---|---|---|
| Zusätzliche .localhost-Domains | api.negozio.localhost, admin.negozio.localhost | Die Website antwortet auch auf diese Namen. Nur Namen, die auf .localhost enden. |
| Portable Pfad-Aliase | /media → storage/uploads | Die Adresse /media liefert den Ordner storage/uploads des Projekts. Mit @anderes-projekt/public kannst du den Ordner eines anderen Projekts bereitstellen. |
„Alias hinzufügen“ fügt eine Zeile „URL-Pfad“ → „Relativer Ordner“ hinzu; „Entfernen“ entfernt sie. Die Ordner müssen relativ sein (keine absoluten Pfade und kein ..), damit die Website weiter funktioniert, wenn das Kit den Laufwerksbuchstaben oder den PC wechselt.
Die Seite „Webserver“
Der Bereich „Aktive Pools und Profile“ listet die gemeinsamen Server mit Port, Status und Anzahl der Websites auf. Ein Klick öffnet seine Seite:
| Teil | Was er enthält |
|---|---|
| Verbundene VirtualHosts | Die Websites des Pools: Projekt, Ordner, anklickbare Adresse, Namen und Aliase. „Getrennt: Das Projekt ist gestoppt“, wenn das Projekt gestoppt wurde. |
| Pool-Details | Engine, Serverversion, PHP-Version, Port, Typ (automatischer Pool oder manuelles Profil), Konfigurationsordner. |
| Start und Stopp | Für ein Profil: „Auch ohne Projekte aktiv lassen“ und „Mit Atollo starten“. Ein automatischer Pool startet mit dem ersten Projekt, das ihn verwendet, und stoppt mit dem letzten. |
Die Schaltflächen oben: „Starten“ oder „Beenden“, „Konfiguration neu laden“ und bei Profilen „Profil löschen“, das zuerst nach einer Bestätigung fragt. Ein Pool, der noch läuft, aber an keine Projekte oder Profile mehr gebunden ist, zeigt eine Warnung: Stoppe ihn. Ein erstelltes, geklontes oder gelöschtes Projekt erscheint sofort auf der Seite oder verschwindet von ihr.
- Um ein Profil zu erstellen, drück „Neues Serverprofil“ oben in der Seitenleiste.
- Füll „Profilname“, „Webserver“ (Caddy oder Apache httpd), „Serverversion“, „PHP-Version“ und, wenn du möchtest, „Port“ aus (sonst wählt das Kit einen freien zwischen 8081 und 8999). Ein Port, den schon ein anderer Pool, eine Datenbankversion oder eine Projektaktion hat, oder einer zwischen 7000 und 7099 (die des Editors), wird abgelehnt: Die Meldung sagt, wem er gehört.
- Wähle, ob er auch ohne Projekte laufen und ob er mit Atollo starten soll, und drück dann „Profil erstellen“.
- Wähle im Abschnitt „Website“ der Projekte das Profil im Menü „Serverprofil“.
Für andere PCs im Netzwerk erreichbar sein
Normalerweise antworten die Websites nur diesem PC. Um sie von einem Telefon oder einem anderen Computer im selben Netzwerk auszuprobieren, aktiviere „Anderen PCs im Netzwerk den Zugriff auf die Projektserver erlauben“ unter Einstellungen › Netzwerk: Firmennetzwerk: Proxy, Zertifikate, lokales Netzwerk (6.3). Die anderen Geräte verwenden die IP-Adresse dieses PCs und den Port, auch beim integrierten Server von PHP; .localhost-Namen funktionieren nur hier. Während die Website läuft, zeigt die Zeile „Vom Telefon“ in den Details der Aktion diese Adresse mit ihrem QR-Code, zum Scannen mit dem Telefon. Datenbanken und phpMyAdmin bleiben für das Netzwerk in jedem Fall gesperrt.
Unter der Haube
- Die Konfiguration der Website steht in der Datei panel.json des Projekts (Aktion site), die Profile in data\app\servers.json.
- Die Konfiguration der Pools wird bei jedem Start und Neuladen in data\servers\<Pool> neu erzeugt (httpd.conf oder Caddyfile, ein Ordner vhosts mit einer Datei pro Website, die Protokolle), nie im Projekt.
- Automatische Pools haben einen Namen wie apache-2.4_php-8.4 oder caddy-2.11 und einen Port zwischen 8081 und 8999, der von einem Start zum nächsten gespeichert bleibt und außerhalb der Ports gewählt wird, die die anderen Pools, die Datenbanken und die Projektaktionen schon haben.
- Nur HTTP, kein HTTPS. PHP läuft als FastCGI (php-cgi mit Caddy unter Windows, php-fpm unter macOS und Linux).
- Neuladen: Caddy lädt neu, ohne anzuhalten; bei Apache oder einem Wechsel von Port oder PHP startet der Pool neu.