Atelier
Apache2
1. Verifier
si
apache
est
installé:
dpkg-‐query
–W|grep
‘apache2’
2. le
cas
écheant
,
Intatallez
le:
sudo
apt-‐get
install
apache2
3. créer
un
site
web
de
votre
choix
Le
Serveur
Web
Apache2
est
capable
de
gérer
simultanément
plusieurs
arborescences
Web
grâce
à
la
notion
d'hôtes
Virtuels
(Virtual
Hosts).
Nous renseignons le fichier /etc/hosts afin d'assurer la résolution de
nom (Nom –> Adresse Ip) des hôtes Virtuels que nous allons créer.
Ceci n'est nécessaire que si votre serveur DNS (Serveur Bind) n'est pas
installé et/ou configuré pour vos domaines ou encore, que les
noms DNS attribués aux hôtes Virtuels sont purement fictifs ou ne vous
appartiennent pas.
4. Hôtes virtuels basés sur le nom
Cette méthode est la plus utilisée et la plus conseillée. Elle tend même à devenir
un standard. Il s'agit simplement d'associer plusieursnoms DNS à une seule
adresse IP.
Attention, il faut également déclarer ces 2 sites dans le fichier /etc/hosts
Dans un premier temps nous allons définir des noms DNS pour nos sites : [Link]
et [Link] Il faut ajouter ces informations au fichier /etc/hosts pour que la
résolution DNS pointe sur la machine locale ([Link]) :
sudo gedit /etc/hosts
et rajouter les deux lignes suivantes :
[Link] [Link] [Link] [Link]
Puis nous allons créer deux dossiers dans le dossier /var/www qui est par défaut la
racine d'apache.
sudo mkdir /var/www/monsite1 sudo mkdir /var/www/monsite2
Remarque:
Il n'est pas recommandé de travailler directement dans des répertoires du serveur. Un
lien symbolique depuis le répertoire principal du serveur vers un répertoire dans votre
dossier personnel (par exemple: www-dev/monsite1) est mieux. Pour travailler ainsi, il
faut ignorer les deux commandes "sudo" ci-dessus (Le mot "UTILISATEUR" dans les
commandes ci-dessous doit être remplacé par votre identifiant) :
Sudo mkdir /home/UTILISATEUR/www-dev/monsite1
sudo mkdir /home/UTILISATEUR/www-dev/monsite2
sudo ln -s /home/UTILISATEUR/www-dev/monsite1 /var/www/monsite1
sudo ln -s /home/UTILISATEUR/www-dev/monsite2 /var/www/monsite2
sudo chown -hR $USER:users /home/UTILISATEUR/www-dev/monsite1
sudo chown -hR $USER:users /home/UTILISATEUR/www-dev/monsite2
sudo chmod -R 755 /home/UTILISATEUR/www-dev/monsite1
sudo chmod -R 755 /home/UTILISATEUR/www-dev/monsite2
Ces dossiers faits, nous allons créer les fichiers de configurations pour apache.
Dans /etc/apache2/sites-available se trouve un fichier nommé default. modifiez de cette
façon le fichier :
<VirtualHost *:80>
ServerAdmin votre-mail@[Link]
ServerName [Link]
ServerAlias [Link]
DocumentRoot /var/www/monsite1
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/monsite1>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/[Link]
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/[Link] combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from [Link]/[Link] ::1/128
</Directory> </VirtualHost>
Ceci fait, enregistrez le fichier sous le nom monsite1 puis modifiez-le en mettant cette
fois monsite2 à la place de monsite1, puis ré-enregistrez sous le nom de monsite2.
Pour terminer, il vous suffit de créer des liens des deux fichiers nouvellement créés dans
le dossier /etc/apache2/sites-enabled. Pour ce faire, une commande a été faite
spécialement :
sudo a2ensite monsite1 sudo a2ensite monsite2
Puis, afin de recharger la configuration d'Apache :
sudo /etc/init.d/apache2 reload
Vous pouvez alors accéder aux deux sites !
[Link] affichera le contenu
du dossier site1 [Link] affichera le contenu du dossier site2.
Si l'url [Link] affiche seulement un index avec le dossier
"home/www/monsite1", et que le contenu du site lui-même est
dans [Link] c'est peut-être que votre lien vers
home/www/monsite1 qui devrait se trouver dans /var/www se trouve en fait dans
/var/www/monsite1 (le répertoire qu'il n'aurait pas fallu créer avant la mise en place du
lien symbolique).
Voici la commande pour désactiver le site "monsite1" :
sudo a2dissite monsite1 sudo /etc/init.d/apache2 reload