Installazione del progetto Webman su Panello Baota

0. Requisiti di sistema

  • PHP >= 8.1

1. Creare un progetto

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

2. Configurare il sito web

Attenzione:
Baota proteggerà automaticamente il processo, il comando di avvio è php /www/wwwroot/webman/start.php start, non aggiungere il parametro -d, altrimenti non si avvierà

3. Configurare il sito

4. Impostare la directory di esecuzione

Attenzione:
Per la sicurezza del sistema, la directory di esecuzione deve essere impostata su /public, impostazioni errate possono consentire l'accesso a file sensibili da parte di Internet

5. Impostare le regole di URL rewriting

  # Inoltra le richieste a webman
  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;
      }
  }

  # Rifiuta l'accesso a tutti i file che terminano con .php
  location ~ \.php$ {
      return 404;
  }

  # Consenti l'accesso alla directory .well-known
  location ~ ^/\.well-known/ {
    allow all;
  }

  # Rifiuta l'accesso a tutti i file o directory che iniziano con .
  location ~ /\. {
      return 404;
  }

6. Dare permessi di scrittura a runtime

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

Nota
Normalmente questo passaggio non è necessario, si sospetta un bug di Baota, l'utente del servizio impostato su www avvia, ma in realtà è l'utente daemon a essere avviato, causando problemi di scrittura nella directory runtime

7. Riavviare il servizio

8. Accedere al sito

Accedi al sito http://example.com per vedere la pagina di benvenuto di webman

Risoluzione dei problemi

  • Sito non accessibile, messaggio 502 Bad Gateway
    Controlla se webman è avviato

  • Fallimento dell'avvio di webman
    Come mostrato nell'immagine, controlla se ci sono log di errore