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

Come installare Laravel PHP Framework con Nginx su CentOS 8

Laravel è un framework Web open source, noto e moderno basato su PHP con una sintassi espressiva, elegante e di facile comprensione che semplifica la creazione di applicazioni Web grandi e robuste.

Le sue caratteristiche principali includono un motore di routing semplice e veloce, un potente contenitore di iniezione delle dipendenze, più back-end per l'archiviazione di sessioni e cache, un database ORM (Object-relational Mapping) espressivo e intuitivo), una solida elaborazione dei lavori in background e la trasmissione di eventi in tempo reale.

Inoltre, utilizza strumenti come Compositore – un gestore di pacchetti PHP per la gestione delle dipendenze e Artisan – un'interfaccia a riga di comando per la creazione e la gestione di applicazioni Web.

In questo articolo imparerai come installare l'ultima versione di Laravel PHP framework web su CentOS 8 Distribuzione Linux.

Requisiti del server

Il Laravel framework ha i seguenti requisiti:

  • PHP>=7.2.5 con queste estensioni PHP OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype e JSON.
  • Compositore – per l'installazione e la gestione delle dipendenze.

Passaggio 1:installazione di LEMP Stack in CentOS 8

1. Per iniziare, aggiorna i pacchetti software di sistema e installa LEMP stack (Linux , Nginx , MariaDB/MySQL e PHP ) utilizzando i seguenti comandi dnf.

# dnf update
# dnf install nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd

2. Quando il LEMP l'installazione è completa, è necessario avviare il PHP-PFM , Nginx e MariaDB servizi utilizzando i seguenti comandi systemctl.

# systemctl start php-fpm nginx mariadb
# systemctl enable php-fpm nginx mariadb
# systemctl status php-fpm nginx mariadb

3. Successivamente, devi proteggere e rafforzare MariaDB motore di database utilizzando lo script di sicurezza come mostrato.

# mysql_secure_installation

Rispondi alle seguenti domande per proteggere l'installazione del server.

Enter current password for root (enter for none): Enter Set root password? [Y/n] y #set new root password 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

4. Se hai il firewalld servizio in esecuzione, è necessario aprire l'HTTP e HTTPS servizio nel firewall per abilitare le richieste dei client al server Web Nginx.

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --zone=public --permanent --add-service=https
# firewall-cmd --reload

5. Infine, puoi confermare che il tuo LEMP stack è in esecuzione utilizzando un browser all'indirizzo IP del tuo sistema.

http://server-IP

Controlla la pagina web di Nginx

Fase 2:configurazione e protezione di PHP-FPM e Nginx

6. Per elaborare le richieste da Nginx server web, PHP-FPM può ascoltare su un socket Unix o TCP e questo è definito da ascolta parametro nel /etc/php-fpm.d/www.conf file di configurazione.

# vi /etc/php-fpm.d/www.conf

Per impostazione predefinita, è configurato per ascolta su un socket Unix come mostrato nella schermata seguente. Il valore qui verrà specificato nel file di blocco del server Nginx in seguito.

Imposta il socket di ascolto PHP-FPM

7. Se utilizzi un socket Unix, dovresti anche impostare la proprietà e le autorizzazioni corrette su di esso come mostrato nello screenshot. Decommenta i seguenti parametri e imposta i loro valori per l'utente e il gruppo in modo che corrispondano all'utente e al gruppo Nginx è in esecuzione come.

listen.owner = nginx
listen.group = nginx
listen.mode = 066

Imposta Proprietà socket di ascolto su Nginx

8. Quindi, imposta anche il fuso orario a livello di sistema in /etc/php.ini file di configurazione.

# vi /etc/php.ini

Cerca la riga “;date.timezone” e decommentalo, quindi impostane il valore come mostrato nello screenshot (usa i valori che si applicano alla tua regione/continente e paese).

 
date.timezone = Africa/Kampala

Imposta il fuso orario in PHP

9. Per mitigare il rischio di Nginx passando richieste da utenti malintenzionati che utilizzano altre estensioni per eseguire codice PHP su PHP-FPM, decommentare il parametro seguente e impostarne il valore su 0 .

cgi.fix_pathinfo=1

Proteggi PHP e Nginx

10. In relazione al punto precedente, decommentare anche il seguente parametro in /etc/php-fpm.d/www.conf file. Leggi il commento per ulteriori spiegazioni.

security.limit_extensions = .php .php3 .php4 .php5 .php7

Limita le esecuzioni di estensioni PHP

Fase 3:installazione di Composer e Laravel PHP Framework

11. Quindi, installa il Compositore pacchetto eseguendo i seguenti comandi. Il primo comando scarica il programma di installazione, quindi lo esegue utilizzando PHP.

# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer
# chmod +x /usr/local/bin/composer

Installa Composer in CentOS 8

12. Ora quel Compositore è installato, utilizzalo per installare i file e le dipendenze di Laravel come segue. Sostituisci miosito.com con il nome della directory in cui verranno archiviati i file Laravel, il percorso assoluto (o percorso radice nel file di configurazione di Nginx) sarà /var/www/html/mysite.com .

# cd /var/www/html/
# composer create-project --prefer-dist laravel/laravel mysite.com

Installa Laravel in CentOS 8

Se tutto va bene durante il processo, l'applicazione dovrebbe essere installata correttamente e dovrebbe essere generata una chiave come mostrato nella schermata seguente.

Installazione Laravel completata

13. Durante il processo di installazione, il .env è stato creato il file di ambiente ed è stata generata anche l'applicazione richiesta, quindi non è necessario crearli manualmente come prima. Per confermare ciò, esegui un lungo elenco della directory principale di laravel usando il comando ls.

# ls -la mysite.com/

Elenca i file Laravel

14. Successivamente, devi configurare la proprietà e le autorizzazioni corrette sullo archivio e il bootstrap/cache directory scrivibili dal server web Nginx.

# chown -R :nginx /var/www/html/mysite.com/storage/
# chown -R :nginx /var/www/html/mysite.com/bootstrap/cache/
# chmod -R 0777 /var/www/html/mysite.com/storage/
# chmod -R 0775 /var/www/html/mysite.com/bootstrap/cache/

15. Se SELinux abilitato sul tuo server, dovresti anche aggiornare il contesto di sicurezza dello archivio e bootstrap/cache directory.

# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/storage(/.*)?'
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/bootstrap/cache(/.*)?'
# restorecon -Rv '/var/www/html/mysite.com'

Fase 4:Configura il blocco del server Nginx per Laravel

16. Per Nginx per iniziare a servire il tuo sito web o la tua applicazione, devi creare un blocco server per esso in un .conf file in /etc/nginx/conf.d/ directory come mostrato.

# vi /etc/nginx/conf.d/mysite.com.conf

Copia e incolla la seguente configurazione nel file. Prendi nota della radice e di fastcgi_pass parametri.

server {
	listen      80;
       server_name mysite.com;
       root        /var/www/html/mysite.com/public;
       index       index.php;

       charset utf-8;
       gzip on;
	gzip_types text/css application/javascript text/javascript application/x-javascript  image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
        location / {
        	try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php {
                include fastcgi.conf;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php-fpm/www.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

17. Salva il file e controlla se è Nginx la sintassi di configurazione è corretta eseguendo.

# nginx -t

Controlla la configurazione di Nginx

18. Quindi riavvia PHP-FPM e Nginx servizi per rendere effettive le modifiche recenti.

# systemctl restart php-fpm
# systemctl restart Nginx

Fase 5:accesso al sito Web Laravel da un browser Web

19. Per accedere al sito web di Laravel su mysite.com , che non è un nome di dominio completo (FQDN) e non è registrato (viene utilizzato solo a scopo di test), utilizzeremo /etc/hosts file sul tuo computer locale per creare un DNS locale.

Esegui il comando seguente per aggiungere l'indirizzo IP del server e il dominio nel file richiesto (sostituisci il valore in base alle tue impostazioni).

# ip add		#get remote server IP
$ echo "10.42.0.21  mysite.com" | sudo tee -a /etc/hosts

Aggiungi voci DNS nel file locale

20. Quindi, apri un browser web sul computer locale e utilizza il seguente indirizzo per navigare.

http://mysite.com

Accesso Web Laraval

Hai distribuito con successo Laravel su CentOS 8 . Ora puoi iniziare a sviluppare il tuo sito web o la tua applicazione web utilizzando Laravel . Per ulteriori informazioni, consulta la guida introduttiva di Laravel.

Condividere è prendersi cura...
Condividi su FacebookCondividi su TwitterCondividi su LinkedinCondividi su Reddit
Cent OS
  1. Come installare WordPress con 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. Come installare SuiteCRM con Nginx su CentOS 7

  5. Come installare Phorum con Nginx su CentOS 7

Come installare Nginx con ngx_pagespeed su CentOS

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 Ubuntu 20.04

Come installare Laravel PHP Framework con Nginx su Ubuntu Linux