Cum se instalează Laravel PHP Web Framework în CentOS


Laravel este un cadru PHP puternic, cu sursă deschisă gratuit, cu o sintaxă expresivă și atrăgătoare. Are o sintaxă rafinată, simplă și lizibilă pentru dezvoltarea aplicațiilor moderne, robuste și puternice de la zero. În plus, Laravel oferă mai multe instrumente de care aveți nevoie pentru a scrie cod PHP curat, modern și ușor de întreținut.

Citește și: Cum se instalează Laravel PHP Framework pe Ubuntu

Caracteristici cheie ale Laravel:

  • ORM puternic (Object-Relational Mapping) pentru lucrul cu baza de date.
  • Mecanism de rutare rapid și necomplicat.
  • Container puternic de injecție de dependență.
  • Oferă un API unificat pentru mai multe backend-uri de coadă, inclusiv Amazon SQS și Redis și multe altele, pentru stocarea sesiunii și a cache.
  • Acceptă un mecanism simplu de autentificare.
  • Suportă difuzarea evenimentelor în timp real.
  • De asemenea, acceptă migrarea bazelor de date agnostice și generatorul de scheme.
  • Acceptă procesarea lucrărilor de fundal și multe altele.

Cerințe de sistem

Sistemul dvs. trebuie să îndeplinească următoarele cerințe pentru a putea rula cea mai recentă versiune de Laravel:

  • PHP >= 7.1.3 cu extensii PHP OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype și JSON.
  • Composer – un manager de pachete la nivel de aplicație pentru PHP.

Mediu de testare:

  1. CentOS 7 cu LEMP Stack

În acest articol, vom explica cum să instalați cea mai recentă versiune a Laravel 5.6 PHP Framework pe sistemele CentOS, Red Hat, Fedora.

Pasul 1: Configurați depozitele Yum

1. În primul rând, trebuie să activați depozitele REMI și EPEL în distribuția dvs. Linux pentru a avea pachetele actualizate (PHP<, Nginx, MariaDB etc.) folosind următoarele comenzi

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

Pasul 2: Instalați Nginx, MySQL și PHP

2. În continuare, trebuie să instalăm un mediu de lucru LEMP pe sistemul dumneavoastră. Dacă aveți deja o stivă LEMP funcțională, puteți sări peste acest pas, dacă nu o instalați folosind următoarele comenzi.

Instalați Nginx

yum install nginx        [On CentOS/RHEL]

3. Odată ce nginx a fost instalat, porniți serverul web și activați-l să pornească la pornirea sistemului și apoi verificați starea utilizând următoarele comenzi.

------------- 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. Pentru a accesa nginx din rețeaua publică, trebuie să deschideți un port 80 pe firewall-ul sistemului pentru a primi solicitări externe, așa cum se arată.

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

Instalați MySQL

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

Instalați 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. Apoi, porniți și activați serviciul PHP-FPM și verificați dacă este în funcțiune.

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

Pasul 3: Instalați Composer și Laravel PHP Framework

6. Acum instalați Composer (manager de dependențe pentru PHP) pentru a instala dependențele necesare Laravel folosind următoarele comenzi.

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

7. După ce ați instalat Composer, puteți instala Laravel rulând comanda composer create-project, ca urmează.

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

8. Acum, când faceți o listă lungă a rădăcinii documentului dvs. web, directorul testsite ar trebui să existe acolo, care să conțină fișierele dvs. laravel.

ls -l /var/www/html/testsite

Pasul 4: Configurați instalarea Laravel

9. Acum setați permisiunile corespunzătoare pentru directorul testsite și fișierele laravel folosind următoarele comenzi.

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

10. În plus, dacă aveți SELinux activat, trebuie să actualizați contextul de securitate al directoarelor de stocare și bootstrap/cache folosind următoarele comenzi.

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. Apoi creați un fișier de mediu pentru aplicația dvs., folosind fișierul exemplu furnizat.

cp .env.example .env

12. În continuare, Laravel folosește o cheie de aplicație pentru a securiza sesiunile utilizatorilor și alte date criptate. Deci, trebuie să generați și să setați cheia aplicației la un șir aleatoriu folosind următoarea comandă.

php artisan key:generate

Pasul 5: Configurați blocul serverului Nginx pentru Laravel

13. În acest pas, trebuie să configurați un bloc de server Nginx pentru site-ul de testare, pentru a-l accesa dintr-un browser web. Creați un fișier .conf pentru acesta în directorul /etc/nginx/conf.d/, așa cum se arată.

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

Și adăugați următoarea configurație în ea (utilizați valori aplicabile mediului dvs., în acest exemplu, domeniul nostru inactiv este testinglaravel.com). Rețineți că fișierul index laravel este stocat în /var/www/html/testsite/public, aceasta va fi rădăcina site-ului/aplicației dvs.

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;
	}
}

Salvați fișierul și ieșiți. Apoi reporniți serverul dvs. web pentru ca modificările recente să intre în vigoare.

systemctl restart nginx

Pasul 6: Accesați site-ul web Laravel

14. Apoi, dacă nu aveți un nume de domeniu complet înregistrat, trebuie să utilizați fișierul /etc/hosts pentru a crea un DNS local în scopuri de testare.

Adăugați următoarea linie în fișierul dvs. /etc/hosts așa cum se arată (folosește adresa IP și domeniul sistemului în loc de 192.168.43.31 și testinglaravel.com puternic> respectiv).

192.168.43.31  testinglaravel.com

15. În sfârșit, accesați site-ul dvs. Laravel dintr-un browser, folosind următoarea adresă URL.

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

Dacă dezvoltați local, puteți utiliza serverul de dezvoltare încorporat PHP pentru a vă deservi aplicația sau site-ul, după cum urmează. Această comandă va porni un server de dezvoltare la http://localhost:8000 sau http://127.0.0.1:8000. Pe CentOS/REHL, acest port ar trebui să fie deschis în firewall pentru a vă servi aplicația în acest fel.

php artisan serve

Din acest punct, sunteți gata de plecare, puteți începe să vă dezvoltați site-ul. Pentru configurații suplimentare, cum ar fi cache, bază de date și sesiuni, puteți accesa pagina de pornire Laravel.

Laravel este un cadru PHP cu o sintaxă expresivă și frumoasă pentru dezvoltarea web practică și modernă. Sperăm că totul a decurs bine în timpul instalării, dacă nu, folosiți formularul de comentarii de mai jos pentru a ne trimite întrebările dumneavoastră.