Apache, comment ca marche ?
Introduction
Au bout de 30 min vous aurez un serveur web qui fonctionnera parfaitement et qui sera sécurisé en plus ; cependant ce guide est destiné à un public ayant des connaissances en html, il n’y a aucune informations à ce sujet dans les pages qui suivent, mais vous avez la possibilité d’en trouver très facilement - le web en regorge. Apache est un serveur web fiable, sécurisé, compacte et gratuit ; vous remarquerez que j'en met une couche pour le logiciel libre... Vive le GNU (organisme qui développe des logiciels libres), GPL (General Public License) et vive Richard Stallman (le père du logiciel libre), Lary Wall (le père du langage Perl) et les éditions O'Reilly - les meilleurs bouquins sur les logiciels libres. Oups, j'oubliais Linus Torvalds (créateur de Linux). La dernière version d'Apache en date est la version 1.3.9, on la trouve sur http://www.apache.org, mais je ne saurais vous conseiller la version 1.3.6 si votre Windows n'est autre que 95, pas de problème en revanche avec Windows98. Lorsque vous vous trouvez sur le site, allez dans la partie "download" puis cliquez sur le fichier "apache_1_3_6_win32.exe", win32 signifie que cette archive est destinée a être installée sur un système d'exploitation win32 (windaube 95, 98 ou haine T) sinon les autres fichiers portent l'extension "tar.gz" ce qui signifie qu'ils sont destinés à un système d'exploitation basé sur Unix.
Configuration de baseLe fichier est arrivé sur votre disque dur, lancez-le. L'installation va vous demander un chemin d'installation - par défaut "C:\Program Files\Apache\Group\Apache" - je conseille de modifier celui ci en "C:\Apache" afin d'avoir un accès instantané aux fichier du serveur, puis choisissez l'installation custom pour avoir tout sous la main. Une fois installé vous devez avoir une arborescence comme ceci :
Configurons maintenant le serveur. Veuillez utiliser un éditeur de texte tel que le bloc note de windows mais surtout pas wordpad ou word afin de travaillez sur du texte brut et non du texte formaté. Lancez le bloc note et ouvrez le fichier " httpd.conf " se trouvant dans le répertoire c:/apache/conf, dorénavant nous le nommerons "fichier config". Une fois ouvert rechercher la chaîne de caractère : #ServerName new.host.name (Je vous conseille d’utiliser la recherche automatique pour éviter de vous en sortir avec une calvitie à la fin de la configuration de votre serveur.) Lorsque vous l’avez trouvé, retirez le caractère dièse (" # "), c’est comme cela que l’on commente un fichier dans le monde Unix. Vous venez de rendre le serveur opérationnel en lui donnant un nom, mais je pense qu’un nom plus simple vous ira mieux, renommez " new.host.name " en prenant le nom de votre animal de compagnie, par exemple " minou " comme ceci : ServerName minou Désormais votre serveur s’appelle " minou ". Sauvegardez le fichier et démarrer votre serveur (démarrer - programmes - apache web server - Start Apache as console app) vous devriez voir ceci à l’écran :
Si vous voyez ceci à l’écran, bravo vous avez réussi à configurer et a lancer votre serveur. Mais ce n’est pas fini. Allez dans les propriétés réseau, puis dans
l’onglet identification et donnez un nom explicite a votre ordinateur.
Le nom de l'ordinateur doit être le même que celui du
serveur sinon vous ne pourez pas vous servir du serveur http.
Rendez vous dans votre navigateur internet favori et ouvrez la configuration
du proxy.
Ajoutez "minou ", comme ci-dessus dans le champs mentionnant de ne
pas utiliser le proxy pour ces adresses, confirmez le tout et tapez l’adresse
suivante : http://minou/, vous devriez voir
la fenêtre ci-dessous qui confirme le bon fonctionnement du serveur.
Arrêtons le serveur pour que les modifications que nous allons faire
prennent effet lors du prochain redémarrage du serveur. Affichez
la fenêtre dos du serveur et appuyez simultanément sur les
touches <ctrl> + <c>.
Les CGI - Common Gateway InterfaceIl ne vous reste plus qu’à remplir votre site afin que les informations que vous y avez déposé soit accessible depuis le monde entier. Vous allez me dire : " c’est bien joli d’avoir un serveur qui fonctionne, mais comment peut on savoir qui est venu et combien de personne y ont mis les pieds ? ".C’est pour cela que je vais vous parler des CGI ; mais quel est ce terme barbare ? me direz vous. Et bien CGI signifie Common Gateway Interface. Ce procédé permet d’afficher des compteurs, des horloges sur les pages ainsi que des " guestbook " - sortes de livres d’or destinés à être signés par les visiteurs. Mais à partir du moment où vous achetez on line il y a de fortes chances pour que derrière votre commande il y ait un CGI pour recueillir les informations que vous avez mentionnées dans le formulaire de la dite commande. Vous pouvez trouver des compteurs, des horloges, des guestbook à l’adresse suivante : http://www.geocities.com/SiliconValley/6742/, tout est très bien expliqué pour ce qui est de l’installation, la configuration et l’utilisation dans la documentation jointe à l’archive que vous téléchargerez. Vous pouvez également créer vos propre CGI en Perl. Pour cela rechercher la ligne : LanguagePriority en fr de et ajoutez en dessous, en ayant pris soin de sauter une ligne, ceci : AddHandler cgi-script .cgi
La sécuritéMaintenant passons à la sécurité - " sortez couvert... ".Pour empêcher que les utilisateurs puissent lister le contenu de votre serveur, de façon identique à la commande " dir " sous dos ou via l’explorateur, on mentionne au serveur, dans le fichier config, aux emplacements de "Directory", la ligne suivante : Options None Maintenant votre serveur interdit le listage des fichiers mais on peut toujours accéder à votre serveur... Pour y remédier nous allons créer des utilisateurs. Ouvrez une fenêtre dos et allez dans le répertoire c:\apache\bin Tapez la commande suivante : - dans l’exemple suivant vous pouvez attribuer à l’utilisateur BugsBunny le mot de passe carotte c:\apache\bin>htpasswd –c users BugsBunny Automatically using MD5 format on Windows. New password: ******* carotte Re-type new password: ******* carotte Updating password for user BugsBunny Le premier mot, que vous avez tapé, est le programme qui permet de créer des utilisateurs, le second est un argument (-c pour créer un fichier d’utilisateur), le troisième est le nom du fichier contenant les noms des utilisateurs et le dernier : l’utilisateur que vous désirez créer. Vous pouvez en ajouter dans le même fichier, dans notre exemple le fichier s’appelle users (htaccess users NomDUtilisateur) Après avoir validé ceci, le programme vous demande un mot de passe – une identification et une confirmation. Ouvrez le bloc note et écrivez les lignes suivantes que vous sauvegarderez dans le fichier " htaccess " qui devra se trouver dans le répertoire c:\apache\htdocs AuthName "Bienvenue sur mon serveur web" AuthType Basic AuthUserFile "c:/apache/bin/users" require valid-user Vous remarquerez que la troisième ligne du fichier fait référence au nom du fichier que nous avons crée plus haut. Nous venons de créer un utilisateur, en l’occurrence BugsBunny, mais tout le monde peut toujours accéder à votre serveur : pour remédier à cela, ouvrez le fichier de config. Recherchez la chaîne de caractère suivante : <Directory "c:/apache/htdocs"> quelques lignes plus bas vous trouverez une chaine de carractère semblable à celle ci : AllowOverride None Remplacez " None " par " AuthConfig ". Faites de même pour <Directory "c:/apache/cgi-bin"> Puis recherchez la chaine de caractère suivante : AccessFileName .htaccess Retirez le point devant htaccess pour avoir ceci : AccessFileName htaccess
Les aliasAfin de personnaliser votre serveur vous pouvez ajouter des alias. Un alias définit un chemin autre que htdocs. Par exemple, nous avons des documents dans le chemin suivant : f:\archive\web\perso\. Mais on ne peut y accéder via un browser. Pour cela nous alons créer un alias à placer dans le fichier de configcomme ceci :### Perso sur le disque F:
AllowOverride AuthConfig
Ces lignes peuvent être placée n'importe où dans le fichier ; personnelement je place les alias dans "Section 1: Global Environment", c'est plus facile à trouver. Le chemin d'accès sera donc http://minou/perso/.
Le proxyApache peut vous servir de proxy en ajoutant ces quelques lignes dans le fichierr de conf.LoadModule proxy_module modules/ApacheModuleProxy.dll
Le Server StatusOn peut aussi jouer l'espion !! Voici un autre module permetant de connaitre la charge du serveur, comme ci-dessus, on place le code dans le fichier de conf.LoadModule status_module modules/ApacheModuleStatus.dll
PHP3Le PHP3 est un langage permetant de générer des pages web dynamiques et également la construction d'un site basé sur des donnée dynamiques é contenues dans des fichiers ou un système de gestion de base de données, autrement appelé SGBD.Afin de pouvoir utiliser PHP3, il vous faut un serveur web et le logiciel PHP3 téléchargeable à cette adresse : http://www.php.net. L'archive téléchargée (php-3.0.11-win32.zip), la décomprésser dans le répertoire c:\php3. Puis copier les fichiers php.exe et *.dll dans le répertoire c:\apache\cgi-bin. Copier le fichier php3.ini (il se peut que se fichier porte le nom php3.ini-dist, le renomer php3.ini) dans le répertoire de windows. Puis ajouter ou modifier les lignes suivantes : log_errors=1
Configurer Apache en modifiant le fichier de config comme ceci : <Directory "c:\apache\cgi-bin">
Puis :
On peut aussi ajouter la directory de php dans le fichier autoexec.bat si besoin est. Un petit exemple à placer dans le répertoire htdocs
:
<?php
UserDirAfin de mieux ordoner le serveur web, Apache permet, aussi bien que dans sa version Unix que Win32, d'attribuer des url différentes à chacun des utilisateurs. Dans le monde Unix ces répertoire sont sittués dans le dossier public_htm de chaque utilisateur (/home/user/public_htm).Etant donné que ce type d'arborescence n'existe pas sous Win32, une directive bien spécifique à ceci ce trouve dans le fichier de config, elle se présente comme ceci : UserDir "d:/network/apache/users/" Il faudra créer un répertoire users du fait que par défaut il n'existe pas. Dans ce même répertoire on créera un sous-dossier par utilisateur. Par exemple BugsBunny. Pour y accéder on utilisera l'url suivante : http://minou/~BugsBunny/
ConclusionEt bien voilà, votre serveur web Apache est blindé contre tous hackers ou tout intrus non désirables. Pour toutes questions vous pouvez me contacter 24h/24, 7j/7 à l’adresse suivante : blacksnake@fr.fm |