GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installazione di Laravel su Ubuntu per Nginx

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.


Ubuntu
  1. Configurazione di base di PHP 7 e Nginx su Ubuntu 16.04 Linux

  2. Installazione di LLMP (Lighttpd, PHP e MySQL) su Ubuntu 14.10

  3. Installazione e configurazione di Php e Nginx su Ubuntu 20.04

  4. Errore durante l'installazione di Nginx su Ubuntu 16.04?

  5. Installa PHP 7.1 con Nginx su Ubuntu 16.04

Installazione di Laravel PHP Framework su Ubuntu 18.04 LTS per Apache

Nginx 1.7.9 + PHP5-FPM + MySQL (LEMP) su Ubuntu 14.10

Come installare Laravel su Ubuntu 22.04 LTS

Come installare Laravel PHP Framework con Nginx su Ubuntu 20.04

Come installare Laravel PHP Framework con Nginx su Ubuntu Linux

Come installare Laravel 9 su Ubuntu 22.04