Installation des Webman-Projekts mit dem Baat-Panel

0. Systemanforderungen

  • PHP >= 8.1

1. Projekt erstellen

cd /www/wwwroot
composer create-project workerman/webman:~2.0

2. Website einrichten

Hinweis:
Das Baat-Panel wird den Prozess automatisch überwachen. Der Startbefehl lautet php /www/wwwroot/webman/start.php start. Fügen Sie nicht den Parameter -d hinzu, da sonst der Start nicht möglich ist.

3. Website konfigurieren

4. Verzeichnis für die Ausführung festlegen

Hinweis:
Aus Sicherheitsgründen muss das Verzeichnis für die Ausführung auf /public festgelegt werden. Eine falsche Einstellung könnte dazu führen, dass sensible Dateien von außen zugänglich sind.

5. URL-Rewriting einstellen

  # Leitet Anfragen an Webman weiter
  location ^~ / {
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_http_version 1.1;
      proxy_set_header Connection "";
      if (!-f $request_filename){
          proxy_pass http://127.0.0.1:8787;
      }
  }

  # Verweigert den Zugriff auf alle Dateien, die mit .php enden
  location ~ \.php$ {
      return 404;
  }

  # Erlaubt den Zugriff auf das .well-known Verzeichnis
  location ~ ^/\.well-known/ {
    allow all;
  }

  # Verweigert den Zugriff auf alle Dateien oder Verzeichnisse, die mit . beginnen
  location ~ /\. {
      return 404;
  }

6. Schreibrechte für runtime setzen

chmod -R 777 /www/wwwroot/webman/runtime

Anmerkung
Normalerweise ist dieser Schritt nicht notwendig. Es scheint ein Baat-Panel-Bug zu sein, bei dem der für den Dienst gesetzte Benutzer www gestartet wird, aber tatsächlich der Benutzer daemon gestartet wird, was dazu führt, dass das Verzeichnis runtime nicht beschreibbar ist.

7. Dienst neu starten

8. Website aufrufen

Rufen Sie die Website http://example.com auf, um die Willkommensseite von Webman zu sehen.

Fehlersuche

  • Website ist nicht erreichbar, zeigt 502 Bad Gateway
    Überprüfen Sie, ob Webman gestartet ist.

  • Webman startet nicht
    Überprüfen Sie, ob Fehlerprotokolle vorliegen, wie im Bild gezeigt.