Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
prog:symfony:applications:deployer [24/09/2022 18:12] thierry [Sources & Ressources] |
prog:symfony:applications:deployer [06/11/2022 13:50] (Version actuelle) thierry [Sources & Ressources] |
||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
* Créer la base de données avec ''php bin/console doctrine:database:create'' (si vous pouvez creer un BDD) | * Créer la base de données avec ''php bin/console doctrine:database:create'' (si vous pouvez creer un BDD) | ||
* Créer les tables avec ''php bin/console doctrine:migrations:migrate'' | * Créer les tables avec ''php bin/console doctrine:migrations:migrate'' | ||
- | |||
- | ===== Déployer dans un sous répertoire ===== | ||
- | Le but ici est d’héberger une appli Synfony dans un sous répertoire et non pas a la racine du site web. | ||
- | |||
- | Imaginons que l'on veuille acceder a notre appli via le répértoire 'sous_repertoire' comme ceci : \\ | ||
- | ''http://mon_site.com/sous_repertoire/xxxx/xxxx/''\\ | ||
- | La partie ''/xxxx/xxxx'' devenant la route a retourner au routeur Symfony | ||
- | |||
- | |||
- | Ressources: | ||
- | * [[https://stackoverflow.com/questions/33257500/htaccess-with-symfony-in-subdirectory-cannot-hide-web]] | ||
- | |||
- | ==== Nouveau HTACCESS ==== | ||
- | a placer dans le répertoire de l'application. | ||
- | |||
- | Ce .htaccess renvois tout ce qui est demandé au niveau de ce répértoire vers le répértoire ''public'' | ||
- | <code bash .htaccess> | ||
- | <IfModule mod_rewrite.c> | ||
- | RewriteEngine On | ||
- | RewriteRule ^(.*) public/index.php/$1 [L] | ||
- | </IfModule> | ||
- | </code> | ||
- | |||
- | ==== Modification du routage ==== | ||
- | === Configuration dans le fichier .env === | ||
- | <note>Dans notre exemple l'adresse de notre app est ''http://mon_site.com/sous_repertoire/xxxx/xxxx/''</note> | ||
- | Dans le fichier ''.env'' ou ''.env.local'' ajouter la variable globale | ||
- | <code bash .env.local> | ||
- | BASE_HOST="/sous_repertoire" | ||
- | BASE_URL="http://mon_site.com/sous_repertoire/public" #pour les Assets | ||
- | </code> | ||
- | <note important>Si ''BASE_URL'' est vide ou est une adresse mal formée, alors on obtient une erreur</note> | ||
- | === Dans le fichier services.yaml === | ||
- | Pour transformer la variable globale en variable interpretable par le routeur dans le fichier ''annotations.yaml'' | ||
- | <code bash config/services.yaml> | ||
- | parameters: | ||
- | app.base_host: '%env(BASE_HOST)%' | ||
- | </code> | ||
- | |||
- | === Ajouter un prefix aux urls === | ||
- | <code bash config/routes/annotations.yaml> | ||
- | controllers: | ||
- | resource: ../../src/Controller/ | ||
- | type: annotation | ||
- | prefix: '%app.base_host%' | ||
- | |||
- | kernel: | ||
- | resource: ../../src/Kernel.php | ||
- | type: annotation | ||
- | prefix: '%app.base_host%' | ||
- | </code> | ||
- | |||
- | === Modifier l'url de base pour les Assets === | ||
- | <code bash config\packages\framework.yaml> | ||
- | assets: | ||
- | base_urls: ['%env(BASE_URL)%'] | ||
- | |||
- | </code> | ||
- | <note tip>J'ai essayé avec le paramètre ''base_path'' qui me paraissait plus approprié, mais cela n'a pas fonctionné...</note> | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
====== Sources & Ressources ====== | ====== Sources & Ressources ====== | ||
- | * [[https://www.youtube.com/watch?v=AAap9qRHgIk|Tutoriel Symfony : Héberger le site sur un hébergement mutualisé (Vidéo Grafikart)]] | + | * [[https://www.youtube.com/watch?v=AAap9qRHgIk|Tutoriel Symfony : Héberger le site sur un hébergement mutualisé (Vidéo Grafikart) [rsync]]] |
* [[https://openclassrooms.com/fr/courses/5489656-construisez-un-site-web-a-l-aide-du-framework-symfony-5/5517046-deployez-votre-site-web]] | * [[https://openclassrooms.com/fr/courses/5489656-construisez-un-site-web-a-l-aide-du-framework-symfony-5/5517046-deployez-votre-site-web]] | ||
* [[https://arkalo.ovh/docs/baseurl-symfony/]] | * [[https://arkalo.ovh/docs/baseurl-symfony/]] | ||