GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer le framework PHP Laravel avec Nginx sur CentOS 8

Laravel est un framework Web open source, bien connu et moderne basé sur PHP avec une syntaxe expressive, élégante et facile à comprendre qui facilite la création d'applications Web volumineuses et robustes.

Ses principales caractéristiques comprennent un moteur de routage simple et rapide, un puissant conteneur d'injection de dépendances, plusieurs back-ends pour le stockage de session et de cache, une base de données expressive et intuitive ORM (Object-relational Mapping), un traitement robuste des tâches en arrière-plan et une diffusion d'événements en temps réel.

En outre, il utilise des outils tels que Composer – un gestionnaire de packages PHP pour gérer les dépendances et Artisan – une interface de ligne de commande pour créer et gérer des applications Web.

Dans cet article, vous apprendrez comment installer la dernière version de Laravel PHP framework Web sur CentOS 8 Distribution Linux.

Configuration requise pour le serveur

Le Laravel framework a les exigences suivantes :

  • PHP >= 7.2.5 avec ces extensions PHP OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype et JSON.
  • Compositeur – pour installer et gérer les dépendances.

Étape 1 :Installer la pile LEMP dans CentOS 8

1. Pour commencer, mettez à jour les progiciels du système et installez LEMP pile (Linux , Nginx , MariaDB / MySQL , et PHP ) en utilisant les commandes dnf suivantes.

# dnf update# dnf install nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd

2. Lorsque le LEMP l'installation est terminée, vous devez démarrer le PHP-PFM , Nginx et MariaDB services à l'aide des commandes systemctl suivantes.

# systemctl start php-fpm nginx mariadb# systemctl enable php-fpm nginx mariadb# systemctl status php-fpm nginx mariadb

3. Ensuite, vous devez sécuriser et renforcer MariaDB moteur de base de données en utilisant le script de sécurité comme indiqué.

# mysql_secure_installation

Répondez aux questions suivantes pour sécuriser l'installation du serveur.

Entrez le mot de passe actuel pour root (entrez pour aucun) :Enter Définir le mot de passe root ? [O/n] y #set new root password Supprimer les utilisateurs anonymes ? [O/n] y Interdire la connexion root à distance ? [O/n] y Supprimer la base de données de test et y accéder ? [O/n] y Recharger les tables de privilèges maintenant ? [O/n] y 

4. Si vous avez le pare-feu service en cours d'exécution, vous devez ouvrir le HTTP et HTTPS service dans le pare-feu pour autoriser les demandes des clients au serveur Web Nginx.

# firewall-cmd --zone=public --permanent --add-service=http# firewall-cmd --zone=public --permanent --add-service=https# firewall-cmd --reload 

5. Enfin, vous pouvez confirmer que votre LEMP pile s'exécute à l'aide d'un navigateur à l'adresse IP de votre système.

http://IP-serveur

Vérifier la page Web Nginx

Étape 2 :Configurer et sécuriser PHP-FPM et Nginx

6. Pour traiter les demandes du Nginx serveur Web, PHP-FPM peut écouter sur un socket Unix ou un socket TCP et cela est défini par le listen paramètre dans /etc/php-fpm.d/www.conf fichier de configuration.

# vi /etc/php-fpm.d/www.conf

Par défaut, il est configuré pour écouter sur un socket Unix, comme illustré dans la capture d'écran suivante. La valeur ici sera spécifiée ultérieurement dans le fichier de bloc du serveur Nginx.

Définir le socket d'écoute PHP-FPM

7. Si vous utilisez un socket Unix, vous devez également définir la propriété et les autorisations correctes, comme indiqué dans la capture d'écran. Décommentez les paramètres suivants et définissez leurs valeurs sur l'utilisateur et le groupe pour qu'ils correspondent à l'utilisateur et au groupe Nginx s'exécute en tant que.

listen.owner =nginxlisten.group =nginxlisten.mode =066

Définir la propriété du socket d'écoute sur Nginx

8. Ensuite, définissez également le fuseau horaire à l'échelle du système dans /etc/php.ini fichier de configuration.

# vi /etc/php.ini

Recherchez la ligne “;date.timezone” et décommentez-le, puis définissez sa valeur comme indiqué dans la capture d'écran (utilisez des valeurs qui s'appliquent à votre région/continent et pays).

 date.timezone =Afrique/Kampala

Définir le fuseau horaire en PHP

9. Pour atténuer le risque de Nginx transmettre les demandes d'utilisateurs malveillants qui utilisent d'autres extensions pour exécuter du code PHP à PHP-FPM, décommentez le paramètre suivant et définissez sa valeur sur 0 .

cgi.fix_pathinfo=1

PHP et Nginx sécurisés

10. Par rapport au point précédent, décommentez également le paramètre suivant dans le /etc/php-fpm.d/www.conf dossier. Lisez le commentaire pour plus d'explications.

security.limit_extensions =.php .php3 .php4 .php5 .php7

Limiter les exécutions d'extensions PHP

Étape 3 :Installer Composer et le framework PHP Laravel

11. Ensuite, installez le Composer package en exécutant les commandes suivantes. La première commande télécharge le programme d'installation, puis l'exécute à l'aide de PHP.

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

Installer Composer dans CentOS 8

12. Maintenant que Compositeur est installé, utilisez-le pour installer les fichiers Laravel et les dépendances comme suit. Remplacer monsite.com avec le nom du répertoire où seront stockés les fichiers Laravel, le chemin absolu (ou chemin racine dans le fichier de configuration Nginx) sera /var/www/html/mysite.com .

# cd /var/www/html/# composer create-project --prefer-dist laravel/laravel monsite.com

Installer Laravel dans CentOS 8

Si tout se passe bien pendant le processus, l'application doit être installée avec succès et une clé doit être générée, comme indiqué dans la capture d'écran suivante.

Installation de Laravel terminée

13. Pendant le processus d'installation, le .env Le fichier d'environnement a été créé et l'application requise a également été générée, vous n'avez donc pas besoin de les créer manuellement comme auparavant. Pour le confirmer, exécutez une longue liste du répertoire racine de laravel à l'aide de la commande ls.

# ls -la monsite.com/

Lister les fichiers Laravel

14. Ensuite, vous devez configurer la propriété et les autorisations correctes sur le stockage et le bootstrap/cache répertoires accessibles en écriture par le serveur 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/monsite.com/storage/# chmod -R 0775 /var/www/html/monsite.com/bootstrap/cache/

15. Si SELinux activé sur votre serveur, vous devez également mettre à jour le contexte de sécurité du stockage et bootstrap/cache répertoires.

# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/monsite.com/storage(/.*)?'# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/monsite.com /bootstrap/cache(/.*)?'# restorecon -Rv '/var/www/html/monsite.com'

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

16. Pour Nginx pour commencer à servir votre site Web ou votre application, vous devez créer un bloc de serveur pour celui-ci dans un .conf fichier sous /etc/nginx/conf.d/ répertoire comme indiqué.

# vi /etc/nginx/conf.d/monsite.com.conf

Copiez et collez la configuration suivante dans le fichier. Prenez note de la racine et de fastcgi_pass paramètres.

serveur { écoute 80 ; nom_serveur monsite.com ; racine /var/www/html/monsite.com/public ; index index.php; jeu de caractères utf-8 ; gzip activé ; 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; } emplacement ~ \.php { inclure fastcgi.conf; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm/www.sock; } emplacement ~ /\.ht { refuser tout ; }}

17. Enregistrez le fichier et vérifiez si le Nginx la syntaxe de configuration est correcte en cours d'exécution.

# nginx -t

Vérifier la configuration de Nginx

18. Puis redémarrez le PHP-FPM et Nginx services pour que les changements récents prennent effet.

# systemctl restart php-fpm# systemctl restart Nginx

Étape 5 :Accéder au site Web Laravel à partir d'un navigateur Web

19. Pour accéder au site Web de Laravel sur mysite.com , qui n'est pas un nom de domaine complet (FQDN) et qui n'est pas enregistré (il n'est utilisé qu'à des fins de test), nous utiliserons le /etc/hosts fichier sur votre ordinateur local pour créer un DNS local.

Exécutez la commande suivante pour ajouter l'adresse IP et le domaine du serveur dans le fichier requis (remplacez la valeur en fonction de vos paramètres).

# ip add #obtenir l'IP du serveur distant$ echo "10.42.0.21 monsite.com" | sudo tee -a /etc/hosts

Ajouter des entrées DNS dans le fichier local

20. Ensuite, ouvrez un navigateur Web sur la machine locale et utilisez l'adresse suivante pour naviguer.

http://monsite.com

Accès Web Laval

Vous avez déployé avec succès Laravel sur CentOS 8 . Vous pouvez maintenant commencer à développer votre site Web ou votre application Web en utilisant Laravel . Pour plus d'informations, consultez le guide de démarrage de Laravel.

Partager c'est aimer…
Partager sur FacebookPartager sur TwitterPartager sur LinkedinPartager sur Reddit
Cent OS
  1. Comment installer WordPress avec Nginx sur CentOS 7

  2. Comment installer phpMyAdmin avec Nginx sur CentOS 7

  3. Comment installer Nextcloud avec Nginx et PHP 7.3 sur CentOS 8

  4. Comment installer SuiteCRM avec Nginx sur CentOS 7

  5. Comment installer Phorum avec Nginx sur CentOS 7

Comment installer Nginx avec ngx_pagespeed sur CentOS

Comment installer Nginx avec PHP-FastCGI sur CentOS 6

Comment installer Magento avec Nginx sur CentOS 7

Comment installer Laravel avec Nginx sur CentOS 8

Comment installer le framework PHP Laravel avec Nginx sur Ubuntu 20.04

Comment installer le framework PHP Laravel avec Nginx sur Ubuntu Linux