Les serveurs WEB Une introduction Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com Claude Duvallet 1/22
Comparaison des serveurs WEB (1) Répartition des parts de marché : Microsoft IIS : 30 % Apache HTTP server : 60 % ZEUS : 1,4 % Informations pratiques : Apache : Prix : 0 euros Compatibilité : Linux, Windows 98 à XP, de nombreux Unix,MacOS X site : http ://www.apache.org/ Microsoft IIS : ZEUS : Prix : inclus dans Windows 2000 Serveur Compatibilité : Windows 2000 Serveur site : http ://www.microsoft.com/france/ Prix : 1900 euros Compatibilité : Linux, de nombreux Unix,MacOS X site : http ://www.zeus.com/products/zws/ Claude Duvallet 2/22
Comparaison des serveurs WEB (2) Apache : les points forts : Gratuité, Peu gourmand en ressources matérielles, Excellente stabilité. les points faibles : Installation et administration plus laborieuse (pas d interface graphique), Pas de support technique. Microsoft IIS : les points forts : Grande simplicité d installation et d administration. les points faibles : Coût du support technique, très gourmand en ressources matérielles. Claude Duvallet 3/22
Comparaison des serveurs WEB (3) Zeus : les points forts : Peu gourmand en ressource matérielles, Excellente stabilité, Capacité à tenir de très gros pics de fréquentation, Interface native avec certaines bases de données. les points faibles : Coût de la licence (1700 Euros), Coût du support technique. Claude Duvallet 4/22
Internet Information Server Claude Duvallet 5/22
Configuration de Microsoft IIS (1) Utilisation de Microsoft Management Console (MMC). Lancement de l outil de configuration : ouvrir le fichier C:\WINNT\system32\inetsrv\iis.msc Il s agit d un petit fichier de configuration (5 à 10 Ko) donc facilement transportable d un environnement à un autre. Configuration de IIS au format HTML : Il existe un équivalant à l interface MMC. L adresse d administration HTML est la suivante : http://localhost:xxxx/iisadmin/default.asp xxxx désigne le numéro de port TCP lié au site WEB d administration, il est définit aléatoirement lors de l installation de IIS. Espace de stockage par défaut des fichiers du site WEB : c:\inetpub\wwwroot Claude Duvallet 6/22
Configuration de Microsoft IIS (2) Claude Duvallet 7/22
Configuration de Microsoft IIS (3) Claude Duvallet 8/22
Configuration de Microsoft IIS (4) Claude Duvallet 9/22
Configuration de Microsoft IIS (5) Claude Duvallet 10/22
Création de répertoire virtuel Permet de définir un alias entre le chemin présenté au client WEB et l emplacement réel du contenu. L emplacement physique peut être : un autre répertoire situé sur le serveur à un emplacement différent ou sur un autre disque du serveur, un partage situé sur un autre ordinateur du réseau local (nom netbios + partage), une redirection vers une autre adresse HTTP. Dans MMC, cela se fait au moyen d un assistant. Comme pour tout répertoire du site WEB on peut définir des droits d accès (écriture, lecture, exécution de scipt, autoriser l exploration de répertoire). Claude Duvallet 11/22
APACHE Claude Duvallet 12/22
La commande apachectl l option start : lance le démon httpd l option stop : arrête httpd l option restart : relance httpd en envoyant un signal SIGHUP l option fullstatus : permet d obtenir le descriptif de l état du serveur l option status :... l option graceful : effectue un redémarrage complet en envoyant un signal SIGUSR1 l option configtest : effectue un test de la syntaxe de configuration l option help : fournit une aide sur les options Claude Duvallet 13/22
La configuration du serveur Apache (1) Chargement et activation des modules, exemple : LoadModule php4_module /usr/lib/apache/1.3/libphp4.so DocumentRoot /home/httpd/html permet de spécifier l endroit où se trouve les pages WEB du serveur. UserDir html permet de spécifier l emplacement des pages des utilisateurs lorsque l on tape, par exemple http ://localhost/ duvallet/ Listen 3000/Listen 12.34.56.78 :80 permet de spécifier une adresse et/ou un numéro de port supplémentaire. Claude Duvallet 14/22
La configuration du serveur Apache (2) DirectoryIndex index.html index.htm index.shtml index.cgi permet de spécifier les fichiers par défaut qui peuvent être lus par Apache. La gestion des alias : Alias NomRacourci NomRéel permet de définir des racourcis, notamment au niveau des chemins d accès. ServerAdmin Claude.Duvallet@.univ-lehavre.fr permet de spécifier l adresse mail du webmaster. ServerRoot /home/httpd permet de spécifier le répertoire de base de Apache. Claude Duvallet 15/22
Contrôler les accès On doit pouvoir contrôler les accès aux différentes parties du serveur. Section <Directory /home/httpd/html/> </directory> Commande order, allow, deny Deux possibilités : Order deny, allow Order allow, deny Autoriser un accès : allow Interdire un accès : deny Claude Duvallet 16/22
Autoriser uniquement depuis une classe IP Ceci permet notamment de créer des intranet. <Directory /home/httpd/html/intra/> order deny,allow deny from all allow from 193.52.167. </Directory> Exemple : http ://janeway.univ-lehavre.fr/intra ne sera autoriser que pour la classe C 193.52.167.* Claude Duvallet 17/22
Autoriser uniquement depuis un domaine Il s agit du même principe que précédemment, on remplace la spécification d adresses IP par un nom de domaine. <Directory /home/httpd/html/intra/> order deny, allow deny from all allow from.univ-lehavre.fr </Directory> Claude Duvallet 18/22
Création d un serveur virtuel <VirtualHost ip.address.of.host.some_domain.com> ServerAdmin webmaster@host.some_domain.com DocumentRoot /www/docs/host.some_domain.com ServerName host.some_domain.com ErrorLog logs/host.some_domain.com-error.log CustomLog logs/host.some_domain.com-access.log common </VirtualHost> Claude Duvallet 19/22
inetd, le super-serveur réseau Il s agit du démon internet qui écoute plusieurs ports différents et lance des programmes en fonction des connexions reçues, exemples : ftpd qui permet d utiliser le service ftp, telnetd qui permet d utiliser le service telnet. Apache peut être soit indépendant soit invoqué par inetd : pour cela, il existe une instruction de configuration : ServerType ServerType standalone permet de spécifier que le server WEB tournera sur un démon indépendant (httpd). Claude Duvallet 20/22
Configuration de PHP sous Apache Les lignes suivantes doivent être rajoutées (décommentées) dans httpd.conf, une fois que PHP et Apache sont installés. AddType application/x-httpd-php.phtml.php AddType application/x-httpd-php-source.phps Il faut aussi modifié la ligne : DirectoryIndex index.html index.htm index.shtml index.cgi index.php Claude Duvallet 21/22
Tester la configuration PHP Un fichier contenant du code PHP doit avoir pour extension soit.phtml, soit.php Un code PHP doit être inséré entre des TAG particuliers, il existe plusieurs possibilités : 1 entre <? et? > 2 entre <?php et? > 3 entre <SCRIPT LANGUAGE= php > et </SCRIPT> 4 entre < % et % > (cette syntaxe est désactivée par défaut) Un exemple de fichier contenant du code PHP <?php echo "Bonjour!\n"; echo "Bienvenue dans la programmation de sites WEB dynamiques\n";?> Le même exemple écrit différemment <SCRIPT LANGUAGE="php"> echo "Bonjour!\n"; echo "Bienvenue dans la programmation de sites WEB dynamiques\n"; </SCRIPT> Claude Duvallet 22/22