GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Laravel 5.x con Nginx e PHP-FPM 7.1 su CentOS 7

Laravel è un framework PHP open source che segue il modello di progettazione MVC (Model-View-Controller). È stato creato da Taylor Otwell nel 2011 come tentativo di fornire un'alternativa avanzata al framework CodeIgniter (CI). Nel 2011, il progetto Laravel ha rilasciato la versione 1 e 2, quest'anno è stata rilasciata la versione 5.4 con molti miglioramenti come il supporto Command-Line (CLI) denominato "artisan", il supporto integrato per più tipi di database e il routing migliorato.

In questo tutorial, ti mostrerò come installare Laravel Web Framework con il server web Nginx, PHP-FPM 7.1 e MariaDB su un sistema CentOS 7. Ti mostrerò passo dopo passo come installare e configurare Laravel sotto lo stack LEMP sul server CentOS 7.

Questo tutorial è disponibile anche per Laravel su Ubuntu.

Prerequisito:

  • Server CentOS 7.
  • Privilegi root.

Passaggio 1:installazione del repository EPEL

EPEL o Extra Package for Enterprise Linux è un repository di pacchetti aggiuntivo che fornisce utili pacchetti software che non sono inclusi nel repository ufficiale di CentOS. Può essere installato su distribuzioni Linux basate su RPM come CentOS e Fedora.

In questo tutorial, abbiamo bisogno del repository EPEL per l'installazione di Nginx poiché i pacchetti Nginx non esistono nel repository CentOS ufficiale. Installa il repository EPEL con il comando yum di seguito.

yum -y install epel-release

Il repository EPEL è stato installato.

Passaggio 2:installa Nginx

In questo tutorial, eseguiremo un Laravel sotto lo stack LEMP. Nginx è la parte del server web dello stack LEMP e può essere installato dal repository EPEL.

Installa Nginx 1.10 dal repository EPEL con yum.

yum -y install nginx

Al termine dell'installazione, avvia Nginx e aggiungilo all'avvio all'avvio.

systemctl start nginx
systemctl enable nginx

Nginx è in esecuzione sulla porta 80, controllalo con il comando netstat di seguito.

netstat -plntu

Nel caso in cui venga visualizzato "Comando non trovato", installa il pacchetto net-tools come mostrato di seguito.

yum -y install net-tools

Fase 3 - Installa e configura PHP-FPM 7.1

Laravel può essere installato su un server con versione PHP>=5.6.4. In questo tutorial utilizzeremo l'ultima versione PHP 7.1 supportata da Laravel.

PHP 7.1 non esiste nel repository di base di CentOS, dobbiamo installarlo da un repository di terze parti chiamato 'webtatic'.

Installa il repository webtatic con questo comando rpm.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Ora possiamo installare PHP-FPM con tutte le estensioni necessarie a Laravel con un solo comando yum.

yum install -y php71w php71w-curl php71w-common php71w-cli php71w-mysql php71w-mbstring php71w-fpm php71w-xml php71w-pdo php71w-zip

PHP 7.1 è stato installato sul nostro sistema CentOS 7.

Quindi, configura PHP modificando il file di configurazione php.ini con vim.

vim /etc/php.ini

Decommenta la riga sottostante e cambia il valore in 0.

cgi.fix_pathinfo=0

Salva il file ed esci dall'editor.

Ora modifica il file PHP-FPM www.conf.

vim /etc/php-fpm.d/www.conf

PHP-FPM verrà eseguito sotto l'utente e il gruppo 'nginx ', cambia il valore delle due righe sottostanti in 'nginx '.

user = nginx
group = nginx

Invece di utilizzare la porta del server, PHP-FPM verrà eseguito in un file socket. Cambia il valore 'ascolta' nel percorso '/run/php-fpm/php-fpm.sock ' come mostrato di seguito.

listen = /run/php-fpm/php-fpm.sock

Il proprietario del file socket sarà l'utente 'nginx' e la modalità di autorizzazione è 660. Decommenta e modifica tutti i valori in questo modo:

listen.owner = nginx
listen.group = nginx
listen.mode  = 0660

Per le variabili di ambiente, decommenta queste righe e imposta i valori come mostrato di seguito.

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

Salva il file ed esci da vim, quindi avvia PHP-FPM e abilitalo all'esecuzione all'avvio.

systemctl start php-fpm
systemctl enable php-fpm

PHP-FPM è in esecuzione nel file socket, controllalo con il comando seguente.

netstat -pl | grep php-fpm.sock

L'installazione e la configurazione di PHP e PHP-FPM 7.1 sono state completate.

Passaggio 4 - Installa il server MariaDB

Puoi usare MySQL o PostgreSQL per il tuo progetto Laravel. Userò il server di database MariaDB per questo tutorial. È disponibile nel repository CentOS. Installa MariaDB-server con il comando yum di seguito.

yum -y install mariadb mariadb-server

Al termine dell'installazione, avvia 'mariadb' e abilita l'avvio all'avvio.

systemctl start mariadb
systemctl enable mariadb

MariaDB è stato avviato ed è in esecuzione sulla porta 3306, verificalo con il comando netstat.

netstat -plntu

Quindi, configura la password di root per MariaDB con 'mylsq_secure_installation ' comando qui sotto.

mysql_secure_installation

Digita la tua password di root mariadb, rimuovi l'utente anonimo ecc.

Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

L'installazione e la configurazione di MariaDB sono state completate.

Passaggio 5 - Installa PHP Composer

Il compositore PHP è un gestore di pacchetti per il linguaggio di programmazione PHP. È stato creato nel 2011 ed è ispirato al programma di installazione "npm" di Node.js e "bundler" di Ruby. Installa il compositore con il comando curl.

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer

Al termine dell'installazione, prova a utilizzare il 'compositore ' e vedrai i risultati come di seguito.

composer

PHP Composer installato su CentOS 7.

Passaggio 6:configurazione dell'host virtuale Nginx per Laravel

In questo passaggio creeremo la configurazione dell'host virtuale nginx per il progetto Laravel. Dobbiamo definire la directory principale web per questa installazione di Laravel, userò '/var/www/laravel ' come directory radice web.

Crealo con il comando mkdir di seguito:

mkdir -p /var/www/laravel

Quindi, vai alla directory nginx e crea un nuovo file di configurazione dell'host virtuale laravel.conf nella directory conf.d.

cd /etc/nginx
vim conf.d/laravel.conf

Incolla la configurazione di seguito nel file:

server {
        listen 80;
        listen [::]:80 ipv6only=on;

    # Log files for Debugging
        access_log /var/log/nginx/laravel-access.log;
        error_log /var/log/nginx/laravel-error.log;

    # Webroot Directory for Laravel project
        root /var/www/laravel/public;
        index index.php index.html index.htm;

        # Your Domain Name
        server_name laravel.hakase-labs.co;

        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

    # PHP-FPM Configuration Nginx
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

Salva il file ed esci da vim.

Verifica la configurazione di nginx e assicurati che non vi siano errori, quindi riavvia il servizio nginx.

nginx -t
systemctl restart nginx

La configurazione dell'host virtuale nginx per Laravel è stata completata.

Passaggio 7 - Installa Laravel

Prima di installare Laravel, dobbiamo installare unzip sul server.

yum -y install unzip

Ora vai alla directory principale di laravel web '/var/www/laravel'.

cd /var/www/laravel

Laravel fornisce due modi per l'installazione del framework sul server. Possiamo installare Laravel con il programma di installazione laravel e possiamo installarlo con il compositore PHP. In questo tutorial installerò Laravel creando un nuovo progetto con il comando composer.

Esegui il comando seguente per installare Laravel.

composer create-project laravel/laravel .

Attendi il completamento dell'installazione di Laravel. L'operazione potrebbe richiedere del tempo.

Al termine dell'installazione, cambia il proprietario della directory principale web di Laravel nell'utente 'nginx' e cambia il permesso della directory di archiviazione in 755 con i comandi seguenti.

chown -R nginx:root /var/www/laravel
chmod 755 /var/www/laravel/storage

L'installazione di Laravel è stata completata.

Fase 8 - Configura SELinux

In questo tutorial, Laravel verrà eseguito in modalità 'Enforcing' di SELinux. Per controllare lo stato di SELinux, esegui il comando seguente.

sestatus

Il risultato è che SELinux è in esecuzione in 'Enforcing ' modalità.

Successivamente, dobbiamo installare gli strumenti di gestione di SELinux per CentOS 7.

Installa 'policycoreutils-python' sul server.

yum -y install policycoreutils-python

Ora dobbiamo cambiare il contesto delle directory di Laravel e quindi applicare le modifiche con il comando restorecon. Eseguire i comandi di gestione di SELinux come mostrato di seguito.

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/public(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/storage(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/app(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/bootstrap(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/config(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/database(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/resources(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/routes(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/vendor(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/tests(/.*)?'
restorecon -Rv '/var/www/laravel/'

La configurazione di SELinux per Laravel è terminata.

Fase 9 - Test di Laravel

Apri il tuo browser web e digita l'URL di Laravel del tuo server. Abbiamo definito il nome di dominio per Laravel nel file host virtuale Nginx. Il mio è laravel.hakase-labs.co .

Quando visiti il ​​nome di dominio, vedrai la home page di Laravel.

L'installazione di Laravel con Nginx, PHP-FPM7 e MariaDB su CentOS 7 è andata a buon fine.


Cent OS
  1. Come installare e configurare Nginx su CentOS 7

  2. Come installare phpMyAdmin con Nginx su CentOS 7

  3. Come installare Nextcloud con Nginx e PHP 7.3 su CentOS 8

  4. Installa Magento su CentOS 7, con Nginx, PHP-FPM e MariaDB

  5. Come installare Let's Encrypt su CentOS 8 con Nginx

Come installare Nginx con ngx_pagespeed su CentOS

Come installare OwnCloud 8 con Nginx e PHP-FPM su CentOS 6

Come installare Nginx con PHP-FastCGI su CentOS 6

Come installare Magento con Nginx su CentOS 7

Come installare Laravel con Nginx su CentOS 8

Come installare Laravel PHP Framework con Nginx su CentOS 8