Ricerca…


Osservazioni

Per ulteriori informazioni sulla distribuzione del progetto Laravel sull'hosting condiviso, visitare questo repository Github.

Laravel 5 App su Shared Hosting su Linux Server

Di default, la cartella public del progetto Laravel espone il contenuto dell'app che può essere richiesto da qualsiasi luogo da chiunque, il resto del codice dell'app è invisibile o inaccessibile a chiunque non abbia le autorizzazioni appropriate.

Dopo aver sviluppato l'applicazione sul tuo computer di sviluppo, deve essere trasferito su un server di produzione in modo che sia possibile accedervi da Internet da qualsiasi luogo, giusto?

Per la maggior parte delle app / siti Web la prima scelta è quella di utilizzare il pacchetto di hosting condiviso da provider di servizi di hosting come GoDaddy, HostGator ecc. Principalmente a causa del basso costo.

nota: si può chiedere al vostro provider di modificare manualmente document_root, quindi tutto quello che dovete fare è caricare la vostra applicazione laravel al server (via FTP), richiesta di modifica di root per {app} / pubblico e si dovrebbe essere buono.

Tali pacchetti di hosting condiviso, tuttavia, presentano limitazioni in termini di accesso al terminale e autorizzazioni per i file. Per impostazione predefinita si deve caricare la loro app / codice nella cartella public_html sul proprio account di hosting condiviso.

Quindi, se vuoi caricare un progetto Laravel su un account di hosting condiviso, come faresti? Dovresti caricare l'intera app (cartella) nella cartella public_html sul tuo account di hosting condiviso? - Certamente NO

Perché tutto nella cartella public_html è accessibile "pubblicamente cioè da chiunque", il che costituirebbe un grosso rischio per la sicurezza.

Passi per caricare un progetto su un account di hosting condiviso: la via di Laravel

Passo 1
Crea una cartella chiamata laravel (o qualcosa che ti piace) allo stesso livello della cartella public_html .

Eg:  
/
|--var  
    |---www
        |----laravel       //create this folder in your shared hosting account
        |----public_html  
        |----log  

Passo 2
Copia ogni cosa tranne la cartella public dal tuo progetto laravel (sul computer di sviluppo) nella cartella laravel (sull'host del server - account di hosting condiviso).
Puoi usare:

  • C-panel: quale sarebbe l'opzione più lenta
  • Client FTP: come FileZilla per collegarti al tuo account di hosting condiviso e trasferire file e cartelle tramite il caricamento FTP
  • Connetti unità di rete: puoi anche creare un'unità di rete mappata sul tuo computer di sviluppo per collegarti alla cartella radice del tuo account di hosting condiviso usando " ftp: // nome-dominio " come indirizzo di rete.

Passaggio 3
Apri la cartella public del tuo progetto laravel (sul computer di sviluppo), copia tutto e incolla nella cartella public_html (sull'host del server - account di hosting condiviso).
Passaggio 4
Ora apri il file index.php nella cartella public_html sull'account di hosting condiviso (nell'editor di cpanel o in qualsiasi altro editor connesso) e:

Modificare:

require __DIR__.'/../bootstrap/autoload.php';   

A:

require __DIR__.'/../laravel/bootstrap/autoload.php';  

E cambia:

$app = require_once __DIR__.'/../bootstrap/app.php';

A:

$app = require_once __DIR__.'/../laravel/bootstrap/app.php';

Salva e chiudi.

Passaggio 5
Ora vai nella cartella laravel (sul server di hosting condiviso laravel ) e apri server.php file server.php
Modificare

require_once __DIR__.'/public/index.php';

A:

require_once __DIR__.'../public_html/index.php';  

Salva e chiudi.

Passaggio 6
Imposta i permessi dei file per la cartella laravel/storage (in modo ricorsivo) e tutti i file, le sottocartelle e il file all'interno di essi su un account di hosting condiviso - server su 777 .
Nota: fai attenzione ai permessi del file in linux, sono come una spada a doppio taglio, se non usati correttamente, potrebbero rendere la tua app vulnerabile agli attacchi. Per comprendere i permessi dei file Linux puoi leggere https://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions

Passaggio 7

Poiché il file .env del server locale / di sviluppo è Ignorato da git, dovrebbe essere ignorato poiché contiene tutte le variabili di ambiente, tra cui APP_KEY, e non dovrebbe essere esposto al pubblico spingendolo nei repository ". Si può anche vedere che .gitignore file è .env accennato quindi non caricarlo sul repository.

Dopo aver seguito tutti i passi precedenti, crea un file .env nella cartella laravel e aggiungi tutta la variabile d'ambiente che hai usato dal file .env del server locale / di sviluppo al file .env del server di produzione.

Esistono anche file di configurazione come app.php , database.php nella cartella config dell'applicazione laravel che definisce queste variabili come predefinite nel secondo parametro di env() ma non codificano i valori in questi file in quanto influenzeranno il file di configurazione degli utenti che estraggono il tuo repository. Quindi si consiglia di creare manualmente il file .env !

Inoltre laravel fornisce il file .env-example che puoi usare come riferimento.

Questo è tutto.

Ora quando visiti l'URL che hai configurato come dominio con il tuo server, la tua app laravel dovrebbe funzionare proprio come ha funzionato sul tuo localhost - macchina di sviluppo, mentre il codice dell'applicazione è ancora sicuro e non accessibile da chiunque senza autorizzazioni appropriate per i file.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow