Com instal·lar Laravel PHP Web Framework a CentOS


Laravel és un marc PHP potent i de codi obert gratuït amb una sintaxi expressiva i atractiva. Té una sintaxi refinada, senzilla i llegible per desenvolupar aplicacions modernes, robustes i potents des de zero. A més, Laravel ofereix diverses eines que necessiteu per escriure codi PHP net, modern i fàcil de mantenir.

  • ORM (Mapa relacional-objecte) potent per treballar amb la vostra base de dades.
  • Mecanisme d'encaminament ràpid i senzill.
  • Contenidor d'injecció de dependència potent.
  • Ofereix una API unificada a diversos backends de cua, inclosos Amazon SQS i Redis i molts més, per a l'emmagatzematge de sessions i memòria cau.
  • Admet un mecanisme d'autenticació senzill.
  • Admet la transmissió d'esdeveniments en temps real.
  • També admet migracions agnòstiques de bases de dades i creador d'esquemes.
  • Admet el processament de treballs en segon pla i molt més.

El vostre sistema ha de complir els requisits següents per poder executar la darrera versió de Laravel:

  • PHP >= 7.1.3 amb les extensions PHP OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype i JSON.
  • Composer: un gestor de paquets a nivell d'aplicació per a PHP.

  1. CentOS 7 amb LEMP Stack

En aquest article, explicarem com instal·lar la darrera versió de Laravel 5.6 PHP Framework en sistemes CentOS, Red Hat i Fedora.

Pas 1: configureu els repositoris Yum

1. En primer lloc, heu d'habilitar els repositoris REMI i EPEL a la vostra distribució Linux per tenir els paquets actualitzats (PHP, Nginx, MariaDB, etc.) mitjançant les ordres següents

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

Pas 2: instal·leu Nginx, MySQL i PHP

2. A continuació, hem d'instal·lar un entorn LEMP que funcioni al vostre sistema. Si ja teniu una pila LEMP que funciona, podeu saltar aquest pas, si no la instal·leu amb les ordres següents.

# yum install nginx        [On CentOS/RHEL]

3. Un cop instal·lat nginx, inicieu el servidor web i activeu-lo per iniciar-se a l'inici del sistema i, a continuació, verifiqueu l'estat mitjançant les ordres següents.

------------- 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 accedir a nginx des de la xarxa pública, heu d'obrir un port 80 al tallafoc del vostre sistema per rebre sol·licituds externes tal com es mostra.

------------- 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
# yum install mariadb-server php-mysql
# systemctl start mariadb.service
# /usr/bin/mysql_secure_installation
# 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. A continuació, inicieu i activeu el servei PHP-FPM i comproveu si està en funcionament.

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

Pas 3: instal·leu Composer i Laravel PHP Framework

6. Ara instal·leu Composer (gestor de dependències per a PHP) per instal·lar les dependències Laravel necessàries mitjançant les ordres següents.

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

7. Un cop hàgiu instal·lat Composer, podeu instal·lar Laravel executant l'ordre del compositor create-project, de la manera següent.

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

8. Ara, quan feu una llista llarga de l'arrel del vostre document web, hi hauria d'existir el directori del lloc de prova, que contingui els vostres fitxers laravel.

$ ls -l /var/www/html/testsite

Pas 4: configureu la instal·lació de Laravel

9. Ara configureu els permisos adequats al directori del lloc de prova i als fitxers laravel mitjançant les ordres següents.

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

10. A més, si teniu SELinux habilitat, heu d'actualitzar el context de seguretat dels directoris d'emmagatzematge i d'arrencada/caché mitjançant les ordres següents.

# 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. A continuació, creeu un fitxer d'entorn per a la vostra aplicació, utilitzant el fitxer de mostra proporcionat.

# cp .env.example .env

12. A continuació, Laravel utilitza una clau d'aplicació per protegir les sessions d'usuari i altres dades xifrades. Per tant, heu de generar i configurar la clau de l'aplicació en una cadena aleatòria mitjançant l'ordre següent.

# php artisan key:generate

Pas 5: configureu el bloc del servidor Nginx per a Laravel

13. En aquest pas, heu de configurar un bloc de servidor Nginx per al lloc de proves, per accedir-hi des d'un navegador web. Creeu un fitxer .conf al directori /etc/nginx/conf.d/ com es mostra.

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

I afegiu-hi la configuració següent (utilitzeu valors aplicables al vostre entorn; en aquest exemple, el nostre domini fictici és testinglaravel.com). Tingueu en compte que el fitxer d'índex laravel s'emmagatzema a /var/www/html/testsite/public, aquesta serà l'arrel del vostre lloc/aplicació.

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

Desa el fitxer i surt. A continuació, reinicieu el vostre servidor web perquè els canvis recents tinguin efecte.

# systemctl restart nginx

Pas 6: accediu al lloc web de Laravel

14. A continuació, si no teniu un nom de domini totalment registrat, heu d'utilitzar el fitxer /etc/hosts per crear un DNS local amb finalitats de prova.

Afegiu la línia següent al fitxer /etc/hosts tal com es mostra (utilitzeu l'adreça IP i el domini del vostre sistema en lloc de 192.168.43.31 i testinglaravel.com respectivament).

192.168.43.31  testinglaravel.com

15. Finalment accediu al vostre lloc de Laravel des d'un navegador, utilitzant l'URL següent.

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

Si esteu desenvolupant localment, podeu utilitzar el servidor de desenvolupament integrat de PHP per servir la vostra aplicació o lloc, de la manera següent. Aquesta ordre iniciarà un servidor de desenvolupament a http://localhost:8000 o http://127.0.0.1:8000. A CentOS/REHL, aquest port s'hauria d'obrir al tallafoc perquè pugueu servir la vostra aplicació d'aquesta manera.

# php artisan serve

A partir d'aquest moment, ja esteu a punt per començar, podeu començar a desenvolupar el vostre lloc. Per a configuracions addicionals com ara memòria cau, base de dades i sessions, podeu anar a la pàgina d'inici de Laravel.

Laravel és un framework PHP amb una sintaxi expressiva i bella per al desenvolupament web pràctic i modern. Esperem que tot hagi anat bé durant la instal·lació, si no, utilitzeu el formulari de comentaris a continuació per compartir les vostres consultes amb nosaltres.