Avant de publier un site web, il est conseillé de le tester en local. Il est facile d'installer apache2 sous Ubuntu (XUbuntu 6.10, actuellement sur mon ordinateur). En revanche, la configuration par défaut ne permet pas forcément de tester toutes les fonctionnalités du site web en ligne. Voici quelques petits points de configuration pour un serveur de test.
Les dossiers accessibles par http://localhost sont dans le répertoire /var/www. Il est hors de question, pour tester son site local de le placer dans ce répertoire, car il faudrait les droits de superutilisateur (sudo) pour le modifier... Créez normalement votre répertoire de travail (par exemple /home/votre_login/web/) dans votre répertoire, pour lequel vous disposez de tous les droits, et contentez vous de créer un lien symbolique dans /var/www.
Le plus simple est probablement d'ouvrir un terminal, de vous placer dans le dossiers qui recevra le lien symbolique et d'utiliser la commande ln :
Par défaut, sous Ubuntu, Apache2 est configuré pour ne pas prendre en compte les fichiers .htaccess. En effet, l'utilisation de ces derniers ralentit le serveur et augmente les ressources nécessaires. Si vous utilisez apache comme serveur de production local, il est conseillé de ne pas utiliser les fichiers .htaccess, et de configurer le serveur (et les dossiers nécessitant des options spéciales) directement par les fichiers de configurations que l'on trouve dans le répertoire /etc/apache2.
En revanche, si apache2 vous sert essentiellement comme serveur de test avant publication chez un hébergeur qui ne vous laisse pas avoir accès aux fichiers de configuration, il peut être utile d'autoriser en local les .htaccess.
Ceci peut être fait dans le fichier /etc/apache2/apache2.conf. Alternativement, on peut ajouter un fichier de directives dans le répertoire /etc/apache2/conf.d, ce qui facilitera le repérages des modifications que nous aurons faite à la configuration par défaut.
Pour autoriser toutes les modifications possibles par .htaccess, il suffit d'écrire le code suivant :
Pour un travail plus fin, se reporter à la documentation d'apache.
Si vous voulez pouvoir modifier facilement la configuration d'apache2, il sera encore plus simple de créer un fichier de configuration complémentaire config_apache (ou tout autre nom de votre choix) dans notre propre dossier de travail (afin de pouvoir le modifier sans avoir à passer en mode superutilisateur) et créer un lien symbolique dans le dossier /etc/apache2/conf.d, afin qu'il soit pris en compte par le serveur.
Pour évaluer l'effet de la nouvelle configuration, vous devrez redémarrer apache en lançant la commande :
Par défaut, seuls quelques modules sont chargés. Il est possible que votre site ne fonctionne pas en local du fait de l'absence de certains modules, présents chez votre hébergeur, mais non chez vous.
Lorsque j'ai voulu tester SPIP en local, je ne parvenais pas à faire accepter la réécriture des URL (URL rewriting) jusqu'à ce que je découvre grâce à la fonction phpinfo(), que chez mon hébergeur, un module mod_rewrite était chargé... Ce module n'est bien sûr pas nécessaire avec Si2Ra puisque l'URL rewriting n'y est pas utile.
Pour ajouter un module, il suffit de créer un lien des fichiers du répertoire /etc/apache2/mods-available vers le répertoire /etc/apache2/mods-enabled. Pour chaque module il existe un fichier .load et parfois un fichier .conf.
Pour activer la réécriture des URL, il suffit donc de créer un lien vers le fichier /etc/apache2/mods-available/rewrite.load dans le répertoire /etc/apache2/mods-enabled.
Une autre solution, serait d'ajouter le contenu du fichier en question au fichier config_apache que nous avons créé dans notre répertoire et mis un lien symbolique dans /etc/apache2/conf.d .