Ricerca nel sito web

Come installare Laravel PHP Web Framework in CentOS


Laravel è un framework PHP potente e open source gratuito con una sintassi espressiva e accattivante. Ha una sintassi raffinata, semplice e leggibile per sviluppare da zero applicazioni moderne, robuste e potenti. Inoltre, Laravel fornisce diversi strumenti necessari per scrivere codice PHP pulito, moderno e gestibile.

Leggi anche: Come installare Laravel PHP Framework su Ubuntu

Caratteristiche principali di Laravel:

  • Potente ORM (Object-Relational Mapping) per lavorare con il tuo database.
  • Meccanismo di routing semplice e veloce.
  • Potente contenitore per l'iniezione delle dipendenze.
  • Fornisce un'API unificata su più backend di coda, tra cui Amazon SQS e Redis e molti altri, per l'archiviazione di sessioni e cache.
  • Supporta un semplice meccanismo di autenticazione.
  • Supporta la trasmissione di eventi in tempo reale.
  • Supporta anche migrazioni indipendenti dal database e generatore di schemi.
  • Supporta l'elaborazione dei lavori in background e altro ancora.

Requisiti di sistema

Il tuo sistema deve soddisfare i seguenti requisiti per poter eseguire la versione più recente di Laravel:

  • PHP >= 7.1.3 con estensioni PHP OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype e JSON.
  • Composer: un gestore di pacchetti a livello di applicazione per PHP.

Ambiente di test:

  1. CentOS 7 con stack LEMP

In questo articolo spiegheremo come installare l'ultima versione di Laravel 5.6 PHP Framework su sistemi CentOS, Red Hat, Fedora.

Passaggio 1: imposta i repository Yum

1. Prima di tutto, devi abilitare i repository REMI e EPEL nella tua distribuzione Linux per avere i pacchetti aggiornati (PHP<, Nginx, MariaDB, ecc.) utilizzando i seguenti comandi

------------- On CentOS/RHEL 7.x ------------- 
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

------------- On CentOS/RHEL 6.x -------------
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Passaggio 2: installa Nginx, MySQL e PHP

2. Successivamente, dobbiamo installare un ambiente LEMP funzionante sul tuo sistema. Se hai già uno stack LEMP funzionante, puoi saltare questo passaggio, altrimenti installarlo utilizzando i seguenti comandi.

Installa Nginx

yum install nginx        [On CentOS/RHEL]

3. Una volta installato nginx, avviare il server Web e abilitarlo all'avvio all'avvio del sistema, quindi verificare lo stato utilizzando i seguenti comandi.

------------- On CentOS/RHEL 7.x ------------- 
systemctl start nginx
systemctl enable nginx
systemctl status nginx

------------- On CentOS/RHEL 6.x -------------
service nginx start  
chkconfig nginx on
service nginx status

4. Per accedere a nginx dalla rete pubblica, devi aprire una porta 80 sul firewall del tuo sistema per ricevere richieste esterne come mostrato.

------------- On CentOS/RHEL 7.x -------------
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload 

------------- On CentOS/RHEL 6.x -------------
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
service iptables restart

Installa MySQL

yum install mariadb-server php-mysql
systemctl start mariadb.service
/usr/bin/mysql_secure_installation

Installa PHP

yum install yum-utils
yum-config-manager --enable remi-php72
yum install php php-fpm php-common php-xml php-mbstring php-json php-zip

5. Successivamente, avvia e attiva il servizio PHP-FPM e controlla se è attivo e funzionante.

------------- On CentOS/RHEL 7.x ------------- 
systemctl start php-fpm
systemctl enable php-fpm
systemctl status php-fpm

------------- On CentOS/RHEL 6.x -------------
service php-fpm start  
chkconfig php-fpm on
service php-fpm status

Passaggio 3: installa Composer e Laravel PHP Framework

6. Ora installa Composer (gestore delle dipendenze per PHP) per installare le dipendenze Laravel richieste utilizzando i seguenti comandi.

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

7. Dopo aver installato Composer, puoi installare Laravel eseguendo il comando composer create-project, come segue.

cd /var/www/html/
sudo composer create-project --prefer-dist laravel/laravel testsite 

8. Ora, quando fai un lungo elenco della radice del tuo documento web, la directory testsite dovrebbe esistere lì, contenente i tuoi file laravel.

ls -l /var/www/html/testsite

Passaggio 4: configurare l'installazione di Laravel

9. Ora imposta le autorizzazioni appropriate sulla directory testsite e sui file laravel utilizzando i seguenti comandi.

chmod -R 775 /var/www/html/testsite
chown -R apache.apache /var/www/html/testsite
chmod -R 777 /var/www/html/testsite/storage/

10. Inoltre, se hai SELinux abilitato, devi aggiornare il contesto di sicurezza delle directory di archiviazione e bootstrap/cache utilizzando i seguenti comandi.

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/bootstrap/cache(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/storage(/.*)?'
restorecon -Rv '/usr/share/nginx/html/testapp'

11. Quindi crea un file di ambiente per la tua applicazione, utilizzando il file di esempio fornito.

cp .env.example .env

12. Successivamente, Laravel utilizza una chiave dell'applicazione per proteggere le sessioni utente e altri dati crittografati. Quindi è necessario generare e impostare la chiave dell'applicazione su una stringa casuale utilizzando il seguente comando.

php artisan key:generate

Passaggio 5: configurare Nginx Server Block per Laravel

13. In questo passaggio, devi configurare un blocco server Nginx per testsite, per potervi accedere da un browser web. Crea un file .conf nella directory /etc/nginx/conf.d/ come mostrato.

vi /etc/nginx/conf.d/testsite.conf

E aggiungi la seguente configurazione (usa valori applicabili al tuo ambiente, in questo esempio, il nostro dominio fittizio è testinglaravel.com). Tieni presente che il file indice laravel è archiviato in /var/www/html/testsite/public, questa sarà la radice del tuo sito/applicazione.

server {
	listen      80;
	server_name testinglaravel.com;
	root        /var/www/html/testsite/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:/var/run/php/php7.2-fpm.sock;
	}
	location ~ /\.ht {
		deny all;
	}
}

Salvare il file ed uscire. Quindi riavvia il server web affinché le modifiche recenti abbiano effetto.

systemctl restart nginx

Passaggio 6: accedere al sito Web Laravel

14. Successivamente, se non disponi di un nome di dominio completamente registrato, devi utilizzare il file /etc/hosts per creare un DNS locale a scopo di test.

Aggiungi la seguente riga nel tuo file /etc/hosts come mostrato (usa l'indirizzo IP e il dominio del tuo sistema invece di 192.168.43.31 e testinglaravel.com rispettivamente).

192.168.43.31  testinglaravel.com

15. Infine accedi al tuo sito Laravel da un browser, utilizzando il seguente URL.

http://testinglaravel.com
OR
http://your-ip-address

Se stai sviluppando localmente, puoi utilizzare il server di sviluppo integrato di PHP per servire la tua applicazione o il tuo sito, come segue. Questo comando avvierà un server di sviluppo su http://localhost:8000 o http://127.0.0.1:8000. Su CentOS/REHL, questa porta dovrebbe essere aperta nel firewall per poter servire la tua applicazione in questo modo.

php artisan serve

Da questo punto sei pronto per partire, puoi iniziare a sviluppare il tuo sito. Per configurazioni aggiuntive come cache, database e sessioni, puoi andare alla home page di Laravel.

Laravel è un framework PHP con una sintassi espressiva e bella per lo sviluppo web pratico e moderno. Ci auguriamo che tutto sia andato bene durante l'installazione, in caso contrario, utilizza il modulo di commento qui sotto per condividere le tue domande con noi.