Aller au contenu

Apache/Sites

Un livre de Wikilivres.

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

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

[modifier | modifier le wikicode]

Pour ajouter un site, éditer :

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

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

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

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

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

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

[modifier | modifier le wikicode]

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