La pire méthode
Dans les chapitres précédents, vous avez créé un répertoire qui héberge le projet. Si vous l'avez créé quelque part dans le répertoire racine web de votre serveur web, vous pouvez déjà accéder au projet dans un navigateur Web.
Bien sûr, comme il n'y a pas de configuration, il est très rapide à mettre en place, mais essayez
d'accéder au fichier config/databases.yml
dans votre navigateur pour comprendre les
conséquences négatives d'une telle attitude paresseuse. Si l'utilisateur sait que votre site est
développé avec symfony, il aura accès à un grand nombre de fichiers sensibles.
N'utilisez jamais cette configuration sur un serveur de production, et lisez la section suivante pour savoir comment configurer votre serveur web correctement.
La méthode sécurisée
Une bonne pratique web est de mettre sous le répertoire racine du site Web que
les fichiers qui doivent être accessibles par un navigateur web, comme les feuilles de style, des Javascripts et
des images. Par défaut, nous vous recommandons de stocker ces fichiers sous le répertoire web/
du projet symfony et ses sous-répertoires.
Si vous jetez un oeil sur ce répertoire, vous trouverez plusieurs sous-répertoires pour
les ressources web (css/
et images/
) et deux fichiers de contrôlleur frontal. Les
contrôleurs frontaux sont seulement des fichiers PHP qui doivent être sous le répertoire
racine web. Tous les autres fichiers PHP peuvent être cachés au navigateur, c'est une bonne
idée en matière de sécurité.
Configuration du serveur Web
Maintenant il est temps de changer votre configuration d'Apache, pour rendre le nouveau projet accessible au monde.
Localisez et ouvrez le fichier de configuration httpd.conf
et ajoutez la configuration
suivante à la fin :
# Soyez sûr d'avoir seulement cette ligne une fois dans votre configuration NameVirtualHost 127.0.0.1:8080 # C'est la configuration pour votre projet Listen 127.0.0.1:8080 <VirtualHost 127.0.0.1:8080> DocumentRoot "/home/sfproject/web" DirectoryIndex index.php <Directory "/home/sfproject/web"> AllowOverride All Allow from All </Directory> Alias /sf /home/sfproject/lib/vendor/symfony/data/web/sf <Directory "/home/sfproject/lib/vendor/symfony/data/web/sf"> AllowOverride All Allow from All </Directory> </VirtualHost>
note
L'alias /sf
vous donne accès à des images et des fichiers JavaScript nécessaire
pour afficher correctement les pages symfony par défaut et la barre d'outils web de débogage.
Sur Windows, vous devez remplacer la ligne Alias
avec quelque chose comme :
Alias /sf "c:\dev\sfproject\lib\vendor\symfony\data\web\sf"
Et /home/sfproject/web
doit être remplacé par :
c:\dev\sfproject\web
Cette configuration permet Apache d'écouter le port 8080 sur votre machine, de sorte que le site web sera accessible à l'adresse suivante :
http://localhost:8080/
Vous pouvez changer 8080
par un autre nombre, mais favorisez les nombres plus grand que 1024
car
ils ne nécessitent pas de droits administrateur.
Tester la nouvelle configuration
Redémarrez Apache, et vérifiez que vous avez maintenant accès à la nouvelle application en
ouvrant un navigateur et en tapant http://localhost:8080/index.php/
, ou
http://www.myproject.com.localhost/index.php/
en fonction de la configuration d'Apache que
vous avez choisi dans la section précédente.
tip
Si vous avez le module Apache mod_rewrite
installé, vous pouvez retirer
une partie de l'URL : index.php/
. Ceci est possible grâce à la
régle de reroutage configuré dans le fichier web/.htaccess
.
Vous devriez également essayer d'accéder à l'application dans l'environnement de développement (voir la section suivante pour plus d'informations sur les environnements). Tapez l'adresse URL suivante :
http://www.myproject.com.localhost/frontend_dev.php/
La barre d'outils web de débogage devrait apparaître dans le coin supérieur droit, incluant
de petites icônes, prouvant que la configuration de votre alias sf/
est correct.
note
La configuration est un peu différente si vous voulez faire tourner symfony sur un serveur IIS dans un environnement de Windows. Vous trouverez la façon de le configurer dans le tutoriel dédié.
This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.