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