{"id":147444,"date":"2026-09-14T09:00:00","date_gmt":"2026-09-14T07:00:00","guid":{"rendered":"https:\/\/supporthost.com\/it\/?post_type=tutorial&#038;p=147444"},"modified":"2026-09-08T15:05:34","modified_gmt":"2026-09-08T13:05:34","slug":"deploy-laravel-hosting-condiviso","status":"publish","type":"tutorial","link":"https:\/\/supporthost.com\/it\/tutorial\/deploy-laravel-hosting-condiviso\/","title":{"rendered":"Fare il deploy di un progetto Laravel su hosting condiviso"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Vediamo come fare il deploy di un&#8217;applicazione Laravel su un piano <a href=\"https:\/\/supporthost.com\/it\/hosting-condiviso\/\" data-type=\"page\" data-id=\"56327\">hosting condiviso<\/a> di SupportHost.<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Indice<\/h2><nav><ul><li><a href=\"#la-struttura-di-un-progetto-laravel\">La struttura di un progetto Laravel<\/a><\/li><li><a href=\"#come-ospitare-unapplicazione-laravel-su-un-hosting-condiviso\">Come ospitare un&#8217;applicazione Laravel su un hosting condiviso<\/a><ul><li><a href=\"#caricare-i-file-sul-server\">Caricare i file sul server<\/a><\/li><li><a href=\"#rinominare-la-cartella-public-html\">Rinominare la cartella public_html<\/a><\/li><li><a href=\"#creare-il-link-simbolico\">Creare il link simbolico<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n\n\n<h2 id=\"la-struttura-di-un-progetto-laravel\" class=\"wp-block-heading\">La struttura di un progetto Laravel<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Non \u00e8 sufficiente caricare semplicemente i file nella root per far funzionare un&#8217;applicazione Laravel, questo dipende dal fatto che i server condivisi sono configurati per servire i file da una precisa cartella che, nel caso di un hosting SupportHost, \u00e8 <code>public_html<\/code>. Laravel, invece, va a richiamare i file dalla cartella <code>public<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Questa \u00e8 la tipica struttura di un progetto Laravel:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">applicazione\/<br>\u251c\u2500\u2500 app\/<br>\u251c\u2500\u2500 bootstrap\/<br>\u251c\u2500\u2500 config\/<br>\u251c\u2500\u2500 database\/<br>\u251c\u2500\u2500 public\/<br>\u251c\u2500\u2500 resources\/<br>\u251c\u2500\u2500 routes\/<br>\u251c\u2500\u2500 storage\/<br>\u251c\u2500\u2500 tests\/<br>\u251c\u2500\u2500 vendor\/<br>\u251c\u2500\u2500 .env<br>\u251c\u2500\u2500 artisan<br>\u2514\u2500\u2500 composer.json<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In genere, ma questo dipende da come \u00e8 stato strutturato il progetto, \u00e8 sufficiente che solo la cartella <strong>public<\/strong> sia accessibile per far funzionare l&#8217;applicazione.<\/p>\n\n\n\n<h2 id=\"come-ospitare-unapplicazione-laravel-su-un-hosting-condiviso\" class=\"wp-block-heading\">Come ospitare un&#8217;applicazione Laravel su un hosting condiviso<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Per far funzionare un applicativo Laravel su un hosting condiviso \u00e8 necessario:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>caricare il progetto sul server e configurare il file .env;<\/li>\n\n\n\n<li>rinominare la cartella public_html;<\/li>\n\n\n\n<li>creare un link simbolico.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Puoi eseguire tutti i passaggi usando il <strong>terminale<\/strong> accessibile da cPanel oppure collegandoti via SSH (la <a href=\"https:\/\/supporthost.com\/it\/connessione-ssh\/\" data-type=\"post\" data-id=\"15828\">connessione SSH<\/a> \u00e8 disponibile su tutti i piani hosting di SupportHost).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"334\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2026\/08\/accedere-al-terminale-da-cpanel-1024x334.png\" alt=\"Accedere Al Terminale Da Cpanel\" class=\"wp-image-147445\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2026\/08\/accedere-al-terminale-da-cpanel-1024x334.png 1024w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2026\/08\/accedere-al-terminale-da-cpanel-300x98.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2026\/08\/accedere-al-terminale-da-cpanel-767x250.png 767w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2026\/08\/accedere-al-terminale-da-cpanel-120x39.png 120w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2026\/08\/accedere-al-terminale-da-cpanel-1536x501.png 1536w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2026\/08\/accedere-al-terminale-da-cpanel.png 1976w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Vediamo le operazioni da fare passo passo.<\/p>\n\n\n\n<h3 id=\"caricare-i-file-sul-server\" class=\"wp-block-heading\">Caricare i file sul server<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Puoi creare un file compresso, ad esempio un <strong>archivio zip<\/strong>, del progetto Laravel e caricarlo sul server nella root usando il <a href=\"https:\/\/supporthost.com\/it\/tutorial\/file-manager\/\" data-type=\"tutorial\" data-id=\"17616\">file manager<\/a>, dopodich\u00e9 potrai estrarlo ed eliminare l&#8217;archivio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In alternativa, se ad esempio il progetto si trova su un repository git, puoi clonare direttamente il repository usando il comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/indirizzo-repository.com<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ricordati che dovrai modificare la configurazione del file .env con URL dell&#8217;applicazione e i dati del database.<\/p>\n\n\n\n<h3 id=\"rinominare-la-cartella-public-html\" class=\"wp-block-heading\">Rinominare la cartella public_html<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Se hai gi\u00e0 del contenuto nella cartella public_html e non vuoi perderlo, ti baster\u00e0 rinominarla, ad esempio in &#8220;public_html_old&#8221;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puoi farlo da file manager o da terminale con il <a href=\"https:\/\/supporthost.com\/it\/comando-mv-linux\/\" data-type=\"post\" data-id=\"77200\">comando mv<\/a>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mv \/home\/utente\/public_html \/home\/utente\/public_html_old<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Assicurati di sostituire &#8220;utente&#8221; con il nome utente corretto.<\/p>\n\n\n\n<h3 id=\"creare-il-link-simbolico\" class=\"wp-block-heading\">Creare il link simbolico<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A questo punto con il <a href=\"https:\/\/supporthost.com\/it\/comando-ln-linux\/\" data-type=\"post\" data-id=\"83197\">comando ln<\/a> possiamo creare un<strong> link simbolico <\/strong>che faccia s\u00ec che la cartella public_html punti alla cartella public del progetto Laravel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Usiamo il seguente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -s \/home\/utente\/nome-progetto\/public\/ \/home\/utente\/public_html<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dovrai assicurarti di inserire il percorso corretto, sostituendo &#8220;utente&#8221; con il tuo nome utente e &#8220;nome-progetto&#8221; con il nome della cartella in cui \u00e8 contenuta la cartella &#8220;public&#8221;.<\/p>\n","protected":false},"author":3,"featured_media":147475,"template":"","tutorial-cat":[22],"class_list":["post-147444","tutorial","type-tutorial","status-publish","has-post-thumbnail","hentry","tutorial-cat-avanzate"],"acf":[],"_links":{"self":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/tutorial\/147444","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/tutorial"}],"about":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/types\/tutorial"}],"author":[{"embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/users\/3"}],"version-history":[{"count":3,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/tutorial\/147444\/revisions"}],"predecessor-version":[{"id":147748,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/tutorial\/147444\/revisions\/147748"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/media\/147475"}],"wp:attachment":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/media?parent=147444"}],"wp:term":[{"taxonomy":"tutorial-cat","embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/tutorial-cat?post=147444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}