Configurer les VirtualHosts pour Symfony
Un petit mémo technique sur la configuration des VirtualHosts avec Apache2 pour un projet Symfony. Je montre comment faire à la fois sur Windows et Linux.
Pour Windows (WampServer 2.x)
Note : Je pars du principe que vous installé Wamp à la racine du disque C:\ et pas dans C:\Program Files. Si ce n’est pas le cas adaptez les chemins à votre installation, mais idéalement il ne faut pas d’accents ou d’espaces dans le répertoire d’installation comme c’est conseillé dans la documentation Symfony.
Commencez par éditer le fichier C:\wamp\bin\apache\Apache2.2.17\conf\extra\httpd-vhosts
<VirtualHost *:80>
ServerName www.projectname.com
ServerAdmin webmaster@projectname.com
DocumentRoot "c:\wamp\www\projectname\web"
DirectoryIndex index.php
<Directory "c:\wamp\www\projectname\web">
AllowOverride All
Allow from All
</Directory>
Alias /sf "c:\wamp\www\projectname\lib\vendor\symfony\data\web\sf"
<Directory "c:\wamp\www\projectname\lib\vendor\symfony\data\web\sf">
AllowOverride All
Allow from All
</Directory>
ErrorLog "c:\wamp\logs\projectname-error.log"
CustomLog "c:\wamp\logs\projectname-access.log" common
</VirtualHost>
Il est préférable de créer un fichier de log pour chaque projet pour faciliter le débogage. Par ailleurs, afin de garder le répertoire localhost accessible, rajoutez ceci à la fin du fichier :
DocumentRoot "C:\wamp\www"
ServerName localhost
ServerAlias localhost
</VirtualHost>
Ensuite, éditez le fichier C:\wamp\bin\apache\Apache2.2.17\conf\httpd.conf et dé-commentez la ligne suivante (ligne 469 normalement) :
Pour finir, modifiez le fichier C:\WINDOWS\system32\drivers\etc\hosts et rajoutez cette ligne :
127.0.0.1 www.projectname.com
Il ne reste plus qu’à redémarrer le service Apache. Le site est désormais accessible via votre navigateur à l’adresse http://www.projectname.com/
Pour Linux (serveur LAMP)
Note : Là aussi je pars du principe que vous déjà installé votre serveur LAMP et que votre projet se situe dans le dossier /var/www et pas dans le /home
Commencez par éditer le fichier hosts :
Et rajoutez cette ligne :
Placez vous dans le dossier /etc/apache2/sites-available/ et créez un fichier avec le nom de votre projet (sans extension)
Ouvrez le fichier que vous venez de créer avec votre éditeur favori et copiez le code suivant :
ServerAdmin webmaster@projectname.com
ServerName projectname.com
ServerAlias www.projectname.com
DocumentRoot "/var/www/projectname/web"
DirectoryIndex index.php
<Directory /var/www/projectname/web>
AllowOverride All
Allow from All
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/projectname-error.log
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/projectname-access.log combined
Alias /sf /var/www/projectname/lib/vendor/symfony/data/web/sf
<Directory "/var/www/projectname/lib/vendor/symfony/data/web/sf">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
Pour terminer, créez le lien dans le dossier /etc/apache2/sites-enabled. Pour ce faire, utilisez cette commande :
N’oubliez pas de recharger la configuration d’Apache en faisant :
Voilà vous pouvez aller sur votre site à l’adresse http://www.projectname.com/
Il ne restera plus qu’à répéter cette opération pour chaque nouveau projet même s’il doit être possible d’automatiser tout ça par un script (sur Linux du moins). J’ai volontairement mis les www dans le fichier hosts mais vous pouvez très bien ne pas les mettre…
4 Commentaires sur “Configurer les VirtualHosts pour Symfony”
Laisser un commentaire
Articles au hasard
-
Inverser deux colonnes d'une table MySQL
-
Mise en place d'un CSS Switcher avec jQuery
-
Envoyer des emails avec Swift Mailer
-
L'autocomplétion dans Symfony (suite et fin)
-
Configurer les VirtualHosts pour Symfony
Articles par catégorie
- Administration réseau (6)
- Base de données (1)
- MySQL (1)
- Développement Web (7)
- HTML et CSS (1)
- Javascript (3)
- PHP (6)
Sondage

# Le 7 octobre 2011 à 8 h 49 min
j’ai rédigé un article sur le même sujet mais le tiens est bien plus complet.
Je le garde dans mes bookmark pour mon prochain projet Symfony, merci.
Si ça intéresse voici le lien vers mon article:
http://www.blog.manit4c.com/2011/06/14/utiliser-un-virtualhost-avec-wamp-pour-vos-sites-en-local/
# Le 11 octobre 2011 à 14 h 02 min
Pour optimiser et supprimer le fichier htaccess, on peu inclure les règles de l’url rewriting et autres mod directement dans le vhost, j’ai testé sur un site pour mon entreprise, la charge serveur est moins importante pendant les pics de connexion.
# Le 11 octobre 2011 à 17 h 52 min
@Quiche: Merci pour ta contribution, je ne connaissais pas cette technique. J’aurai bien voulu la tester mais tous mes sites sont sur des serveurs mutualisés alors c’est rapé !
PS: J’ai édité ton lien car Akismet le considère comme du spam.
# Le 7 septembre 2014 à 20 h 24 min
L’article ci-dessous présente également un exemple de configuration pour l’environnement de « dev » et de « prod »
http://www.equation.fr/equablog/2014/08/29/symfony-2-bien-debuter-projet-vhost/