3. Database, siti e terminali

3.3 Siti web e indirizzi .localhost

Servire una cartella come sito: file statici, PHP, Caddy o Apache. I server condivisi della pagina «Server Web», i domini .localhost e gli alias.

Nell'app: «Server Web»

In breve

  • Nella sezione «Sito web» di un progetto scegli una cartella e come servirla: file statici, PHP, Caddy o Apache.
  • Con Caddy e Apache il sito entra in un server condiviso con gli altri progetti delle stesse versioni, su un indirizzo come http://mio-sito.localhost:8081.
  • La pagina «Server Web» mostra questi server condivisi (pool) e permette di crearne di tuoi (profili).
  • I siti rispondono solo a questo PC, salvo che tu non attivi la rete locale nelle Impostazioni.
La sezione «Sito web» di un progettodati di esempio
La sezione «Sito web» di un progetto

La cartella da servire, il modo (file statici, PHP, Caddy, Apache) e, per Caddy e Apache, profilo, domini e alias.

La pagina Server Webdati di esempio
La pagina Server Web

I pool e i profili a sinistra; a destra i siti collegati, i dettagli e le opzioni di avvio del pool scelto.

Servire un progetto come sito

  1. Apri il progetto e la sezione «Sito web».
  2. In «Servi come sito web la cartella» scrivi la cartella da pubblicare: . per tutto il progetto, oppure per esempio public.
  3. In «con» scegli come servirla (vedi la tabella).
  4. Per Caddy e Apache scegli anche il «Profilo server».
  5. Premi «Salva». Il sito diventa l'azione predefinita del progetto: si avvia con «Avvia».
SceltaQuando usarla
file staticiHTML, CSS, JavaScript già pronti. È la scelta iniziale. Il kit usa il suo piccolo server di file, che risponde anche come <progetto>.localhost.
PHP (server integrato)Un sito PHP semplice, servito dal server integrato di PHP.
CaddyUn sito PHP o statico servito da Caddy. Caddy non legge i file .htaccess: le regole di riscrittura le genera il kit dal tipo di progetto.
ApacheUn sito che ha bisogno di Apache e dei suoi file .htaccess (molti CMS PHP).

«Togli il sito» toglie la configurazione. Per cambiarla, ferma prima il sito: la modifica vale dal prossimo avvio.

Il profilo server: condiviso o tutto suo

ProfiloChe cosa succede
Automatico (pool per versione)La scelta iniziale. Il sito entra nel server condiviso delle sue versioni (per esempio Apache 2.4 con PHP 8.4), insieme agli altri progetti che usano le stesse: un'unica porta, un nome per ogni sito.
Server tutto suo (porta del progetto)Un Caddy o un Apache solo per questo progetto, sulla porta del progetto. La configurazione è in data\projects\<progetto>\apache o \caddy, e le tue direttive vanno nella sottocartella conf.d (file .conf per Apache, .caddy per Caddy).
Un profilo tuoUno dei profili creati nella pagina Server Web, per esempio con una versione di PHP precisa.
  1. AvviaPremi «Avvia» nel progetto.
  2. PoolIl kit accende il pool delle sue versioni, o lo ricarica se è già acceso.
  3. NomeIl sito riceve il nome <progetto>.localhost.
  4. IndirizzoLo apri su http://<progetto>.localhost:<porta del pool>.
  • «Ferma» sgancia il sito dal pool. Un pool acceso dai progetti si spegne con l'ultimo progetto, a meno che tu non l'abbia avviato dalla pagina Server Web o che il suo profilo dica «Mantieni attivo anche senza progetti».
  • Se il pool automatico non riesce a partire, il sito usa un server tutto suo e l'output lo dice: «Il server condiviso … non è partito (…): il sito usa un server tutto suo.»
  • Nel pool il sito tiene le tue direttive, come con un server tutto suo: Apache include i file .conf di data\projects\<progetto>\apache\conf.d, Caddy importa i .caddy di data\projects\<progetto>\caddy\conf.d.

Domini .localhost e alias

Con Caddy e Apache puoi dare al sito altri nomi e collegare cartelle di altri posti. I nomi che finiscono in .localhost portano sempre a questo PC, senza toccare il file hosts di Windows.

CampoEsempioEffetto
Domini .localhost aggiuntiviapi.negozio.localhost, admin.negozio.localhostIl sito risponde anche a questi nomi. Solo nomi che finiscono in .localhost.
Alias di percorso portabili/media → storage/uploadsL'indirizzo /media serve la cartella storage/uploads del progetto. Con @altro-progetto/public puoi servire la cartella di un altro progetto.

«Aggiungi alias» aggiunge una riga «Percorso URL» → «Cartella relativa»; «Rimuovi» la toglie. Le cartelle devono essere relative (niente percorsi assoluti né ..), così il sito continua a funzionare se il kit cambia lettera o PC.

La pagina «Server Web»

Il riquadro «Pool attivi e profili» elenca i server condivisi con la porta, lo stato e il numero di siti. Un clic ne apre la pagina:

ParteChe cosa contiene
VirtualHost collegatiI siti del pool: progetto, cartella, indirizzo cliccabile, nomi e alias. «Sganciato: il progetto è fermo» se il progetto è stato fermato.
Dettagli del poolMotore, versione del server, versione di PHP, porta, tipo (pool automatico o profilo manuale), cartella della configurazione.
Avvio e arrestoPer un profilo: «Mantieni attivo anche senza progetti» e «Avvia con Atollo». Un pool automatico parte con il primo progetto che lo usa e si ferma con l'ultimo.

I pulsanti in alto: «Avvia» o «Ferma», «Ricarica configurazione» e, per i profili, «Elimina profilo», che chiede prima conferma. Un pool ancora acceso ma non più legato a progetti o profili mostra un avviso: fermalo. Un progetto creato, clonato o eliminato compare o sparisce subito dalla pagina.

  1. Per creare un profilo premi «Nuovo profilo server» in cima alla barra laterale.
  2. Compila «Nome del profilo», «Server web» (Caddy o Apache httpd), «Versione server», «Versione PHP» e, se vuoi, «Porta» (altrimenti il kit ne sceglie una libera tra 8081 e 8999). Una porta che ha già un altro pool, una versione di un database o un'azione di un progetto, o una fra 7000 e 7099 (dell'editor), viene rifiutata: il messaggio dice di chi è.
  3. Scegli se tenerlo acceso anche senza progetti e se avviarlo con Atollo, poi premi «Crea profilo».
  4. Nella sezione «Sito web» dei progetti, scegli il profilo nel menu «Profilo server».

Farsi vedere dagli altri PC della rete

Di norma i siti rispondono solo a questo PC. Per provarli da un telefono o da un altro computer della stessa rete, attiva «Permetti ai server dei progetti di farsi raggiungere dagli altri PC della rete» in Impostazioni › Rete: Rete aziendale: proxy, certificati, rete locale (6.3). Gli altri dispositivi usano l'indirizzo IP di questo PC e la porta, anche con il server integrato di PHP; i nomi .localhost funzionano solo qui. Mentre il sito è in corso, la riga «Dal telefono» nel dettaglio dell'azione mostra quell'indirizzo con il suo QR, da inquadrare con il telefono. Database e phpMyAdmin restano comunque chiusi alla rete.

Sotto il cofano
  • La configurazione del sito è nel file panel.json del progetto (azione site); i profili in data\app\servers.json.
  • La configurazione dei pool viene rigenerata a ogni avvio e ricarica in data\servers\<pool> (httpd.conf o Caddyfile, una cartella vhosts con un file per sito, i log), mai nel progetto.
  • I pool automatici hanno un nome come apache-2.4_php-8.4 o caddy-2.11 e una porta tra 8081 e 8999 ricordata fra un avvio e l'altro, scelta fuori dalle porte che hanno già gli altri pool, i database e le azioni dei progetti.
  • Solo HTTP, niente HTTPS. Il PHP gira come FastCGI (php-cgi con Caddy su Windows, php-fpm su macOS e Linux).
  • Ricarica: Caddy si ricarica senza fermarsi; Apache, o un cambio di porta o di PHP, fa ripartire il pool.