Recherche de site Web

Comment installer le framework Web Laravel PHP dans CentOS


Laravel est un framework PHP open source puissant et gratuit avec une syntaxe expressive et attrayante. Il possède une syntaxe raffinée, simple et lisible pour développer des applications modernes, robustes et puissantes à partir de zéro. De plus, Laravel fournit plusieurs outils dont vous avez besoin pour écrire du code PHP propre, moderne et maintenable.

Lire aussi : Comment installer le framework PHP Laravel sur Ubuntu

Principales fonctionnalités de Laravel :

  • ORM (Object-Relational Mapping) puissant pour travailler avec votre base de données.
  • Mécanisme de routage simple et rapide.
  • Conteneur d’injection de dépendances puissant.
  • Fournit une API unifiée sur plusieurs backends de file d'attente, notamment Amazon SQS et Redis et bien d'autres, pour le stockage de session et de cache.
  • Prend en charge un mécanisme d'authentification simple.
  • Prend en charge la diffusion d'événements en temps réel.
  • Prend également en charge les migrations indépendantes des bases de données et le générateur de schémas.
  • Prend en charge le traitement des tâches en arrière-plan et bien plus encore.

Configuration requise

Votre système doit satisfaire aux exigences suivantes pour pouvoir exécuter la dernière version de Laravel :

  • PHP >= 7.1.3 avec les extensions PHP OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype et JSON.
  • Composer - un gestionnaire de packages au niveau de l'application pour PHP.

Environnement de test :

  1. CentOS 7 avec pile LEMP

Dans cet article, nous expliquerons comment installer la dernière version du framework PHP Laravel 5.6 sur les systèmes CentOS, Red Hat, Fedora.

Étape 1 : Configurer les référentiels Yum

1. Tout d'abord, vous devez activer les référentiels REMI et EPEL dans votre distribution Linux pour disposer des packages mis à jour (PHP<, Nginx, MariaDB, etc.) en utilisant les commandes suivantes

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

Étape 2 : Installez Nginx, MySQL et PHP

2. Ensuite, nous devons installer un environnement LEMP fonctionnel sur votre système. Si vous disposez déjà d'une pile LEMP fonctionnelle, vous pouvez ignorer cette étape, sinon l'installer à l'aide des commandes suivantes.

Installer Nginx

yum install nginx        [On CentOS/RHEL]

3. Une fois nginx installé, démarrez le serveur Web et activez-le au démarrage du système, puis vérifiez l'état à l'aide des commandes suivantes.

------------- 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. Pour accéder à nginx depuis le réseau public, vous devez ouvrir un port 80 sur le pare-feu de votre système pour recevoir des requêtes externes comme indiqué.

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

Installer MySQL

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

Installer 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. Ensuite, démarrez et activez le service PHP-FPM et vérifiez s'il est opérationnel.

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

Étape 3 : Installer Composer et Laravel PHP Framework

6. Installez maintenant Composer (gestionnaire de dépendances pour PHP) pour installer les dépendances Laravel requises à l'aide des commandes suivantes.

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

7. Une fois que vous avez installé Composer, vous pouvez installer Laravel en exécutant la commande composer create-project, comme suit.

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

8. Désormais, lorsque vous faites une longue liste de la racine de votre document Web, le répertoire testsite devrait y exister, contenant vos fichiers Laravel.

ls -l /var/www/html/testsite

Étape 4 : Configurer l'installation de Laravel

9. Définissez maintenant les autorisations appropriées sur le répertoire testsite et les fichiers laravel à l'aide des commandes suivantes.

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

10. De plus, si SELinux est activé, vous devez mettre à jour le contexte de sécurité des répertoires de stockage et d'amorçage/cache à l'aide des commandes suivantes.

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. Créez ensuite un fichier d'environnement pour votre application, en utilisant l'exemple de fichier fourni.

cp .env.example .env

12. Ensuite, Laravel utilise une clé d'application pour sécuriser les sessions utilisateur et autres données cryptées. Vous devez donc générer et définir votre clé d'application sur une chaîne aléatoire à l'aide de la commande suivante.

php artisan key:generate

Étape 5 : Configurer le bloc de serveur Nginx pour Laravel

13. Dans cette étape, vous devez configurer un bloc serveur Nginx pour le site de test, afin d'y accéder depuis un navigateur Web. Créez un fichier .conf pour celui-ci dans le répertoire /etc/nginx/conf.d/ comme indiqué.

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

Et ajoutez-y la configuration suivante (utilisez les valeurs applicables à votre environnement, dans cet exemple, notre domaine factice est testinglaravel.com). Notez que le fichier d'index laravel est stocké dans /var/www/html/testsite/public, ce sera la racine de votre site/application.

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

Enregistrez le fichier et quittez. Redémarrez ensuite votre serveur Web pour que les modifications récentes prennent effet.

systemctl restart nginx

Étape 6 : Accédez au site Web de Laravel

14. Ensuite, si vous n'avez pas de nom de domaine entièrement enregistré, vous devez utiliser le fichier /etc/hosts pour créer un DNS local à des fins de test.

Ajoutez la ligne suivante dans votre fichier /etc/hosts comme indiqué (utilisez l'adresse IP et le domaine de votre système au lieu de 192.168.43.31 et testinglaravel.com respectivement).

192.168.43.31  testinglaravel.com

15. Accédez enfin à votre site Laravel depuis un navigateur, en utilisant l'URL suivante.

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

Si vous développez localement, vous pouvez utiliser le serveur de développement intégré de PHP pour gérer votre application ou votre site, comme suit. Cette commande démarrera un serveur de développement sur http://localhost:8000 ou http://127.0.0.1:8000. Sur CentOS/REHL, ce port doit être ouvert dans le pare-feu pour que vous puissiez servir votre application de cette façon.

php artisan serve

À partir de ce point, vous êtes prêt à partir, vous pouvez commencer à développer votre site. Pour des configurations supplémentaires telles que le cache, la base de données et les sessions, vous pouvez accéder à la page d'accueil de Laravel.

Laravel est un framework PHP doté d'une syntaxe expressive et esthétique pour un développement Web pratique et moderne. Nous espérons que tout s'est bien passé lors de l'installation, sinon, utilisez le formulaire de commentaires ci-dessous pour nous faire part de vos questions.