LP Web TP1 IDSE PDF
LP Web TP1 IDSE PDF
LP Web TP1 IDSE PDF
G. Rey
Installation et configuration 2015-2016
1 Présentation Générale
Les cours Web de cette année auront pour objectifs principaux de vous faire découvrir ou redécouvrir un large
éventail de technologies utilisées dans les différentes étapes de la conception d’un site web. Pour ce faire, nous
nous placerons dans le cadre d’un particulier (ou d’une PME) qui souhaite héberger lui-même son site web ainsi
que différents outils largement utilisé de nos jours. Pour cela, le cours sera organisé selon 3 parties. Les 3 parties
seront les suivantes :
2 Introduction
Les objectifs de ce TP sont de vous montrer comment installer et configurer un serveur web. Nous verrons dans un
premier temps la configuration d’un serveur Apache sur un système Debian 8 – server puis la configuration de
divers outils pour terminer par la configuration du serveur IIS de Microsoft sur un système Windows.
2.1 Le rendu
Vous devrez en fin de séance rendre un compte rendu de votre TP. Ce compte rendu devra OBLIGATOIREMENT
respecter les contraintes suivantes :
• Contenir dans le corps de l’email les questions que vous pourriez avoir (si vous souhaitez avoir une
réponse rapide car les comptes rendu ne sont pas évalués immédiatement).
• Contenir en attachement 1 seul fichier .zip, .7z ou .tar.gz contenant lui-même 1 fichier de compte rendu (au
format pdf, rtf, doc, docx ou txt) ainsi que les divers fichiers (fichiers de configuration, pages (x)html, CSS,
php…) écrits dans le TP. Ne pas joindre de fichiers exécutables.
• loadkeys fr : passe le clavier en français (fr) (nécessite les droits d’administration du système).
Attention, ne pas arrêter le serveur virtuel, car vous ne pourrez pas le redémarrer.
Quelle est la version de HTTP apache 2 qui a été installé sur votre système ?
Cours/TP n° 1 Licence Professionnelle Nice – Sophia
G. Rey
Installation et configuration 2015-2016
Bravo, vous venez de finir l’installation de votre serveur http apache sous linux. Maintenant nous allons voir
comment configurer celui-ci pour qu’il réponde correctement à nos besoins.
Démarrage normal
Démarre normalement le processus daemon httpd (apache2 dans notre cas).
> apache2ctl -k start
Arrêter immédiatement
L'envoi du signal stop au processus parent induit chez celui-ci une tentative immédiate de tuer tous ses processus
enfants. Cela peut durer plusieurs secondes. Après cela, le processus parent lui-même se termine. Toutes les
requêtes en cours sont terminées, et plus aucune autre n'est traitée.
> apache2ctl -k stop
Arrêt en douceur
L'envoi du signal graceful-stop au processus parent lui fait aviser les processus enfants de s'arrêter après le
traitement de leur requête en cours (ou de s'arrêter immédiatement s'ils n'ont plus de requête à traiter). Le
processus parent va alors supprimer son fichier PidFile et cesser l'écoute de tous ses ports. Le processus parent va
continuer à s'exécuter, et va surveiller les processus enfants qui ont encore des requêtes à traiter. Lorsque tous les
processus enfants ont terminé leurs traitements et se sont arrêtés ou lorsque le délai spécifié par la directive
GracefulShutdownTimeout a été atteint, le processus parent s'arrêtera à son tour. Si ce délai est atteint, tout
processus enfant encore en cours d'exécution se verra envoyer le signal stop afin de le forcer à s'arrêter.
Cours/TP n° 1 Licence Professionnelle Nice – Sophia
G. Rey
Installation et configuration 2015-2016
Redémarrer immédiatement
L'envoi du signal restart au processus parent lui fait tuer ses processus enfants comme pour le signal stop, mais le
processus parent ne se termine pas. Il relit ses fichiers de configuration, et réouvre ses fichiers de log. Puis il donne
naissance à un nouveau jeu de processus enfants et continue de traiter les requêtes.
> apache2ctl -k restart
Redémarrage en douceur
L'envoi du signal graceful au processus parent lui fait envoyer aux processus enfants l'ordre de se terminer une fois
leur requête courante traitée (ou de se terminer immédiatement s'ils n'ont plus rien à traiter). Le processus parent
relit ses fichiers de configuration et rouvre ses fichiers de log. Chaque fois qu'un enfant s'éteint, le processus parent
le remplace par un processus enfant de la nouvelle génération de la configuration, et celui-ci commence
immédiatement à traiter les nouvelles requêtes.
> apache2ctl -k graceful
3.2.2 Modules
Apache est un serveur modulaire. Ceci implique que seules les fonctionnalités les plus courantes sont incluses dans
le serveur de base. Les fonctionnalités étendues sont fournies à l'aide de modules qui peuvent être chargés dans
Apache. Par défaut, un jeu de modules de base est inclus dans le serveur à la compilation. Si le serveur est compilé
de façon à utiliser les modules chargés dynamiquement, alors les modules peuvent être compilés séparément et
chargés à n'importe quel moment à l'aide de la directive LoadModule. Dans le cas contraire, Apache doit être
recompilé pour ajouter ou supprimer des modules. Les directives de configuration peuvent être incluses de
manière conditionnelle selon la présence ou l'absence d'un module particulier en les plaçant dans un bloc
<IfModule>.
Vérifiez les modules qui ont été compilés avec le serveur avec la commande suivante :
> apache2ctl -l
# PidFile: The file in which the server should record its process
# identification number when it starts.
# This needs to be set in /etc/apache2/envvars
PidFile ${APACHE_PID_FILE}
# Timeout: The number of seconds before receives and sends time out.
Timeout 300
#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
KeepAliveTimeout 5
# Include list of ports to listen on and which to use for name based vhosts
Include ports.conf
# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Cours/TP n° 1 Licence Professionnelle Nice – Sophia
G. Rey
Installation et configuration 2015-2016
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\""
vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
Examinez votre propre fichier de configuration et essayez de comprendre par vous-même (sans lire la suite de ce
cours ni chercher des informations sur le net) l’ensemble des directives présentes. Quand vous pensez avoir
compris, essayez de répondre aux questions ci-dessous.
• Vérifiez si le numéro du processus linux du démon httpd (apache2 dans notre cas) contenu dans le fichier
apache.pid correspond bien au premier processus apache2.
• Combien y a-t-il de processus apache2 actuellement fonctionnel ?
• Que se passe-t-il sur les numéros des processus apache2 après l’exécution d’une commande de
redémarrage ? Vous vérifiez notamment si les commandes apache2ctl –k restart et
/etc/init.d/apache2 restart ont le même effet sur le serveur apache httpd.
• Vérifiez dans le fichier le nom d’utilisateur et du groupe d'apache.
• Que contiennent les répertoires /etc/apache/mods-available, /etc/apache/mods-enabled, /etc/apache/ sites
- available et /etc/apache/sites-enabled ?
Nous allons maintenant utiliser la directive DirectoryIndex pour spécifier quel fichier doit être lu si aucun n’est
défini par la requête http. Si le module dir n’a pas été installé au début, activez le module « dir » à l’aide d’une des
méthodes suivantes (classées de la moins bonne à la plus correcte)
• copiez les fichiers dir.conf et dir.load situés dans /etc/apache2/mods-available/dans /etc/apache2/mods-
enabled/.
• Faire un lien symbolique des fichiers dir.conf et dir.load situés dans /etc/apache2/mods-available/vers
/etc/apache2/mods-enabled/.
• Utiliser la commande apache2 « a2enmod » pour activer le module (la commande a2dismod permet de
désactiver un module):
Cours/TP n° 1 Licence Professionnelle Nice – Sophia
G. Rey
Installation et configuration 2015-2016
Modifier la ligne suivante dans votre fichier dir.conf puis redémarrer le serveur http.
DirectoryIndex index.htm index.html index.php
De manière générale, si on veut qu’une modification effectuée dans un des fichiers de /etc/apache2 soit
prise en compte, il faut redémarrer le serveur web.
Consulter l’adresse suivante http://10.0.2.xxx/ (IP de votre serveur) depuis votre navigateur préféré.
Puisque aucune page index.htm n’existe de /var/www/html/ (répertoire actuellement défini pas défaut), c’est le
fichier index.html qui est lu. Créez le fichier index.htm suivant dans /var/www/html/ :
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Ma page index.htm</title>
</head>
<body>
<p>Ma page index.htm</p>
</body>
</html>
Sans redémarrer le serveur, rechargez votre page web (reconsulter l’adresse suivante http://xxx.xxx.xxx.xxx/ (IP de
votre serveur) depuis votre navigateur préféré). Normalement c’est votre page index.htm qui devrait être affichée.
Attention, des fois la page est en cache dans votre navigateur, donc il faut forcer le rechargement.
De manière générale, si on fait une modification dans l’espace web (/var/www), on n’a pas besoin de
redémarrer le serveur web pour qu’elle soit prise en compte.
Maintenant nous allons voir comment créer des répertoires spécifiques pour chaque utilisateur du système.
Si vous n’avez pas d’utilisateur autre que root, vous pouvez en créer un avec les commandes suivantes
> useradd -m -d /home/student/ -s /bin/bash student
> passwd student
Par exemple, notre utilisateur student aura un espace privé (public_html par exemple) sur son homedir
(/home/student/) qui sera accessible via l’url http://xxx.xxx.xxx.xxx/~student / (avec l’IP de votre serveur).
Commencez par créer un répertoire public_html dans le homedir de student (attention, de bien faire cela depuis le
compte student et non le compte root).
Revenez sous le compte root. Il vous reste à installer le module userdir (de la même manière que pour le module
dir) et enfin de redémarrer le serveur http. Le paramétrage se fait dans le fichier userdir.conf.
UserDir public_html
Affichez la page suivante pour vérifier si ça marche : http://xxx.xxx.xxx.xxx/~student/.
Vérifiez la présence de ces lignes à la fin du fichier apache2.conf car nous en aurons besoins dans la suite de ce
cours/TPs.
# Include the virtual host configurations:
Include sites-enabled/
Comme la requête n’est pas valide nous devrions avoir une erreur. Mais le serveur nous retourne normalement la
page web sans rien d’autre. Ecrivons maintenant une requête http valide la plus simple possible. Pour rappel, une
requête doit avoir la forme suivante (les informations en [] sont facultatives) :
La requête la plus simple est donc la suivante (n’oubliez pas la ligne vide):
GET / HTTP/1.0
Vérifiez que vous obtenez bien quelque chose comme cela pour un fichier xhtml:
HTTP/1.1 200 OK
Date: Tue, 20 Aug 2013 13:18:06 GMT
Server: Apache/2.2.22 (Debian)
Vary: Accept-Encoding
Content-Length: 51
Connection: close
Content-Type: application/xhtml+xml
<html><body><h1>It works!</h1></body></html>
Apache a été le précurseur des serveurs proposant cette méthode de serveurs virtuels basés sur les adresses IP. Ses
versions 1.1 et suivantes ont toujours proposées ces deux méthodes de serveurs virtuels par-IP et par-nom. Cette
deuxième méthode est parfois également appelée host-based ou serveur virtuel non-IP.
L'hébergement virtuel par nom est habituellement plus simple, car il vous suffit de configurer votre serveur DNS
pour que chaque domaine pointe sur l'adresse IP dont vous disposez, et de configurer votre serveur Apache HTTP
afin qu'il reconnaisse ces domaines. Il réduit aussi la pénurie en adresses IP. Par conséquent, vous devriez utiliser
l'hébergement virtuel par nom à moins d'avoir une raison spécifique de préférer l'hébergement virtuel par IP.
Certaines de ces raisons vous sont exposées ci-après :
• Certains anciens navigateurs ne sont pas compatibles avec les serveurs virtuels par nom, car pour
fonctionner, un client doit transmettre un champ d'en-tête HTTP Host. Cet en-tête est exigé pour
HTTP/1.1, et peut être implémenté sur des navigateurs modernes HTTP/1.0 grâce à une extension.
• L'hébergement virtuel par nom ne peut pas être utilisé avec des serveurs sécurisés SSL à cause de la nature
même du protocole SSL.
• Certains systèmes d'exploitation et équipements réseaux emploient des techniques de gestion de la bande
passante qui ne peuvent pas différencier des domaines autrement que par des adresses IP séparées.
Dans notre cas, nous nous intéresserons, dans ce cours/TPs, uniquement aux serveurs virtuels par nom. Nous
avons deux solutions pour mettre ceux-ci en place :
Attention, dans la suite de ce cours/TP, on fait l’hypothèse que vous avez utilisez la solution 1. Si ce n’est pas le cas,
adaptez l’énoncer avec les noms des domaines que vous avez créé.
DocumentRoot /var/www/html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
La directive VirtualHost
<VirtualHost> et </VirtualHost> sont utilisés pour encapsuler un groupe de directives qui ne seront appliqués qu’à
l’hôte virtuel qu’elles définissent. On spécifie l’adresse IP ou le nom de domaine auquel correspond l’hôte virtuel
ainsi que le numéro de port. Dans l’exemple ci-dessus, (ainsi que par défaut), l’hôte virtuel est défini pour toutes
les IPs (que le serveur http peut lire) et sur le port 80.
La directive ServerAdmin
ServerAdmin définie l’adresse de contact que le serveur inclut dans les messages d’erreurs qui seront retournés au
client.
La directive DocumentRoot
Cette directive défini le répertoire d’origine à partir duquel httpd distribue les fichiers. À moins que l’url ne
corresponde à un Alias (voir la directive Alias), le serveur ajoute le chemin de l'URL demandée à la racine du
document pour faire le chemin au document. La racine (DocumentRoot) devrait être spécifiée sans un slash en fin
de nom.
La directive Directory
<Directory> et </Directory> sont utilisés pour encapsuler un groupe de directives qui ne seront appliqués qu’au
répertoire (et ces sous-répertoires) spécifié dans <Directory nom_répertoire>.
Combien y a-t-il de répertoires configurés dans le fichier donné en exemple ? Quels sont-ils ?
La directive AllowOverride
Quand le serveur trouve un fichier .htaccess (comme spécifié par AccessFileName) il doit connaître quelles
directives déclarées dans ce fichier peuvent ignorer des directives de configuration précédentes. AllowOverride est
valable seulement dans des sections <Directory> définies sans expressions régulières. Quand cette directive est
mise à :
• None, alors les fichiers .htaccess sont complètement ignorés. Dans ce cas, le serveur n'essayera pas même
de lire des fichiers de .htaccess dans le système de fichiers.
• All, le serveur prendra en compte toutes les directives dans le fichier .htaccess
• …
La directive Order
La directive Order, associée avec les directives Allow et Deny, pilote un système de contrôle d'accès à trois passages.
• Le premier passage traite toutes les directives Allow ou Deny, comme spécifié selon la directive Order.
• Le deuxième passage fait l'analyse syntaxique du reste des directives (Allow ou Deny).
• Le troisième passage s'applique à toutes les demandes qui ne correspondent à aucun des premiers deux.
La directive Allow
La directive Allow défini quels hôtes peuvent avoir accès à un secteur du serveur. L'accès peut être contrôlé par
hostname, l'adresse IP, la gamme d'adresse IP, ou selon d'autres caractéristiques de la requête du client. Le premier
argument à cette directive est toujours from. Les arguments suivants peuvent prendre trois formes différentes.
• Allow from all : Pour permettre à tous les hôtes l'accès, soumis à la configuration des directives Order et
Deny.
• Allow from ‘host’ : Pour permettre seulement aux hôtes particuliers ou les groupes d'hôtes d'avoir accès
au serveur, l'hôte peut être spécifié dans n'importe lequel des formats suivants :
o Un nom de domaine partiel ou non : Allow from apache.org
o Une adresse IP partielle ou non : Allow from 10.1.2.3 ou Allow from 10.1
o Un couple réseaux/netmask : Allow from 10.1.0.0/255.255.0.0
o Un couple réseaux/nnn CIDR (nnn= nombre de bit à 1) : Allow from 10.1.0.0/16
• Allow from env=env-variable : Pour permettre l’accès en fonction de l’existence ou de non de variable
d’environnement.
La directive Deny
Cette directive permet de limiter l'accès au serveur d'être en fonction du hostname, de l'adresse IP, ou des variables
d'environnement. Les arguments pour la directive Deny sont identiques à ceux de la directive Allow.
La directive Alias
La directive Alias permet aux documents d'être stockés dans le système de fichiers local ailleurs qu’à la racine
définie par la directive DocumentRoot. Imaginons que nous souhaitions donner accès au répertoire
/home/student/public_html/secret en utilisant l’url http://www.iut-nice1.fr/secret/. Il suffirait pour cela d’ajouter
les lignes suivantes dans le fichier 000-default (qui contiendrait la configuration d’un virtual host).
Alias /secret/ "/home/student/public_html/secret/"
<Directory "/home/student/public_html/secret/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Créez le répertoire /home/student/public_html/secret et ajoutez les lignes ci-dessus dans votre fichier 000-default.
Pensez à redémarrer votre serveur pour que votre nouvelle configuration soit prise en compte.
La directive Options
La directive Options contrôle que les fonctions du serveur sont disponibles dans un répertoire particulier.
Options peut être mise à une des valeurs suivantes :
• None : dans ce cas on ne permet aucune fonction supplémentaire,
• All : toutes les options à part Multivues. C'est la valeur par défaut.
• ExecCGI : On permet l'exécution de scripts CGI utilisant mod_cgi.
• FollowSymLinks : le serveur suivra des l symboliques dans ce répertoire.
• Includes : autorise les inclusions du côté du serveur à l’aide du module mod_include.
• IncludesNOEXEC : les inclusions du côté du serveur, mais les #exec cmd et #exec cgi sont désactivés.
• Indexes : si une URL correspondant à un répertoire est demandée et qu’il ni à pas de DirectoryIndex (e.g.,
index.html) dans le répertoire, alors le module mod_autoindex pourra renvoyer une liste de répertoire.
• …
Normalement, si plusieurs directives Options sont appliquées à un répertoire, alors la plus spécifique est utilisée et
les autres sont ignorés. Cependant si toutes les options de la directive Options sont précédées par le symbole + ou -
les options sont fusionnées. N'importe quelle option précédée par un + est ajoutée aux options actuellement actives
et n'importe quelle option précédée par un - est enlevée des options actuellement actives.
• Attention, le mélange d'options avec un + ou - avec des sans symbole n'est pas une syntaxe valable. Il est
probable que vous obteniez des résultats inattendus.
Par exemple, sans aucun + et - symboles où seul l’option Includes sera active pour le répertoire /web/docs/spec.
<Directory /web/docs>
Options Indexes FollowSymLinks
</Directory>
<Directory /web/docs/spec>
Options Includes
</Directory>
Cependant si la deuxième directive Options utilise des symboles + et - alors les options FollowSymLinks et Includes
seront actives pour le répertoire /web/docs/spec.
<Directory /web/docs>
Options Indexes FollowSymLinks
</Directory>
<Directory /web/docs/spec>
Options +Includes -Indexes
</Directory>
Revenons maintenant à notre problème premier, comment créer des serveurs virtuels avec une même IP.
Maintenant, lorsqu'une requête arrive, le serveur va d'abord tester si elle utilise une adresse IP qui correspond à
NameVirtualHost. Si c'est le cas, il regardera chaque section <VirtualHost> avec l'adresse correspondante et
essaiera d'en trouver une où le nom de domaine requis correspond à ServerName ou ServerAlias. S'il en trouve une,
il utilisera sa configuration pour le serveur. Si aucun serveur virtuel ne correspond, alors le premier serveur virtuel
listé dont l'adresse IP correspond sera employé. En conséquence, le premier serveur virtuel listé est le serveur
virtuel default. La directive DocumentRoot du serveur principal ne sera jamais employée lorsqu'une adresse IP
correspond dans une directive NameVirtualHost. Si vous ne voulez pas avoir de configuration spéciale pour les
requêtes qui ne sont pas attachées à un serveur virtuel en particulier, mettez cette configuration dans une section
<VirtualHost> que vous placerez en premier dans le fichier de configuration.
Activez vos 2 nouveaux sites à l’aide de la commande a2ensite qui est similaire à celle utilisé pour les modules
(a2dissite pour désactiver un virtualhost).
Testez les 3 adresses suivantes et vérifiez qu’à chaque fois vous êtes bien sur un serveur virtuel différent :
• http://www.iut-nice1.fr/
• http://www.iut-nice2.fr/
• http://xxx.xxx.xxx.xxx/ (avec l’IP de votre serveur)
Sans testez l’action sur votre serveur, dites ce qui arrive si on désactive le site par default (c’est-à-dire si on efface le
fichier /etc/apache2/sites-enabled/000-default) et qu’on ouvre l’url suivante sur un navigateur. Pourquoi obtient-on
ceci ?
• http://xxx.xxx.xxx.xxx/ (avec l’IP de votre serveur)
On notera que pour désactiver un site, il est préférable d’utiliser la commande a2dissite.
1. Quelle directive spécifie le port TCP sur lequel écouter ? Quel est le port par défaut ?
2. Il y a-t-il d’autres fichiers de configuration chargés depuis apache2.conf ? Où sont-ils placés ? Donnez en la
liste.
3. Sous quelle identité unix (utilisateur et groupe) le serveur va-t-il s’exécuter ? Donner les UID et GID
correspondants.
4. Quel est le répertoire racine pour les documents (pages) servis ?
5. Quelle page Apache2 renvoie-t-il lorsque l’URL demandée correspond à un répertoire ?
6. Comment sont traitées les URL de la forme http://serveur/cgi-bin/toto ?
7. Quels sont les fichiers de logs générés ? Où sont-ils placés ? Quel est leur format et comment est-il
contrôlé ?
Le fichier de mot de passe est un fichier texte devant contenir sur chacune de ses lignes le nom de chaque
utilisateur suivi des deux points (:), puis du mot de passe crypté (solution recommandée) ou en clair. Ce fichier de
mot de passe ne devrait pas être mis dans un répertoire virtuel Internet.
Voici un exemple de fichier de mots de passe non chiffrés (ici .pass). Ne pas utiliser ce fichier mais utiliser la
version chiffrée. Les versions non chiffrées ne sont plus supportées par défaut par les navigateurs actuels.
utilisateur:user
gaetan:passpass
Voici le même fichier contenant des mots de passe chiffrés :
utilisateur:YYam8h/9OU2aQ
gaetan:J2Jt7wQJ0piNA
Exemple :
Order deny,allow
Deny from .domaine.com
Toutes les requêtes provenant du domaine .domaine.com ne pourront avoir accès aux ressources comprises dans le
répertoire et ses sous-répertoires. La commande Order sert à préciser explicitement que la commande Deny va bien
annuler l'effet de Allow et non l'inverse.
<Files secret2.html>
AuthUserFile /var/conf/www/.pass
AuthGroupFile /dev/null
AuthName "Accès sécurisé au site Nice 1"
Ceci vous permet de donner un message d'erreur personnalisé remplaçant les fichiers fournis avec le navigateur.
Voici quelques-unes des erreurs les plus courantes à personnaliser :
401 Unauthorized : la personne n'a pas passé avec succès l'identification.
403 Forbidden : le serveur n'a pas le droit de répondre à votre requête.
404 Not Found : le serveur n'a pas trouvé le document souhaité.
Lorsque vous essayez d'accéder au répertoire sans préciser la page à afficher, Apache va avoir recours à la directive
DirectoryIndex. En général, par défaut, cette directive pointe vers index.html puis index.htm. Dans l'exemple ci-
dessus, Apache va commencer par chercher index.php, puis index.html, et ensuite index.phtml. Si aucun de ces trois
fichiers existent, la page 403.php (se trouvant dans la racine) sera affichée pour éviter de lister le répertoire.
Maintenant nous allons devoir installer le module ssl pour Apache. Normalement le module ssl (c'est-à-dire les
fichiers ssl.conf et ssl.load) se trouve déjà dans /etc/apache2/mods-available/. Activez le module ssl. Notez que vous
pouvez aussi activer ou désactiver les modules Apaches à l’aide des commandes suivantes :
> a2enmod {nom_du_module}
> a2dismod {nom_du_module}
Nous supposerons dans la suite que le fichier openssl.cnf est dans /etc/ssl/ (ce qui devrait être normalement le cas).
Vérifiez que c’est bien le cas pour vous.
5.4.2 Régler le serveur pour qu'il écoute (aussi) sur le port 443
Par défaut, Apache2 est configuré pour écouter sur le port 80. Vous pouvez vérifier les ports actifs sur votre
machine à l’aide de la commande :
netstat -nlt
Or le protocole SSL a besoin d'émettre sur un port spécifique pour pouvoir fonctionner, celui qui est adopté en
général est le port 443. Pour cela ajoutez la directive suivante dans le fichier /etc/apache2/ports.conf (sauf si celle-ci
est déjà présente) :
Listen 443
Redémarrez Apache et vérifiez si le serveur écoute bien sur le port 443.
6.3 Configuration
Avant toute autre chose, vous allez créer un alias dans un des hosts virtuels de manière à ce qu’on puisse accéder
au forum (le répertoire phpBB3) à l’aide d’une URL du type http://xxx.xxx.xxx.xxx/forum/
Maintenant allez sur la page http://xxx.xxx.xxx.xxx/forum/install/ depuis votre navigateur. Allez sur l’onglet
INSTALLER et suivez les instructions.
Finissez tranquillement de remplir les différents champs (vous désactiverez les fonctions SMTP pour ne pas avoir
de problème). Une fois arrivé à la page suivante, vous avez terminé l’installation. Bravo ;). Il faut maintenant
« supprimer, déplacer ou renommer le répertoire d’installation avant d’utiliser votre forum. Tant que ce répertoire est
présent, seul le panneau de contrôle de l’administrateur sera accessible. »
Rendez-vous sur la page http://xxx.xxx.xxx.xxx/forum/ pour vérifier si votre forum est bien fonctionnel.
Modifier la configuration de votre serveur pour que votre forum soit accessible via l’adresse http://forum.iut-
nice1.fr.
• DokuWiki est un Wiki, conforme aux standards, simple à utiliser, dont le but est de créer des
documentations de toute sorte. Il est destiné aux équipes de développement, aux travaux de groupe et aux
petites entreprises. Il possède une syntaxe simple mais puissante qui assure la lisibilité des fichiers de
données en dehors du Wiki, et facilite la création de textes structurés. Toutes les données sont stockées
dans des fichiers textes – aucune base de donnée n'est requise.
• MediaWiki est un logiciel libre développé à l'origine pour Wikipédia et utilisé aujourd'hui par de
nombreux autres projets de l'association à but non lucratif Wikimedia Foundation ainsi que par d'autres
sites reposant sur la technologie wiki, sous license GNU General Public License (GPL). Il est utilisé par
Wikipédia et d'autres projets de la fondation Wikimédia, ainsi que par bien d'autres sites et wikis.
• PmWiki est un système de type wiki pour la création et l'entretien collectif de sites Internet. Les pages
PmWiki ont le même aspect et fonctionnent comme des pages Internet ordinaires, sauf qu'elles possèdent
un lien pour "Éditer" ce qui permet de modifier ou d'ajouter facilement des pages à un site, en utilisant les
règles d'édition de base. Vous n'avez pas besoin de connaître le langage HTML ou les CSS. L'édition des
pages peut être laissée ouverte à tout public ou restreinte à un petit groupe d'auteurs.
• WikiNi offre un moyen particulièrement simple, efficace et rapide de créer et gérer un site internet ou
intranet. Il s'installe en une dizaine de minutes sur un serveur web supportant Php et une base de données
MySQL. Cet outil permet, en ligne, avec n'importe quel navigateur Web :
o de créer, supprimer, modifier, commenter les pages d'un site, quel que soit le nombre d'éditeurs et
de pages.
o de gérer les droits d'accès aux différentes pages (lire, écrire, commenter).
o d'élaborer la mise en page des contenus de manière intuitive et très visuelle, par des règles de
formatage ne nécessitant aucune connaissance informatique.
o de publier instantanément toute création ou modification de page.
o d'analyser, de gérer l'ensemble du site à partir de fonctions simples : plan du site, liste des
utilisateurs, suivi des dernières pages modifiées ou commentées, etc.
Avant toute chose, le protocole TCP/IP doit être installé et fonctionnel. Si vous possédez Windows NT 4 il est
fortement recommandé que le Service Pack 6 soit installé.
8.1 Installation
Cliquez deux fois sur le fichier msi et suivez les instructions (voir si dessous pour les choix à faire en fonction des
différents écrans). Pensez bien à remplacer les identifiants donnés comme exemple par votre propre identifiant.
Bravo vous avez fini l’installation d’apache http Server 2.2. Pour vérifier que tout va bien ouvrez la page suivante
depuis un navigateur se trouvant sur la même machine que le serveur apache :
http://localhost/
8.2 Configuration
Concernant la configuration du serveur, tout fonctionne comme sous linux. Si vous avez installé Apache http
server dans le répertoire C:\Program Files\Apache Software Foundation\Apache2.2
• Vous trouverez les fichiers de configurations dans le répertoire C:\Program Files\Apache Software
Foundation\Apache2.2\conf. Notez que tout est configuré dans le fichier httpd.conf.
• Que la racine du serveur web (là où les pages sont stockées) est le répertoire C:/Program Files/Apache
Software Foundation/Apache2.2/htdocs.
• La commande pour démarrer le serveur est "C:\Program Files\Apache Software
Foundation\Apache2.2\bin\httpd.exe" -w -n "Apache2.2" -k start
• La commande pour redémarrer le serveur est "C:\Program Files\Apache Software
Foundation\Apache2.2\bin\httpd.exe" -w -n "Apache2.2" -k restart
• La commande pour arrêter le serveur est "C:\Program Files\Apache Software
Foundation\Apache2.2\bin\httpd.exe" -w -n "Apache2.2" -k stop
En plus de cela, vous bénéficiez sous Windows de l’Apache Service Monitor. Une petite interface d’administration
bien pratique.
9.1 Installation
Allez dans le panneau de configuration de Windows puis choisissez «ajouter ou supprimer des programmes » puis
allez dans « Ajouter ou supprimer des composants Windows » dans le menu de gauche. Vous arriverez alors sur
l’écran suivant :
Sélectionnez IIS dans la liste déroulante (cochez la case) puis allez dans Détails. Là, vous pouvez ajouter ou
supprimer des options (comme le service SMTP ou la fonction FTP …). Faites OK puis suivant. L’installation se
termine tranquillement. Ouvrez un navigateur dans la machine virtuel et allez à l’adresse suivante pour vérifier que
votre serveur http fonctionne correctement : http://localhost/.
Vérifiez également les points suivants :
• L’installation de votre serveur IIS, a automatiquement installé à la racine de votre disque local "C", un
dossier nommé "Inetpub", lequel est le dossier racine de votre serveur "ISS".
• Ce dossier racine "Inetpub", contient bien plusieurs dossiers de fichiers, dont un dossier nommé "wwwroot
(le chemin du dossier ou répertoire nommé "wwwroot" est bien C :\Inetpub\wwwroot\)
Déroulez, dans la fenêtre de votre serveur IIS, le nœud du dossier Sites web, pour faire apparaître la dépendance
Site Web par défaut, sur laquelle vous appliquerez un clic droit, puis vous sélectionnerez la commande "Nouveau-
>Répertoire virtuel..."
Donnez un nom (alias) à votre répertoire virtuel, lequel va représenter le nom de votre dossier de site racine, qui
sera en vérité, le même que celui que portera le nom de votre répertoire de site web virtuel. Par la suite, nous
ferons l’hypothèse d’avoir choisi Nice1 comme nom. Faites suivant puis cliquez sur le bouton "Parcourir" afin de
créer votre répertoire de site web virtuel et le placer comme sur l’image ci-dessous.
Copier un fichier index.html dans votre nouveau répertoire. Si vous vous rendez à l’url http://xxx.xxx.xxx.xxx/nice1/
vous ne verrez qu’un message d’erreur s’afficher. Les fichiers par default étant différents sous IIS. Faites un clic
droit->propriété sur Nice1 dans votre interface de contrôle puis allez dans l’onglet Document. Ajoutez index.html à
la liste.
Nous devons redémarrer le serveur pour que les modifications soient prises en compte. Faites-le à l’aide de
l’interface de contrôle comme indiqué sur la figure suivante.
http://www.webrankinfo.com/dossiers/google-analytics/management-api
http://www.webrankinfo.com/dossiers/google-analytics/api-nouveautes-sept-09
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: