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

Comment installer le framework PHP Laravel avec Nginx sur CentOS 8

Présentation

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.

Vous apprendrez à installer la dernière version du framework Web PHP Laravel sur la distribution Linux CentOS 8.

Installer la pile LEMP

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

Enter current password for root (enter for none): press Enter 

 Set root password? [Y/n]y #set new root password Remove anonymous users? [Y/n] press y 
Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] press y
 Reload privilege tables now? [Y/n] 

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://server-IP

Configurer et sécuriser PHP-FPM et Nginx

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

2. 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 = nginx
listen.group = nginx
listen.mode = 066

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

# vim /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 = Africa/Cairo

4. 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=0

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

Installer Composer et le framework PHP Laravel

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

[unixcop@unixcop ~]$ curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading…
Composer (version 2.1.5) successfully installed to: /home/unixcop/composer.phar
Use it: php composer.phar
[unixcop@unixcop ~]$

Exécutez ensuite ces commandes :

mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer

2. Maintenant que Compositeur est installé, utilisez-le pour installer les fichiers Laravel et les dépendances comme suit. Remplacez newunixcop.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/newunixcop.com .

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

3. Au cours du processus d'installation, le fichier .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 newunixcop.com/

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

[root@unixcop html]# chown -R :nginx /var/www/html/newunixcop.com/storage/
[root@unixcop html]# chown -R :nginx /var/www/html/newunixcop.com/bootstrap/cache/
[root@unixcop html]# chown -R :nginx /var/www/html/newunixcop.com/storage/
[root@unixcop html]# chmod -R 0775 /var/www/html/newunixcop.com/bootstrap/cache/

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

exécutez cette commande :

[root@unixcop html]# restorecon -Rv 'https://1118798822.rsc.cdn77.org/var/www/html/newunixcop.com'
Relabeled /var/www/html/newunixcop.com/storage/logs from unconfined_u:object_r:httpd_sys_content_t:s0 to unconfined_u:object_r:httpd_log_t:s0
Relabeled /var/www/html/newunixcop.com/storage/logs/.gitignore from unconfined_u:object_r:httpd_sys_content_t:s0 to unconfined_u:object_r:httpd_log_t:s0
[root@unixcop html]# 

Configurer le bloc de serveur Nginx pour Laravel

1. 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é.

# vim /etc/nginx/conf.d/newunixcop.com.conf

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

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

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

[root@unixcop ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@unixcop ~]# 

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

# systemctl restart php-fpm
# systemctl restart Nginx

Accéder au site Web de Laravel à partir d'un navigateur Web

4. Pour accéder au site Web de Laravel sur newunixcop.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).

[root@unixcop ~]# echo "192.168.122.60  newunixcop.com" | sudo tee -a /etc/hosts
192.168.122.60  newunixcop.com
[root@unixcop ~]# 

5. Ouvrez un navigateur Web sur la machine locale et utilisez l'adresse suivante pour naviguer.

http://newunixcop.com

Conclusion

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.


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

Comment installer le framework PHP Laravel avec Nginx sur Ubuntu Linux