Aller au contenu
PROJET WEB DYNAMIQUE

Hébergement OVH

Hébergement OVH

L'hébergement d'une application web est une étape cruciale pour sa mise en production. OVH, en tant que fournisseur d'hébergement, offre des services robustes pour déployer des applications Laravel. Ce chapitre guide à travers les différentes étapes nécessaires pour préparer, uploader et configurer une application Laravel sur un serveur OVH.

Étape 1 : Créer et importer la base de données

La gestion de la base de données est une étape cruciale pour le bon fonctionnement de votre application Laravel en production. Cette étape concerne la préparation de la base de données locale, son exportation, et son importation dans l'environnement de production OVH.

Si vous avez utilisé sqlite, il suffit d’uploader le fichier database.sqlite avec le reste du code.

1.1. Faire un dump de la base de données

Pour préparer votre base de données à être transférée sur le serveur OVH, suivez ces étapes :

  1. Ajouter un préfixe aux noms des tables : Dans le fichier de configuration de la base de données de Laravel (généralement situé dans config/database.php), vous pouvez spécifier un préfixe pour les noms de tables pour éviter les conflits, surtout si vous partagez votre base de données avec d'autres applications. Par exemple, vous pourriez utiliser mini_instagram_ comme préfixe.

  2. Exécuter les migrations et les seeders : Assurez-vous que votre base de données est à jour avec toutes les migrations et que les données initiales nécessaires sont chargées. Utilisez les commandes suivantes :

    php artisan migrate:fresh --seed
    
  3. Créer un dump de la base de données : Utilisez la commande mysqldump pour créer un dump de votre base de données MySQL. Assurez-vous d'inclure les paramètres nécessaires pour capturer l'ensemble de la structure et des données :

    mysqldump -u username -p database_name > database_dump.sql
    

    Remplacez username par votre nom d'utilisateur MySQL et database_name par le nom de votre base de données.

1.2. Importer le dump dans OVH via phpMyAdmin

Une fois le dump de votre base de données créé, vous devez l'importer dans votre base de données sur OVH :

  1. Accéder à phpMyAdmin : Connectez-vous à phpMyAdmin via l'interface OVH. Vous trouverez généralement un lien direct dans le tableau de bord de votre hébergement.
  2. Importer le fichier .sql : Dans phpMyAdmin, sélectionnez la base de données que vous venez de créer, puis utilisez l'onglet "Importer" pour charger le fichier database_dump.sql. Suivez les instructions pour compléter l'importation.

Étape 2 : Préparer le projet Laravel

2.1. Ouvrir le terminal et se positionner dans le dossier du projet

Avant de commencer à travailler sur votre projet Laravel, il est essentiel de savoir naviguer dans les dossiers à l'aide du terminal. Ouvrez votre terminal et utilisez les commandes cd (change directory) pour vous positionner dans le dossier de votre projet Laravel. Cette étape est fondamentale car toutes les commandes suivantes seront exécutées dans ce contexte.

2.2. Installer les dépendances avec Composer

Pour que votre application Laravel fonctionne correctement, elle doit avoir accès à certaines bibliothèques PHP, qui sont gérées par Composer. Exécutez la commande suivante dans votre terminal :

composer install --no-dev

Cette commande installe les dépendances nécessaires pour le fonctionnement de l'application en excluant les packages uniquement nécessaires en développement. C'est une pratique courante pour optimiser les performances et la sécurité de l'application en production.

2.3. Compiler les assets frontend

Laravel mix est un outil puissant qui vous permet de compiler et de minimiser les assets CSS et JavaScript. Pour préparer vos assets pour la production, exécutez :

npm run build

Il est important de ne pas uploader le dossier node_modules sur votre serveur de production car il contient des dépendances uniquement nécessaires en développement. Uploader ce dossier serait non seulement superflu mais aussi potentiellement risqué en termes de sécurité et de performance.

Nous avons maintenant préparé notre projet Laravel pour le déploiement. Passons à l'étape suivante qui consiste à uploader les fichiers sur le serveur OVH.

Étape 3 : Uploader les fichiers sur OVH

3.1. Utiliser un client FTP

Pour transférer votre projet Laravel sur le serveur OVH, vous aurez besoin d'un client FTP. Des clients tels que FileZilla ou Cyberduck sont recommandés pour leur facilité d'utilisation et leur fiabilité. Voici les étapes à suivre :

  1. Ouvrez votre client FTP et configurez-le pour se connecter à votre espace d'hébergement OVH. Vous aurez besoin de l'adresse du serveur FTP, de votre nom d'utilisateur et de votre mot de passe, qui sont généralement fournis par OVH lors de la configuration de votre hébergement.
  2. Une fois connecté, naviguez dans l'arborescence de votre espace local pour localiser le dossier de votre projet Laravel.
  3. Transférez tous les fichiers de votre projet vers le serveur, à l'exception du dossier node_modules. Assurez-vous que tous les fichiers et dossiers nécessaires sont correctement uploadés, y compris le dossier .env et les dossiers vendor et storage.

Dans le dossier public, vous devez supprimer le fichier hot qui empecherait le front de fonctionner correctement :

3.2. Vérifier l'arborescence des fichiers

Après le transfert, il est crucial de vérifier que tous les fichiers et dossiers nécessaires sont correctement positionnés sur votre espace d'hébergement OVH. Voici les points clés à vérifier :

  • Assurez-vous que le fichier public/index.php est bien présent et correctement placé car il est le point d'entrée de votre application Laravel.
  • Vérifiez que les dossiers bootstrap, config, et storage sont bien présents et contiennent les fichiers attendus.

Une fois ces vérifications effectuées, votre application est prête à être configurée sur le serveur OVH.

Étape 4 : Configurer l'hébergement sur OVH

Une fois que vos fichiers et votre base de données sont en place, il est temps de configurer l'hébergement pour s'assurer que votre application Laravel fonctionne correctement sur OVH.

4.1. Ajouter un domaine ou sous-domaine

Pour que votre application Laravel soit accessible via Internet, vous devez configurer un domaine ou un sous-domaine. Voici comment procéder :

  1. Connectez-vous à l'interface OVH : Utilisez vos identifiants pour accéder au tableau de bord OVH.
  2. Naviguez vers la section "Multisite" : Ici, vous pouvez gérer tous les aspects liés à vos domaines.
  3. Ajouter un domaine ou sous-domaine : Suivez les instructions pour ajouter un nouveau domaine ou configurer un sous-domaine existant. Assurez-vous que le domaine pointe vers le dossier racine de votre application Laravel, généralement le dossier public.


4.2. Modifier la configuration PHP

OVH permet de configurer la version de PHP et d'autres paramètres directement depuis son interface. Laravel 11 requiert PHP 8.2 ou supérieur.

Après avoir configuré votre domaine et la version de PHP, votre application devrait être presque prête à être utilisée. Il reste quelques étapes de configuration et de vérification avant de conclure le déploiement. Nous allons maintenant passer à la configuration du fichier .env pour assurer la connexion à la base de données.

Étape 5 : Configurer le fichier .env

Le fichier .env est crucial dans les applications Laravel car il contient toutes les configurations spécifiques à l'environnement dans lequel votre application s'exécute. Cette étape est essentielle pour s'assurer que votre application peut se connecter correctement à la base de données et fonctionner correctement en production.

5.1. Modifier les paramètres de connexion à la base de données

Pour que votre application Laravel puisse interagir avec la base de données sur OVH, vous devez configurer les paramètres de connexion dans le fichier .env. Voici les paramètres principaux à configurer :

  • DB_CONNECTION: le type de votre base de données (par exemple, mysql).
  • DB_HOST: l'adresse du serveur de base de données. Sur OVH, cela sera généralement une adresse locale comme localhost ou une adresse spécifique fournie par OVH.
  • DB_PORT: le port de connexion à la base de données, généralement 3306 pour MySQL.
  • DB_DATABASE: le nom de votre base de données sur OVH.
  • DB_USERNAME: votre nom d'utilisateur pour la base de données.
  • DB_PASSWORD: le mot de passe associé à l'utilisateur de la base de données.

Voici un exemple de configuration :

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=nom_de_votre_base
DB_USERNAME=utilisateur
DB_PASSWORD=mot_de_passe

Assurez-vous que ces informations sont correctes et correspondent à celles que vous avez configurées sur OVH. Une fois modifié, sauvegardez le fichier .env.

5.2. Vérifier les autres configurations

En plus des configurations de la base de données, vérifiez et ajustez les autres paramètres dans le fichier .env qui pourraient être nécessaires pour votre environnement de production, tels que :

  • APP_ENV: assurez-vous que cela est défini sur production.
  • APP_KEY: une clé unique qui sécurise les sessions et les données cryptées de votre application. Vous pouvez la générer avec la commande php artisan key:generate.
  • APP_DEBUG: définissez-le à false pour désactiver le mode débogage en production.

Après avoir configuré correctement votre fichier .env, il est temps de passer à la régénération du certificat SSL pour sécuriser les connexions à votre site.

Étape 6 : Régénérer le certificat SSL

La sécurité est un aspect crucial de tout site web, et l'utilisation d'un certificat SSL (Secure Sockets Layer) est essentielle pour garantir que les données transmises entre le serveur et les utilisateurs sont chiffrées et sécurisées. OVH offre des options pour gérer facilement les certificats SSL de vos domaines.

6.1. Activer et régénérer le SSL

Pour activer ou régénérer un certificat SSL sur OVH, suivez ces étapes :

  1. Accéder à l'interface OVH : Connectez-vous à votre compte sur le site d'OVH.
  2. Naviguez vers la section "Hébergements" : Sélectionnez l'hébergement associé à votre domaine.
  3. Gérer le SSL : Trouvez l'option pour gérer le SSL dans le tableau de bord de votre hébergement. OVH peut offrir un certificat SSL gratuit via Let's Encrypt.
  4. Activer/Régénérer le certificat : Suivez les instructions pour activer ou régénérer le certificat SSL. Cela peut prendre quelques minutes à quelques heures pour que le certificat soit complètement installé et actif.

Assurez-vous que votre domaine est configuré pour utiliser HTTPS en modifiant les réglages DNS si nécessaire et en ajustant les configurations de votre application Laravel pour rediriger toutes les requêtes vers HTTPS.

Étape 7 : Tests de vérification

Après avoir configuré tous les aspects de votre application, il est important de réaliser une série de tests pour s'assurer que tout fonctionne comme prévu.

7.1. Vérifier les routes et pages du site

Testez toutes les routes principales de votre application pour vous assurer qu'elles chargent correctement sans erreurs. Cela inclut les pages d'accueil, les formulaires de connexion, les dashboards utilisateurs, et toute autre fonctionnalité clé de votre application.

7.2. Vérifier la connexion HTTPS

Accédez à votre site en utilisant https:// pour confirmer que le SSL est actif et fonctionne correctement. Vérifiez que le navigateur affiche un cadenas vert ou une indication que la connexion est sécurisée.

7.3. Vérifier l’accès à la base de données

Testez les fonctionnalités de votre application qui nécessitent des interactions avec la base de données, comme les inscriptions, les connexions, et les mises à jour de données. Assurez-vous que toutes les opérations se déroulent sans erreurs et que les données sont correctement récupérées et stockées.

Ces tests sont essentiels pour s'assurer que votre application est prête pour le lancement et fonctionnera correctement pour vos utilisateurs finaux. Une fois ces tests passés avec succès, votre application est prête à être lancée en production sur OVH.

Étape 8 : Configurer le disque public pour utiliser le dossier public/storage

Pour que votre application Laravel gère correctement les fichiers statiques et les uploads sur l'environnement de production OVH, il est important de configurer correctement le disque public. Cette configuration permettra de stocker et de servir les fichiers directement depuis le dossier public/storage sans avoir besoin de créer des liens symboliques. Nous devons faire ça à cause d’une limitation de l’hébergement OVH qui n’autorise pas l’accès aux fichiers en utilisant des liens symboliques.

8.1. Supprimer le dossier public/storage

Avant de modifier la configuration, assurez-vous que le dossier public/storage qui pourrait avoir été créé automatiquement lors de l'upload des fichiers est supprimé. Cela évitera toute confusion ou conflit avec la configuration que vous allez établir. Vous pouvez supprimer ce dossier via un client FTP ou en utilisant une commande SSH si vous avez accès au terminal du serveur.

8.2. Modifier la configuration du disque public

Pour ajuster la configuration du disque public afin qu'il utilise le dossier public/storage, suivez ces étapes :

  1. Ouvrir le fichier de configuration : Accédez au fichier config/filesystems.php dans votre projet Laravel.
  2. Modifier la configuration du disque public : Localisez la section disks et modifiez la configuration du disque public pour qu'elle ressemble à ce qui suit :
'disks' => [

    // ...

    'public' => [
        'driver' => 'local',
        'root' => public_path('storage'),
        'url' => env('APP_URL') . '/storage',
        'visibility' => 'public',
        'throw' => false,
    ],

    // ...
]
  1. Explications des modifications :
    • root: Définit le chemin d'accès au dossier où les fichiers seront stockés, ici public/storage.

8.3. Sauvegarder et tester la configuration

Après avoir modifié la configuration, sauvegardez le fichier et testez pour vous assurer que les fichiers sont correctement stockés et accessibles. Vous pouvez le faire en uploadant un fichier via votre application et en vérifiant ensuite qu'il est accessible via l'URL spécifiée.

Cette configuration vous permet de gérer les fichiers statiques et les uploads de manière efficace et sécurisée, en utilisant le système de fichiers intégré de Laravel sans dépendre de liens symboliques, ce qui est particulièrement utile dans des environnements d'hébergement avec des restrictions spécifiques comme OVH.