Comment déployer un projet Symfony sur un serveur mutualisé Hostinger

Tu veux mettre ton site Symfony ou Laravel en ligne sans serveur VPS, Docker ou config trop complexe ? Voici un guide simple pour déployer ton app sur un hébergement mutualisé Hostinger. Prérequis Un compte Hostinger avec domaine et hébergement mutualisé Créer ton compte ici avec mon lien de parrainage (réduction) Un projet Symfony (ou Laravel) hébergé sur GitHub ou GitLab Accès à un terminal avec SSH Étape 1 – Générer une clé SSH & se connecter Dans ton terminal : bash ssh-keygen Ajoute ensuite la clé publique dans ton tableau de bord Hostinger (onglet SSH Access). Puis connecte-toi : ssh ton_user@tondomaine.com -p PORT Un mot de passe est requis lors de la première connexion (à définir dans ton espace client Hostinger). Étape 2 – Accéder au bon dossier cd domains/tondomaine.com/public_html Étape 3 – Cloner ton projet Clone ton repo dans le dossier public_html : git clone https://github.com/tonutilisateur/mon-projet.git . Le . à la fin permet de cloner directement dans le dossier actuel (évite un sous-dossier inutile). Étape 4 – Installer les dépendances via Composer Hostinger ne fournit pas Composer nativement. Télécharge-le manuellement : php -r "copy('https://getcomposer.org/composer.phar', 'composer.phar');" php composer.phar install Étape 5 – Corriger l’erreur 403 Forbidden Symfony utilise /public comme dossier web racine. En accédant à https://tondomaine.com, tu risques une erreur 403. Solution temporaire : accéder via https://tondomaine.com/public/index.php Mais c’est moche On va corriger ça proprement. Étape 6 – Installer le pack Apache pour Symfony php composer.phar require symfony/apache-pack Étape 7 – Ajouter un fichier .htaccess personnalisé Crée un fichier .htaccess à la racine du projet (pas dans /public) avec le contenu suivant : RewriteEngine On RewriteBase / RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC] RewriteRule ^ %1 [L,NE,R=302] RewriteRule ^((?!public/).*)$ public/$1 [L,NC] Et voilà ! Tu peux maintenant accéder à ton site directement via : https://tondomaine.com Ton projet Symfony (ou Laravel avec /public) est maintenant en ligne sur un hébergement mutualisé Hostinger ! Bonus : Soutiens mes contenus

Apr 9, 2025 - 17:02
 0
Comment déployer un projet Symfony sur un serveur mutualisé Hostinger

Tu veux mettre ton site Symfony ou Laravel en ligne sans serveur VPS, Docker ou config trop complexe ? Voici un guide simple pour déployer ton app sur un hébergement mutualisé Hostinger.

Prérequis

Étape 1 – Générer une clé SSH & se connecter

Dans ton terminal :


bash
ssh-keygen
Ajoute ensuite la clé publique dans ton tableau de bord Hostinger (onglet SSH Access).

Puis connecte-toi :
ssh ton_user@tondomaine.com -p PORT
Un mot de passe est requis lors de la première connexion (à définir dans ton espace client Hostinger).
Étape 2 – Accéder au bon dossier
cd domains/tondomaine.com/public_html
Étape 3 – Cloner ton projet
Clone ton repo dans le dossier public_html :
git clone https://github.com/tonutilisateur/mon-projet.git .

 Le . à la fin permet de cloner directement dans le dossier actuel (évite un sous-dossier inutile).
 Étape 4 – Installer les dépendances via Composer
Hostinger ne fournit pas Composer nativement. Télécharge-le manuellement :

php -r "copy('https://getcomposer.org/composer.phar', 'composer.phar');"
php composer.phar install
 Étape 5 – Corriger l’erreur 403 Forbidden
Symfony utilise /public comme dossier web racine. En accédant à https://tondomaine.com, tu risques une erreur 403.

Solution temporaire : accéder via https://tondomaine.com/public/index.php
Mais c’est moche  On va corriger ça proprement.
Étape 6 – Installer le pack Apache pour Symfony
php composer.phar require symfony/apache-pack
 Étape 7 – Ajouter un fichier .htaccess personnalisé
Crée un fichier .htaccess à la racine du projet (pas dans /public) avec le contenu suivant :

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]

RewriteRule ^((?!public/).*)$ public/$1 [L,NC]
Et voilà !
Tu peux maintenant accéder à ton site directement via :
https://tondomaine.com
Ton projet Symfony (ou Laravel avec /public) est maintenant en ligne sur un hébergement mutualisé Hostinger ! 
Bonus : Soutiens mes contenus