Héberger une application Laravel sur un serveur mutualisé (Hostinger, o2switch, OVH) : guide complet avec base de données( Partie 01/5)

Par Devinsto
Posté le 4 octobre 2025
Mis à jour le 4 novembre 2026
20 min de lecture
2.3k vues

« Héberger une application Laravel sur un serveur mutualisé (Hostinger, o2switch, OVH) : guide complet avec base de données, .env et droits d’écriture »

Partie 1/5 : Introduction et prérequis (Théorique)

Ce plan est conçu pour un public débutant à intermédiaire, en clarifiant d’abord les notions fondamentales, puis en guidant pas à pas vers une mise en production fonctionnelle, tout en tenant compte des limites réelles des hébergements mutualisés.


1. Introduction

  • Problématique : Laravel est un framework moderne, mais les serveurs mutualisés sont souvent conçus pour des sites simples (HTML, WordPress).

  • Objectif de l’article : expliquer comment adapter et déployer une application Laravel sur un hébergement mutualisé sans accès SSH ni droits root.

  • À la fin, vous saurez :

    • Vérifier la compatibilité de votre hébergeur.

    • Préparer votre projet localement.

    • Structurer les dossiers correctement.

    • Configurer la base de données et le fichier .env.

    • Résoudre les erreurs courantes (500, blanc, droits).


2. Définitions et notions de base

2.1. Qu’est-ce que Laravel ?

  • Framework PHP open source, moderne, basé sur le pattern MVC.

  • Nécessite des fonctionnalités avancées : gestion des dépendances (Composer), CLI (Artisan), cache, queues, etc.

2.2. Qu’est-ce qu’un serveur mutualisé ?

  • Environnement d’hébergement où plusieurs sites partagent les mêmes ressources (CPU, mémoire, IP).

  • Accès limité : pas de terminal SSH, pas de personnalisation du serveur, interface web (cPanel, Plesk, etc.) pour la gestion.

  • Racine du site souvent fixe (ex. public_html/ ou www/).

2.3. Pourquoi Laravel est-il difficile à héberger en mutualisé ?

  • Structure de dossiers sensible : le dossier racine ne doit pas être exposé (risque de fuite de .env, composer.json, etc.).

  • Dépendances gérées par Composer (non disponibles par défaut sur mutualisé).

  • Besoin de pointer le domaine vers le sous-dossier /public.

  • Absence de ligne de commande pour exécuter php artisan.


3. Prérequis techniques

3.1. Conditions minimales requises sur l’hébergement

Pour que Laravel fonctionne, votre offre mutualisée doit impérativement proposer :

  • PHP 8.0 ou supérieur (Laravel 10+ exige PHP 8.1+, Laravel 11+ exige PHP 8.2+)

  • Extensions PHP activées :

    • mbstring

    • openssl

    • pdo_mysql

    • tokenizer

    • xml

    • ctype

    • json

    • curl

    • fileinfo

  • Possibilité de changer la racine du site (document root) ou au moins de copier le contenu de /public à la racine.

  • Accès FTP ou gestionnaire de fichiers web.

  • Base de données MySQL (ou MariaDB).

3.2. Compatibilité des hébergeurs populaires (2025)

o2switch

✅ Oui

✅ Oui (interface simple)

✅ Oui

Oui

Hostinger

✅ Oui (offre Business/Cloud)

✅ Oui (via hPanel)

✅ Oui

Oui (avec bonne offre)

OVH

⚠ Oui (mais configuration manuelle)

❌ Non sur offres basiques

✅ Oui

Non recommandé pour débutants

⚠ Évitez les offres "Starter", "Perso" ou "Mini" : elles ne permettent généralement pas de pointer le domaine sur un sous-dossier.


4. Préparer votre application Laravel en local

4.1. Nettoyage du projet

  • Supprimer les dossiers inutiles en production : tests/, node_modules/ (si assets déjà compilés), .git/, .env.example.

  • Désactiver le mode debug

composer install --optimize-autoloader --no-dev
npm run build  # ou npm run prod

5. Structurer les dossiers sur un hébergement Hostinger

5.1. Pourquoi ne pas déposer tout Laravel dans public_html ?

Le dossier public_html est accessible publiquement. Y laisser les dossiers app/, config/, .env ou vendor/ expose votre code source et vos secrets.

5.2. Architecture recommandée sur Hostinger

Sur Hostinger, la racine web est public_html. Voici la structure à adopter :

/home/votrecompte/                ← racine du compte (non accessible en HTTP)
├── laravel_app/                  ← dossier privé contenant tout Laravel (sauf public/)
└── public_html/                  ← racine web (ce que voit le visiteur)
    ├── index.php                 ← copié depuis laravel_app/public/
    ├── .htaccess                 ← copié depuis laravel_app/public/
    └── assets/                   ← autres fichiers publics (CSS, JS, images)

Étapes :

  1. Créez un dossier laravel_app en dehors de public_html (dans le répertoire parent, via le gestionnaire de fichiers de hPanel).

  2. Téléversez tout votre projet Laravel (sauf le dossier public/) dans laravel_app/.

  3. Copiez uniquement le contenu du dossier public/ (fichiers index.php, .htaccess, dossiers css/, js/, etc.) dans public_html/.

5.3. Modifier public_html/index.php

Ouvrez public_html/index.php et remplacez les chemins par :

require __DIR__.'/../laravel_app/vendor/autoload.php';
$app = require_once __DIR__.'/../laravel_app/bootstrap/app.php';

6. Configurer la base de données sur Hostinger

6.1. Créer la base MySQL via hPanel

  1. Connectez-vous à hPanel .

  2. Allez dans Base de données → MySQL.

  3. Cliquez sur Créer une base de données :

    • Nom de la base : votredomaine_laravel

    • Nom d’utilisateur : laravel_user

    • Mot de passe : générez un mot de passe fort

  4. Cliquez sur Créer.

Hostinger crée automatiquement l’utilisateur et lui accorde tous les droits sur la base.

6.2. Créer le fichier .env

  1. Dans le dossier laravel_app/, créez un fichier nommé .env.

  2. Collez-y la configuration suivante (adaptez les valeurs) :

APP_NAME=Laravel
APP_ENV=production
APP_KEY=base64:votre_clé_générée_en_local
APP_DEBUG=false
APP_URL=https://votredomaine.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=votredomaine_laravel
DB_USERNAME=laravel_user
DB_PASSWORD=mot_de_passe_fort

Sécurité : testez dans votre navigateur :
https://votredomaine.com/../laravel_app/.env → doit renvoyer une erreur 403 ou 404.


7. Gérer les migrations sans SSH sur Hostinger

7.1. Problème

Hostinger ne permet pas l’accès SSH sur les offres mutualisées standard → impossible d’exécuter php artisan migrate.

7.2. Solution recommandée : import via phpMyAdmin

  1. En local, exportez votre base de données (structure + données) via phpMyAdmin ou mysqldump.

  2. Dans hPanel → Base de données → phpMyAdmin, sélectionnez votre base (votredomaine_laravel).

  3. Cliquez sur Importer et chargez le fichier SQL.

  4. Vérifiez que les tables sont bien créées.


8. Gérer les droits d’écriture sur Hostinger

8.1. Dossiers à rendre accessibles en écriture

  • laravel_app/storage/

  • laravel_app/bootstrap/cache/

8.2. Modifier les permissions via hPanel

  1. Dans hPanel → Fichiers → Gestionnaire de fichiers, naviguez jusqu’à laravel_app/.

  2. Cliquez droit sur storage → Changer les permissions → cochez Lecture/Écriture/Exécution pour Propriétaire et Groupe (755 ou 775).

  3. Faites de même pour bootstrap/cache/.

Si vous voyez une erreur de cache ou de log, essayez temporairement 777, puis revenez à 755 après.


9. Problèmes courants sur Hostinger et solutions

Erreur 500

MauvaisAPP_KEYou droits surstorage/

Vérifiez.env, définissez les permissions à 775

Page blanche

Erreur PHP masquée

Ajoutez temporairement en haut depublic_html/index.php:
ini_set('display_errors', 1); error_reporting(E_ALL);

404 sur les routes (sauf /)

Fichier.htaccessmanquant ou incorrect

Vérifiez quepublic_html/.htaccesscontient les règles de réécriture Laravel

Erreur de base de données

Hôte incorrect

Utilisez127.0.0.1(paslocalhost) dans.env


10. Limites de Laravel sur Hostinger (mutualisé)

10.1. Fonctionnalités indisponibles

  • Tâches planifiées (schedule:run)

  • Queues (file d’attente) en temps réel

  • Déploiement Git automatique (sauf sur offres Cloud)

10.2. Recommandations

  • Sauvegardez manuellement la base via phpMyAdmin.

  • Supprimez tout fichier de développement (tests/, .git/, node_modules/).

  • Passez à Hostinger Cloud Startup ou un VPS dès que l’application devient critique.


11. Conclusion

Avec cette configuration, votre application Laravel fonctionne sécurisée et opérationnelle sur un hébergement mutualisé Hostinger. Bien que limité, ce montage convient à des projets légers, des prototypes ou des sites vitrines dynamiques. Pour aller plus loin, envisagez une infrastructure dédiée.


1.2. Ressources Hostinger utiles


Lien pour la suite :

Héberger une application Laravel sur un serveur mutualisé (Hostinger, o2switch, OVH) : guide complet avec base de données ( Partie 02/5)

Ajouter un commentaire

Vous devez être connecté pour laisser un commentaire.

Soyez le premier à commenter cet article !