Apache/Sites


Unix/LinuxModifier

RaccourcisModifier

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.confModifier

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.confModifier

Pour ajouter un site, éditer :

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

.htaccessModifier

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.

UserDirModifier

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 hostsModifier

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

WindowsModifier

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

Fichier hostModifier

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

VirtualHostModifier

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 comptesModifier

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érencesModifier