Maintenant, nous sommes presque prêts à faire tourner notre application skeleton.
La dernière chose que nous allons faire est de configurer un hôte virtuel Apache.
Les hôtes virtuels (virtual hosts) vous permettent d'exécuter plusieurs sites internet sur la même machine.
Ces sites virtuels sont différenciés par un nom de domaine (comme site.mydomain.com
et site2.mydomain.com
) ou
par un numéro de port (comme localhost
et localhost:8080
).
Les hôtes virtuels fonctionnent de telle manière que les internautes ne savent si les sites fonctionnent sur la même
machine ou sur des machines différentes.
Actuellement, l'application skeleton est à l'intérieur de votre répertoire personnel. Pour en informer Apache, nous devons éditer le fichier hôte virtuel.
Le fichier hôte virtuel peut se trouver sur un chemin différent, selon le type de système d'exploitation. Par exemple, sous Linux Ubuntu, il se trouve dans le fichier
/etc/apache2/sites-available/000-default.conf
. Pour obtenir des informations spécifiques au système d'exploitation et au serveur concernant les hôtes virtuels, reportez-vous à l'annexe A. Configuration de l'environnement de développement Web(#devenv).
Modifions maintenant le fichier hôte virtuel par défaut pour qu'il ressemble à ce qui suit (nous supposons que vous utilisez Apache v2.4):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/username/helloworld/public
<Directory /home/username/helloworld/public/>
DirectoryIndex index.php
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
La ligne 1 du fichier permet à Apache d'écouter toutes les adresses IP (*) sur le port 80.
La ligne 2 définit l'adresse e-mail du Webmaster. Si un problème arrive au site, Apache envoie un e-mail d'alerte à cette adresse. Vous pouvez y entrer votre adresse e-mail.
La ligne 4 définit le répertoire racine du document (APP_DIR/public
).
Tous les fichiers et répertoires sous la racine du document seront accessibles par les internautes.
Vous devez définir ceci comme étant le chemin absolu du répertoire public de l'application skeleton.
Ainsi, les dossiers et les fichiers dans le répertoire public (comme index.php
, css
, js
, etc.) seront accessibles,
alors que les dossiers et les fichiers au-dessus du répertoire public (comme config
, module
, etc.) ne seront pas
accessibles aux internautes, cela améliore la sécurité du site Web.
Les lignes 6 à 10 définissent des règles pour le répertoire racine du document (APP_DIR/public
).
Par exemple, la directive DirectoryIndex indique à Apache qu'index.php doit être utilisé comme fichier d'index par défaut.
La directive AllowOverride All
permet de définir des règles dans les fichiers .htaccess.
La directive Require all granted
permet à tout le monde de visiter le site Web.
Zend Framework 3 utilise le module de réécriture d'URL d'Apache pour rediriger les internautes vers le script d'entrée de votre site Web. Assurez-vous que le module
mod_rewrite
est activé sur votre serveur Apache. Pour plus d'informations sur l'activation du module, reportez-vous à l'annexe A. Configuration de l'environnement de développement Web.
Après avoir édité le fichier de configuration, n'oubliez pas de redémarrer Apache pour appliquer vos modifications.