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

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