Vai al contenuto
Deploy
Sfoglia la documentazione

Crea un sito per Laravel, WordPress, Next.js e altro

Crea un sito sul tuo server partendo da un preset come Laravel, WordPress o Next.js, con repository, database, dominio e indirizzo di test gratuito.

Visualizza come Markdown Aggiornato il 7 ottobre 2026

Un sito in Vimonto Deploy è un sito web o un'app su uno dei tuoi server, con il suo dominio, la sua configurazione Nginx, il suo codice, il suo .env e i suoi deploy. Lo crei da un preset di framework (Laravel, WordPress, Next.js e altri), che sceglie il runtime, la directory web, il comando di build e uno script di deploy adatto.

Quando crei un sito, Vimonto Deploy lo configura sul server, collega il suo repository e fa subito il deploy. Pochi minuti dopo il sito è online su un indirizzo on-deploy.link generato, ancora prima che tu abbia toccato il DNS.

Il modulo del nuovo sito con server, repository, database e indirizzo generato compilati
Creazione di un sito Laravel

Trova tutti i tuoi siti

La scheda Siti nella barra in alto elenca tutti i siti dell'organizzazione, su tutti i suoi server. Ogni riga mostra il dominio con l'icona del framework e, sotto, il server, il framework, la versione PHP e il branch. Deploy eseguito dice quanto tempo fa è stato fatto l'ultimo deploy del sito (oppure non ancora deployato), e Stato mostra se il sito è pronto o ancora occupato. Cerca per dominio, ordina per colonna e clicca su una riga per aprire il sito.

Se la tua organizzazione usa i team, vedi solo i siti sui server a cui hai accesso. La pagina Siti di un server elenca solo i siti su quel server.

L'elenco Siti dell'organizzazione con server, framework, ultimo deploy e stato di ogni sito
I siti dell'organizzazione

Crea un nuovo sito

  1. Apri un server e vai alla sua pagina Siti.
  2. Clicca su Nuovo sito e scegli con cosa è costruito il sito, per esempio Laravel o WordPress.
  3. Compila il modulo (ogni campo è descritto più avanti) e clicca su Crea sito.

Nuovo sito nell'elenco Siti dell'organizzazione ha lo stesso menu di framework. Il modulo ti fa poi scegliere il server, e il suo link ← Siti riporta all'elenco dell'organizzazione invece che a quello del server.

I siti vanno su server che servono siti web: un app server o un web server. Un load balancer ospita solo siti con bilanciamento del carico (consulta bilanciamento del carico). Se non c'è ancora un server adatto, il modulo mostra Ancora nessun server per i siti e propone Nuovo server. Consulta i tipi di server per sapere cosa installa ciascun tipo.

Ti serve il permesso di gestire i siti nell'organizzazione; consulta membri e ruoli. Il piano gratuito include 3 siti su tutti i server dell'organizzazione insieme; quando sono usati, il modulo mostra Il tuo piano è pieno con Vedi i piani. Vedi fatturazione.

Quali framework puoi scegliere?

Il menu Nuovo sito raggruppa i preset per linguaggio. Ogni preset imposta il runtime (come Nginx serve il sito) e valori predefiniti sensati, che puoi cambiare in Impostazioni avanzate.

Preset Runtime Directory web Composer Comando di build predefinito Repository
Laravel Laravel (PHP) /public Sì npm run build Sì
Symfony PHP /public Sì nessuno Sì
Statamic Laravel (PHP) /public Sì npm run build Sì
WordPress PHP / No nessuno No, viene installato per te
phpMyAdmin PHP / No nessuno No, viene installato per te
PHP PHP /public Sì nessuno Sì
Next.js Node.js non usata No npm run build Sì
Nuxt Node.js non usata No npm run build Sì
HTML Statico / No nessuno Sì
Altro PHP / No nessuno Sì
Load balancer Proxy verso i tuoi app server non usata No nessuno No

Cosa significano i runtime:

  • Laravel: PHP-FPM dietro Nginx, con lo storage/ di Laravel condiviso tra le release, queue worker e lo scheduler.
  • PHP: qualsiasi app PHP con un index.php, come Symfony o WordPress.
  • Statico: HTML, oppure un frontend compilato in file (Vite, Astro, un export statico di Next.js).
  • Node.js: un'app in ascolto su una porta; Nginx le inoltra le richieste.

Il preset Load balancer, sotto Bilanciamento del carico nel menu, è solo per i server load balancer ed è l'unico tipo di sito che ospitano. Non ha codice né deploy: inoltra le richieste ai tuoi app server. Il suo modulo non ha repository, database né Impostazioni avanzate, perché non c'è nulla da compilare o isolare. Consulta bilanciamento del carico.

WordPress e phpMyAdmin

WordPress e phpMyAdmin non hanno bisogno di un repository. Vimonto Deploy scarica l'ultima release sul server e ne scrive la configurazione:

  • WordPress riceve un wp-config.php con nome, utente e password del database, e chiavi e salt di sicurezza nuovi. WordPress ha sempre bisogno di un database, quindi Collega un database non si può disattivare.
  • phpMyAdmin riceve un config.inc.php che accede con autenticazione tramite cookie al server di database sulla stessa macchina.

Apri poi il sito per completare l'installazione di WordPress nel browser.

Compila il modulo

Server

Scegli il server su cui va il sito. Sono elencati, con il loro indirizzo IP, solo i server attivi che possono ospitare questo tipo di sito: app server e web server per ogni preset, load balancer solo per il preset Load balancer.

Codice sorgente, repository e branch

In Codice sorgente, scegli una delle tue connessioni Git (GitHub, GitLab o Bitbucket), oppure URL Git personalizzato.

  • Con una connessione, scegli il Repository (eventualmente filtrato per Organizzazione) e il Branch.
  • Con URL Git personalizzato, inserisci l'URL Git, come git@github.com:you/project.git o https://github.com/you/project.git, e il Branch.

Il repository è facoltativo. Senza, il sito viene configurato con una pagina segnaposto e puoi collegare un repository in seguito dalla pagina Deployment.

Collega un database

Su un server con un database, Collega un database è attivo per impostazione predefinita, con un nuovo database che prende il nome dal sito (per esempio shop_example_com). Puoi:

  • Cliccare su Modifica o Crea database per scegliere il nome, un Utente dedicato e una Password. Lascia vuoto l'utente per usare l'utente di database del server. Lascia vuota la password e ne viene generata una.
  • Scegliere un database esistente dall'elenco. Il sito riceve allora un utente di database dedicato, così non condivide mai una password con un altro sito.

Per i siti Laravel e Statamic, nome, utente e password del database vengono scritti nel .env del sito. Consulta database per gestirli in seguito.

Dominio o indirizzo generato

Ogni sito può avere un indirizzo gratuito su on-deploy.link, come kalme-rivier-4821.on-deploy.link. Puoi cambiare la prima parte del nome nel campo Indirizzo on-deploy.link. Funziona subito, senza alcun DNS tuo, quindi è comodo per fare test e condividere. Un sito che gira su questo indirizzo riceve anche HTTPS da solo (vedi più avanti).

Per usare un tuo dominio, clicca su Usa un dominio personalizzato e inseriscilo, per esempio shop.example.com. Lascia selezionato Anche …on-deploy.link se il sito deve rispondere anche sull'indirizzo generato.

Poi il dominio ha bisogno di record DNS che puntino al server. Con le integrazioni DNS, il suggerimento sotto il dominio dice "Cerchiamo il dominio presso i tuoi provider DNS e impostiamo i suoi record automaticamente." Mentre digiti, un riquadro DNS mostra se una delle tue integrazioni (Hetzner Cloud, DigitalOcean, Vultr, Akamai, AWS, Google Cloud o Cloudflare) lo gestisce; i loro elenchi di domini vengono recuperati in tempo reale:

  • In tal caso è scelto Puntalo automaticamente con …. Il riquadro elenca i record (un record A per il dominio e un CNAME per www.) come Nuovo, Già corretto o Modifiche, con un avviso per tutto ciò che cambia o viene rimosso. Se cambiano record esistenti, spunta Modifica questi record. Dopo la configurazione, Vimonto Deploy aggiorna i record, aspetta che il dominio si risolva e richiede HTTPS da solo. Scegli Gestisco il DNS da solo per non toccare il DNS.
  • Se nessuna lo gestisce ma hai integrazioni DNS, attiva Aggiungi il dominio a un provider DNS e scegli il Provider e la Zona (per impostazione predefinita il dominio senza il sottodominio, come example.com). Vimonto Deploy crea lì la zona, imposta i record e nell'output del task elenca i nameserver da impostare presso il tuo registrar; HTTPS arriva quando il DNS si risolve.
  • Altrimenti fai puntare tu il dominio all'indirizzo IP del server con un record A presso il tuo provider DNS.

Consulta domini e SSL per il significato di ogni avviso.

Puoi aggiungere altri domini, disattivare l'indirizzo generato e attivare HTTPS in seguito; consulta domini e SSL.

Installa i pacchetti Composer

Per i siti Laravel, Symfony, Statamic e PHP con un repository, Installa i pacchetti Composer aggiunge composer install allo script di deploy. Disattivalo se il tuo progetto non ha un composer.json o installa i pacchetti in un altro modo.

Deploy key dedicata

Con Deploy key dedicata per GitHub (oppure GitLab, Bitbucket; Deploy key dedicata per il tuo host Git con un URL Git personalizzato) attiva, l'impostazione predefinita, il sito riceve una chiave SSH tutta sua per il repository. Con un Git host collegato, Vimonto Deploy la registra sul repository come deploy key di sola lettura. Con un URL Git personalizzato, copi la chiave dalla pagina Deployment e la aggiungi tu al tuo Git host.

Un repository di un Git host collegato riceve anche Deploy a ogni push attivato: Vimonto Deploy aggiunge un webhook e ogni push sul branch fa partire un deploy. Puoi disattivarlo nella pagina Deployment.

Impostazioni avanzate

Clicca su Impostazioni avanzate per cambiare i valori predefiniti del preset. Clicca su Salva impostazioni per mantenerli.

Impostazione Cosa fa
Directory root Dove si trova l'app nel repository. / è l'intero repository; usa /backend o simili per un monorepo.
Directory web Cosa serve Nginx, all'interno della directory root, come /public o /dist. Non viene mostrata per i siti Node.js.
Versione PHP Una delle versioni PHP installate sul server. Consulta PHP.
Package manager frontend npm (predefinito), yarn, pnpm o bun. Yarn e pnpm girano tramite Corepack.
Comando di build Viene eseguito dopo l'installazione dei pacchetti, come npm run build. Vuoto: non compila nulla.
Isolamento del sito Dà al sito un utente Linux dedicato, con un Nome utente a tua scelta.
Deploy zero-downtime Compila ogni deploy in una nuova release e passa a quella solo se è riuscito. Attivo per impostazione predefinita.
Autenticazione Composer Host, nome utente e password o token per pacchetti Composer privati, come repo.packagist.com.
Autenticazione npm Registry e token per un registry npm privato, come https://npm.pkg.github.com.

Deploy di un monorepo

Imposta la Directory root sulla cartella dell'app, per esempio /backend. Viene clonato l'intero repository, ma lo script di deploy gira in quella cartella, il .env viene collegato lì e la directory web viene cercata al suo interno. Un deploy fallisce con un messaggio chiaro se la cartella non è nel repository.

Isolamento del sito

Un sito isolato gira con un proprio utente Linux, con una home directory che gli altri siti non possono leggere. Un sito PHP riceve anche un proprio pool PHP-FPM che gira con quell'utente. Nginx può comunque servire i file perché l'utente di sistema del server entra nel gruppo del sito. Usalo quando più clienti o progetti condividono un server.

L'utente si sceglie quando crei il sito. Il nome deve contenere solo lettere minuscole, numeri, _ e -, iniziare con una lettera e non essere un nome di sistema come root o www-data.

Deploy zero-downtime

Con i deploy zero-downtime, ogni deploy viene compilato in una nuova directory di release e va live con un unico passaggio atomico, così i visitatori non vedono mai un sito costruito a metà e puoi fare rollback. Se li disattivi, un'unica release viene aggiornata sul posto: è più veloce, ma i visitatori possono vedere la build in corso e non c'è rollback. Puoi cambiarlo in seguito nelle impostazioni del sito. Consulta deployment per i dettagli.

Pacchetti Composer e npm privati

Le credenziali in Autenticazione Composer e Autenticazione npm sono salvate cifrate e usate solo durante la build: Composer le legge da COMPOSER_AUTH, npm da un file di configurazione temporaneo che viene rimosso subito dopo. Puoi aggiungerle, modificarle o rimuoverle in seguito nelle Impostazioni del sito, nelle schede Composer e npm: vedi credenziali per Composer e npm.

Cosa succede dopo aver cliccato su Crea sito?

Arrivi sulla pagina del sito, che finché il sito non è live mostra solo la configurazione: le fasi, il passaggio in esecuzione e il log di ogni task. Puoi lasciare la pagina in qualsiasi momento; il lavoro prosegue in background.

  1. Configura: Vimonto Deploy crea il record DNS per l'indirizzo generato, crea il database e il suo utente, crea le directory del sito e scrive il .env, il pool PHP-FPM (se isolato) e la configurazione Nginx. Fino al primo deploy, il sito mostra una pagina che dice che è pronto. WordPress e phpMyAdmin vengono installati in questa fase.
  2. Collega: con un repository, la deploy key viene messa sul server e, con un Git host collegato, registrata sul repository insieme al webhook per i push.
  3. Recupera, Build, Live: il primo deploy clona il branch, esegue lo script di deploy e mette live la release.
  4. HTTPS: per un sito il cui indirizzo è l'indirizzo on-deploy.link generato, e per un sito su un tuo dominio che un'integrazione DNS fa puntare. Per un tuo dominio, Vimonto Deploy aggiorna prima i record DNS come mostrava il piano. Poi aspetta che il nome punti al server (al massimo 10 minuti), richiede un certificato Let's Encrypt gratuito e passa il sito a HTTPS. Questa fase gira insieme al primo deploy ed è l'ultima mostrata. Se fallisce, il sito continua a funzionare su HTTP; richiedi un certificato in seguito in domini e SSL.

Un sito creato con un tuo dominio di cui gestisci tu il DNS salta la fase HTTPS, perché il suo DNS potrebbe non puntare ancora al server. Richiedi il suo certificato quando lo fa.

Mentre la configurazione è in corso (configurazione, collegamento del repository, primo deploy e primo certificato HTTPS), questa panoramica con i suoi passaggi è l'unica pagina del sito, insieme al log del primo deploy: non c'è la barra laterale, e le altre pagine del sito riportano qui.

Quando tutto è finito, la pagina diventa la normale panoramica del sito con la sua barra laterale. La prima volta che tu (o chiunque altro nell'organizzazione) la apri dopo, inizia con Il tuo sito è live, quanto è durata la configurazione e un pulsante Apri; Chiudi la nasconde, e le visite successive mostrano solo la panoramica.

Su disco, ogni sito si trova in /home/{user}/{domain}, con releases/, shared/ e un symlink current. La directory mantiene il suo nome quando in seguito cambi il dominio del sito.

Se una fase fallisce, la pagina mostra Configurazione non riuscita, Collegamento del repository non riuscito o Primo deploy non riuscito, con l'errore e il log del passaggio non riuscito (in Dettagli e log). Risolvi la causa (il nome di un branch, una deploy key mancante) e usa il pulsante nella pagina: Riprova, Collega di nuovo o Rifai il deploy. Quando una fase non è riuscita, la barra laterale e tutte le pagine del sito tornano, così puoi risolvere la causa nelle pagine Deployment e Ambiente.

Cosa fare dopo

  • Per un sito su un tuo dominio di cui gestisci tu il DNS, attiva HTTPS con un certificato Let's Encrypt gratuito in domini e SSL.
  • Controlla il .env in ambiente.
  • Per Laravel, aggiungi queue worker e lo scheduler in queue e scheduler, oppure attiva Horizon dal menu delle funzionalità del sito.
  • Con un URL Git personalizzato, chiama l'URL di deploy dal tuo Git host o dalla CI per fare il deploy a ogni push.
I siti di un server con i loro domini e gli ultimi deploy
I siti di un server

Domande frequenti

Mi serve un dominio per creare un sito?

No. Ogni sito può avere un indirizzo on-deploy.link generato che funziona subito. Aggiungi il tuo dominio quando sei pronto.

Posso ospitare più siti su un solo server?

Sì. Un server può ospitare tutti i siti per cui ha spazio. Ogni sito ha la sua configurazione Nginx e la sua directory; attiva l'isolamento del sito per dare a ciascuno anche un proprio utente Linux.

Quale repository usa WordPress?

Nessuno. WordPress e phpMyAdmin vengono scaricati e installati sul server quando crei il sito. Se tieni un progetto WordPress in Git, scegli invece il preset PHP e collega il tuo repository.

Come faccio il deploy di un'app Next.js o Nuxt?

Scegli Next.js o Nuxt. Il sito riceve una porta locale libera (da 3000 in su) verso cui Nginx inoltra le richieste, e lo script di deploy installa i pacchetti ed esegue npm run build. Vimonto Deploy aggiunge anche il processo che esegue la tua app su quella porta, e il primo deploy lo avvia. Lo trovi in Processi.

Posso distribuire un sito su più server?

Sì, con un server load balancer davanti a due o più app server che eseguono ciascuno lo stesso sito. Consulta bilanciamento del carico.

Posso cambiare il framework in seguito?

No, il preset si sceglie quando crei il sito. La versione PHP, la directory web, la porta Node.js e i deploy zero-downtime si possono cambiare nelle impostazioni del sito, e lo script di deploy nella pagina Deployment.

Posso copiare un sito esistente?

Sì. Nelle Impostazioni del sito, clicca su Clona sito per creare un nuovo sito con lo stesso repository, le stesse impostazioni di build, lo stesso script di deploy e le stesse regole, sullo stesso server o su un altro. Vedi clonare un sito.