Abbiamo già parlato dell'installazione di Laravel per i server Ubuntu basati su Apache nel nostro ultimo tutorial. Questo tutorial ti mostrerà come installare il framework PHP Laravel su un'installazione del server Nginx.
Prerequisiti
Come sempre, assicurati che il server sia ben aggiornato prima di procedere.
sudo apt-get update
sudo apt-get upgrade
Questo tutorial si basa sul presupposto che tu abbia già una configurazione del server basata su Ubuntu. Assicurati anche di aver installato Git. In caso contrario, puoi seguire la nostra guida per farlo.
Installazione di Nginx
L'installazione del server Nginx è semplice e diretta. Allora facciamolo.
sudo apt-get install nginx
Installazione di PHP-FPM
PHP non funziona con Nginx allo stesso modo di Apache. Per Nginx, è necessaria l'implementazione FastCGI di PHP chiamata PHP-FPM (PHP-FastCGI Process Manager). Installiamo PHP allora. Abbiamo anche bisogno dell'estensione Mcrypt di PHP per far funzionare Laravel.
sudo apt-get install php5-fpm php5-cli php5-mcrypt
Configurazione di Nginx per Laravel
Prima di procedere, eseguiamo alcune configurazioni di base del server Nginx che abbiamo installato. Per prima cosa dobbiamo creare la directory in cui verrà installato Laravel.
sudo mkdir -p /var/www/html/laravel
Fatto ciò, ora dobbiamo dire a Nginx che è qui che funzionerà il nostro sito. Per questo abbiamo bisogno di creare una voce virtualhost in Nginx. Nginx memorizza la configurazione predefinita in un file denominato default in /etc/nginx/sites-available/default. Copialo e creiamo la nostra versione del file.
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/laravel
Modifichiamo il file di configurazione
sudo nano /etc/nginx/sites-available/laravel
Vedrai qualcosa come
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html; index index.html index.htm; server_name localhost; location / { try_files $uri $uri/ =404; } }
Ho rimosso i commenti per motivi di leggibilità. Dovrai cambiare la posizione della radice che sarebbe /var/www/html/laravel/public nel nostro caso. Devi anche modificare la variabile server_name nel nome di dominio che utilizzeresti o nell'indirizzo IP del tuo server.
Modifica il file in modo che assomigli al seguente
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /var/www/html/laravel/public; index index.php index.html index.htm; server_name server_domain_or_IP; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { try_files $uri /index.php =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Salva il file dopo la modifica. Ora dobbiamo abilitare questo file di configurazione. Finora è attivo solo il profilo predefinito. Per farlo, dobbiamo creare un collegamento simbolico al file laravel nella directory /etc/nginx/sites-enabled. Dovremmo anche disabilitare il profilo predefinito in modo che non interferisca con la nostra installazione di laravel.
sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
La nostra configurazione del server Nginx è completa. Il prossimo passo è configurare PHP-FPM.
Configura PHP-FPM
Questo passaggio è semplice e richiede di modificare una variabile nel file di configurazione di PHP. È ora di aprire php.ini
sudo nano /etc/php5/fpm/php.ini
Trova il seguente testo in esso
;cgi.fix_pathinfo=1
Decommentare la variabile rimuovendo; dalla parte anteriore e modificarne il valore in 1 in modo che assomigli a
cgi.fix_pathinfo=0
Questo dice a PHP di non eseguire uno script con nome simile se quello originale non viene trovato, il che è importante dal punto di vista della sicurezza.
Infine, dobbiamo anche abilitare l'estensione mcrypt che abbiamo installato in precedenza.
sudo php5enmod mcrypt
Questo è tutto. Ora riavvia il servizio PHP-FPM per caricare le modifiche.
sudo service restart php5-fpm
Installazione di Composer
Composer è uno strumento di gestione delle dipendenze che ci consente di installare vari framework e librerie PHP tramite un unico comando. Si prende cura di tutti gli altri pacchetti e dipendenze che avresti dovuto installare separatamente per installare un framework se segui il percorso manuale. Può risparmiare un sacco di volte e problemi. Installeremo Laravel usando Composer.
Scarica Compositore. Assicurati prima di essere nella tua home directory.
curl -sS https://getcomposer.org/installer | php
Questo scarica il file composer.phar nella tua home directory. Ora, se lo desideri, puoi eseguirlo da qui usando qualcosa come php composer.phar [comando] ma poiché preferiremmo eseguire il compositore a livello globale, dobbiamo spostarlo in una posizione più appropriata in modo da poterlo eseguire facilmente.
sudo mv composer.phar /usr/local/bin/composer
Ora puoi eseguirlo direttamente semplicemente chiamando il compositore da qualsiasi luogo.
Installazione di Laravel
Ora che abbiamo installato il compositore, dobbiamo installare Laravel. Installalo con il seguente comando.
sudo composer create-project laravel/laravel /var/www/html/laravel --prefer-dist
Questo scarica e installa l'ultima versione di Laravel (5.2 attualmente) sul tuo server.
Prima di terminare il tutorial, dobbiamo concedere le autorizzazioni appropriate ad alcune directory.
sudo chgrp -R www-data /var/www/html/laravel
sudo chmod -R 775 /var/www/html/laravel/storage
Conclusione
Questo è tutto. La tua installazione di Laravel è completa. Ora avvia http://nomeserver o http://serverip nel tuo browser. Dovresti vedere la seguente schermata, in caso di successo.