< Apache

Unix/Linux

Raccourcis

Tous les sites installés sur le serveur peuvent simplement être publiés depuis un lien symbolique qui pointe vers eux :

$ ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

$ ln -s /usr/share/mediawiki /var/www/mediawiki

Ensuite ils sont accessibles par le même nom de domaine :

  • //monAdresse/phpmyadmin
  • //monAdresse/mediawiki

apache2.conf

Les répertoires accessibles par Apache peuvent aussi être paramétrés dans[1] :

commande nécessitant les privilèges root
# vim /etc/apache2/apache2.conf

Lignes :

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

000-default.conf

Pour ajouter un site, éditer :

commande nécessitant les privilèges root
vim /etc/apache2/sites-available/000-default.conf

.htaccess

Un fichier .htaccess peut aussi gérer les sites[2].

commande nécessitant les privilèges root
# vim /var/www/.htaccess
Pour plus de détails voir : Apache/.htaccess.

UserDir

UserDir est un module Apache permettant d'accéder à un site différent par dossier d'utilisateur Unix (/home/...) en tapant son nom dans l'URL :

Pour plus de détails voir : Apache/UserDir.

Fichier hosts

Cette solution est la plus adaptée quand plusieurs domaines (donc URL) pointent vers le même serveur (adresse IP).

Dans un premier temps, il faut associer les noms des sites, à la manière des DNS[3] :

commande nécessitant les privilèges root
# vim /etc/hosts

Le contenu du fichier va servir à renvoyer les connexions de l'une des deux colonnes de chaque ligne, vers l'autre colonne de la même ligne :

127.0.0.1 mediawiki
127.0.0.1 phpmyadmin

Windows

Une première solution est que chaque site soit un sous-répertoire de localhost.

Fichier host

Même principe qu'en Unix-like dans C:\Windows\System32\drivers\etc\host.

VirtualHost

Une fois que les noms des sites sont connus de l'hôte, des Vhost peuvent être définis avec.

Pour plus de détails voir : Apache/Serveurs_virtuels.

Plusieurs comptes

Parfois on a besoin d'un compte utilisateur par site, par exemple pour y conférer des accès FTP différents. Dans ce cas il faut installer le module suExec[4] et ajouter une ligne aux vhost de chaque site avec le nom et le groupe de leur compte Unix :

 SuexecUserGroup MonUtilisateur MonGroupe

Puis :

 apt-get install apache2-suexec
 a2enmod suexec

Par ailleurs, le compte par défaut utilisé par Apache (www-data) peut être modifié dans :

sudo vim /etc/apache2/envvars

Références

Cet article est issu de Wikibooks. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.