Retour au blog

Installation et configuration de Laravel avec Nginx sur Ubuntu 20.04

Installation et configuration de Laravel avec Nginx sur Ubuntu 20.04

Introduction

Laravel est un framework d'application web qui est livré avec un ensemble d'outils et de ressources intégrés pour développer des applications PHP modernes. Il est réputé pour sa fiabilité, ses performances, son efficacité, sa modularité et sa sécurité. En raison de ses diverses fonctionnalités intégrées, Laravel a connu une croissance incroyable de sa popularité. De nombreux développeurs adoptent Laravel pour simplifier le processus de développement web.

Ce guide expliquera comment installer et configurer une nouvelle application Laravel sur Ubuntu 20.04.

Laravel sur Ubuntu

Nous utiliserons Composer, un gestionnaire de dépendances PHP, pour télécharger et gérer Laravel. Pour installer Composer, suivez les instructions de ce tutoriel. Le serveur Nginx servira l'application. Il établira une application Laravel de démonstration en utilisant la base de données MySQL.

Ce guide nécessite quelques prérequis. Nous supposons que vous disposez déjà d'un serveur Ubuntu 20.04 correctement configuré et opérationnel. Pour référence, voici un guide rapide sur la configuration d'un serveur Ubuntu. Il est également nécessaire d'avoir la pile LEMP (Linux, Nginx, MySQL et PHP) installée et configurée. Nous disposons d'un guide détaillé sur l'installation et la configuration de la pile LEMP.

Comme nous allons installer divers paquets, cela nécessite les privilèges root. Dans le cas d'Ubuntu, l'utilisateur root est désactivé par défaut. Nous devons donc avoir accès à un utilisateur non-root disposant des privilèges sudo. Voici comment accorder la permission sudo à d'autres utilisateurs.

Étape 1 – Installation des modules PHP

Avant d'installer Laravel, nous avons besoin de certains modules PHP importants pour le framework. Ces modules sont directement disponibles dans les dépôts de paquets par défaut d'Ubuntu. Ils prennent en charge des fonctionnalités telles que le codage des caractères, le XML et les mathématiques de précision.

Tout d'abord, mettez à jour le cache APT et installez les paquets :

Étape 2 – Création d'une base de données pour l'application

Pour illustrer le fonctionnement de Laravel, nous allons créer une application de liste de voyage qui affiche la liste des lieux que l'utilisateur souhaite visiter, ainsi qu'une liste des lieux déjà visités. Nous pouvons stocker ces données dans une table place avec les champs name (nom du lieu) et visited (marquant comme visité ou non visité). Un champ supplémentaire comportera un identifiant unique pour chaque entrée. Pour connecter les données à notre application Laravel, nous allons créer un utilisateur MySQL dédié et lui accorder tous les privilèges sur la base de données travellist.

La bibliothèque PHP MySQL native mysqlnd ne prend plus en charge caching_sha2_authentication. Par conséquent, nous devons configurer notre base de données avec la méthode d'authentification mysql_native_password. Accédez au shell MySQL en tant que root:

Ensuite, créez une nouvelle base de données nommée travellist:

Après cela, créez un utilisateur dédié travellist_user avec un mot de passe approprié :

Donnez à l'utilisateur travellist_user tous les privilèges sur la base de données travellist. Cela empêchera également l'utilisateur de créer et de modifier toute autre base de données sur le serveur :

Quittez le shell MySQL :

exit

Mettons le nouvel utilisateur à l'épreuve. La commande suivante permettra de se connecter au shell MySQL en tant qu'utilisateur travellist_user. Le drapeau -p demandera le mot de passe de l'utilisateur :

Affichez toutes les bases de données disponibles. Comme configuré précédemment, cela ne devrait afficher que travellist et information_schema uniquement :

Ensuite, nous devons créer la table de données places. Exécutez l'instruction MySQL suivante :

Peuplons la table avec quelques exemples de données :

Voyons si les données ont été stockées avec succès dans la base de données :

Comme nous pouvons le voir, la table de test est peuplée de données valides. Nous pouvons maintenant quitter le shell MySQL :

MySQL shell

Étape 3 – Création d'une nouvelle application Laravel

Nous sommes maintenant prêts à créer une nouvelle application Laravel en utilisant Composer. Nous utiliserons travellist comme application de démonstration. Cette application affichera la liste des emplacements de la base de données MySQL, démontrant la configuration de base de Laravel. Allez dans le répertoire personnel de l'utilisateur :

L'étape suivante consiste à créer une nouvelle application Laravel à l'aide de Composer. Cela créera un répertoire dédié travellist avec une application Laravel minimale avec les paramètres par défaut. Exécutez la commande suivante :

composer create-project

Une fois l'application créée, nous pouvons vérifier si tous les composants ont été installés avec succès :

php artisan

La sortie vérifie que tous les fichiers de l'application sont en place. Elle garantit également que tous les outils en ligne de commande de Laravel sont fonctionnels. Cependant, elle nécessite encore une configuration de l'application pour configurer la base de données et quelques ajustements supplémentaires.

Étape 4 – Configuration de Laravel

Tous les fichiers de configuration de Laravel sont stockés dans un répertoire nommé config dans le répertoire racine de l'application. De plus, lors de l'installation de Laravel avec Composer, cela crée également un fichier d'environnement. Il contient divers paramètres spécifiques à l'environnement actuel. Les valeurs qui y sont déclarées prévaudront sur les valeurs définies dans les fichiers de configuration habituels dans config.

Chaque installation unique nécessitera son propre fichier d'environnement pour définir des valeurs telles que les paramètres de connexion à la base de données, l'URL de l'application, les options de débogage, etc. Notez que le fichier d'environnement contient des informations sensibles telles que les identifiants de base de données, les clés de sécurité, etc. C'est pourquoi il est fortement recommandé de ne jamais partager ce fichier publiquement.

Ouvrez le fichier d'environnement avec un éditeur de texte :

Voici un exemple de code d'environnement :

DB_PASSWORD=password123

Analysons les valeurs :

  • APP_NAME : Ce champ décrit le nom de l'application. Ce nom sera utilisé pour les notifications et les messages.
  • APP_ENV : L'environnement actuel de l'application.
  • APP_KEY : Cette clé est générée automatiquement lors de l'installation de Laravel via Composer. Elle est utilisée pour générer des sels et des hachages. Pas besoin de la modifier.
  • APP_DEBUG : Activation du mode de débogage. Lorsqu'il est activé, il affiche des informations de débogage côté client.
  • APP_URL : URL de base de l'application. Elle est également utilisée pour générer des liens d'application.
  • DB_DATABASE : Le nom de la base de données. Dans ce cas, il s'agira de la base de données dédiée que nous avons créée.
  • DB_USERNAME : Le nom d'utilisateur pour se connecter à la base de données.
  • DB_PASSWORD : Le mot de passe pour se connecter à la base de données.

Une fois les modifications effectuées, enregistrez le fichier et fermez l'éditeur.

Étape 5 – Configuration de Nginx

Nous avons installé Laravel avec succès dans un dossier local du répertoire personnel de l'utilisateur. Cette configuration fonctionne bien pour l'environnement de développement local. Cependant, il n'est pas recommandé de l'implémenter pour des serveurs web ouverts sur l'internet public.

Notre prochaine étape consiste à déplacer l'application vers /var/www car c'est l'emplacement habituel des applications web fonctionnant sous Nginx. Utilisez la commande mv pour déplacer travellist vers /var/www/travellist:

Ensuite, attribuez à l'utilisateur l'accès en écriture aux dossiers storage et cache. Ce sont les emplacements des fichiers générés par l'application Laravel :

Les fichiers de l'application sont maintenant en place. Cependant, nous devons indiquer à Nginx de servir le contenu. Créez un nouveau fichier de configuration d'hôte virtuel :

Voici un exemple de paramètres recommandés pour une application Laravel fonctionnant sous Nginx :

Il est temps d'activer le nouveau fichier de configuration de l'hôte virtuel. Créez un lien symbolique vers le répertoire sites-enabled :

La commande Nginx suivante testera les fichiers de configuration pour détecter d'éventuelles erreurs de syntaxe :

Ensuite, rechargez Nginx :

L'application devrait maintenant être disponible en utilisant le nom de domaine ou l'adresse IP (comme défini par la directive server_name) :

Installing Laravel image 3

Étape 6 – Personnalisation de la page principale

Une fois l'application Laravel configurée, nous pouvons commencer à travailler dessus. À des fins de démonstration, il est temps de créer une page d'exemple présentant les données d'exemple de la table de base de données places. Tout d'abord, ouvrez le fichier de route principal dans un éditeur de texte :

Le fichier contiendra du contenu par défaut. Ici, les routes sont définies à l'aide de la méthode statique (Route::get). Elle reçoit un path et une callback fonction en tant qu'arguments.

Remplacez le code par le suivant :

Installing Laravel image 2

Enregistrez le fichier et fermez l'éditeur. Ensuite, nous allons créer la mise en page pour présenter les résultats de la requête de base de données à l'utilisateur. Créez un nouveau fichier dans resource/views:

Dans le code suivant, nous avons créé deux listes de lieux en fonction de la valeur de visited et togo:

Installing Laravel image 1

Enregistrez le fichier et fermez l'éditeur. Maintenant, accédez à nouveau à la page de l'application web :

Travel list

Voilà ! Nous avons maintenant une application Laravel fonctionnelle utilisant une base de données MySQL pour le contenu.

Conclusion

Dans ce tutoriel, nous avons montré comment configurer une application Laravel sur une pile LEMP s'exécutant sur un serveur Ubuntu 20.04. Nous avons également montré comment personnaliser la route par défaut pour interroger le contenu de la base de données et afficher les résultats dans une vue personnalisée. Pour plus d'informations sur Laravel, consultez la documentation officielle sur les vues, routes, et la prise en charge des bases de données.

L'installation de ce tutoriel est effectuée sur une machine virtuelle autonome. Cependant, vous pouvez également déployer Laravel sur des piles LEMP sur Docker.

Bon développement !

author

Hark Labs

Auteur · CloudSigma

Preslav Dobrev est un designer créatif chez CloudSigma, axé sur une identité commerciale cohérente à travers des canaux marketing traditionnels et innovants. Il excelle à fusionner la vision artistique avec le marketing stratégique pour créer des récits de marque percutants.

Commentaires

Aucun commentaire pour l'instant. Soyez le premier.