Suivez-nous sur X
|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
En pratique : Monter un serveur Web avec Apache
(Article écrit par Jean-Paul Pozzi et extrait d'Amiga News - juin 1998)
|
|
Vous rêvez de monter votre serveur WWW personnel ? C'est un serveur "httpd" qu'il vous faut, et Apache comblera vos désirs.
C'est un serveur WWW libre très connu dans le monde Unix (porté aussi sur OS/2, NT... beuuuhhh et Amiga... ahhhh). Un très grand
nombre des serveurs que vous fréquentez utilisent Apache, mais le serveur WWW reste invisible, il ne fait que répondre aux
demandes reçues.
Apache est issu du serveur développé par le NCSA (National Center for Super-computing Applications) de l'Université d'Illinois.
Le logiciel est actuellement géré par le Apache Server Project (www.apache.org) qui est
constitué de développeurs du monde entier. La version Amiga a été portée par une petite équipe accessible aux adresses
www.xs4all.nl/~albertv/apache
ou www.dsdelft.nl/~apache. La dernière version téléchargeable est la 1.3b3,
qui fonctionne très bien sur Amiga et est très stable. Cette version est apte à servir un grand nombre de demandes simultanées
et est peu gourmande en ressources. Mes tests donnent de 2% à 8% du processeur (j'ai un Amiga 2000 avec processeur 68040 à
40 MHz) pour un utilisateur connecté par modem 33 600.
Utilisation d'Apache 1.3b3
Cette version, la dernière en date, est disponible en téléchargement. L'archive (Lha) pèse un peu moins de 1 Mo. En la
décompressant dans un beau répertoire tout neuf (que vous appellerez "Apache", naturellement), on découvre quelques répertoires
(logs, cont, cgi-bin, htdocs toute la doc en HTML et en anglais...) et un bel exécutable "httpd" d'environ 320 ko
ainsi que deux procédures ARexx de lancement et d'arrêt.
Lorsque ce premier pas est fait, ne vous précipitez pas, cela ne
peut pas marcher (pas encore) ! Apache est d'origine Unix, et demande la très fameuse "ixemul.library" (v47.2 minimum)
que l'on trouve chez tous les bons Aminet mais aussi au comptoir
www.xs4all.nl/~albertv/apache. Il faut ensuite se procurer quelques
ingrédients "bien de chez Unix", j'ai nommé les fameux "ch(own,grp,mod)" et le beau "ls" dont vous allez apprécier l'utilité
du commuteur "-al".
Il est aussi intéressant de placer "Unixdirs" dans votre startup et à vous les cd ../xxx et cd /DH0 au lieu de cd DH0:
dans le plus pur style Unix.
Tous ces instruments se trouvent contenus dans "fileutils.lha" rayon "dev/ade". On peut leur préférer ceux du rayon
"util/gnu" à se procurer de la même façon ou encore chez aminet.net/util/gnu.
Mettez tous ces utilitaires dans un petit répertoire bien propre et ajoutez-les à votre chemin (path). En effet, tous les
fichiers utilisés par Apache doivent être "chown-isés", "chgrp-isés" et même "chmod-isés" (attention aux fameuses options "rwx").
Vous procurer aussi (même s'il faut le voler) RX-GATE, il est maintenant accessible en téléchargement. Lorsque tous ces
ingrédients sont là (enfin !) vous aller pouvoir commencer à travailler.
La configuration type que je vous propose pour commencer (elle marche !) comprend :
- Un répertoire de logiciel (assigné par Apache :)) qui contient Apache lui-même.
- Un répertoire comprenant les éléments accessibles (assigné par WWW :)) et comprenant deux sous-répertoires "html" et "cgi-bin".
Actions à mener
1. Paramétrez votre pile TCP (Miami ou autre) pour y créer :
- Un groupe "http", 45, http l'utilisateur "http" fait partie du groupe "http".
- Un utilisateur (user) "http", mot de passe par sécurité, 1010, 45, Apache, homedir = www:.
- Le service "http" ID=80 type=tcp sans alias. Même pas besoin de configurer Inetd, c'est le pied.
2. Paramétrez Apache lui-même. N'oubliez pas de faire une copie de sécurité complète du répertoire "Apache:conf", une erreur
est si vite arrivée.
2.a Fichier "access.conf", y déclarer nos éléments accessibles par nos futurs "clients" ébahis.
<Directory www:html>
Options Includes Indexes FollowSymLinks
AllowOverride None
order allow,deny
allow from ail
</Directory>
<Directory www:cgi-bin/>
Options ExecCGI
AllowOverride None
order allow,deny
allow from all
</Directory>
|
Si vous voulez pouvoir accéder à deux "services" d'Apache (server-status et info) vous devez ajouter :
<Location /server-status>
SetHandler server-status
allow from .jpp.fr
</Location>
|
<Location /info>
SetHandler server-info
order allow,deny
allow from .jpp.fr
</Location>
|
Le ".jpp.fr" correspond au doux nom donné à mon adresse IP 127.0.0.1 (localhost), mettez-y votre propre phantasme (déclarez-le
dans Miami ou AmiTCP... en alias de localhost) et n'oubliez pas le point devant ! Si vous avez une adresse IP fixe et un
nom d'hôte officiel, profitez-en pour la déposer ici. C'est tout pour "access.conf".
2.b Fichier "httpd.conf", ne touchez qu'au minimum de choses, le fichier fourni par défaut est très convenable.
Modifiez :
DocumentRoot www:html
ServerRoot apache:
MinSpareServers 4
MaxSpareServers 8
StartServers 8
|
Ne touchez pas aux autres fichiers de paramètres avant d'avoir lu toute la doc, et elle est longue (en HTML accessible par votre
butineur préféré).
3. "Unixisez" vos répertoires, il faut lancer Miami (ou autre AmiTCP) d'abord, c'est impératif ! Dans Apache :
chown http* (* si vous avez Unixdirs, sinon #?)
chgrp http *
chmod +x *
|
Dans WWW:
chown http *
chgrp http *
chmod +r *
|
Dans "WWW:html" : là où vos merveilleuses pages Web dorment en attendant le butineur (ou lutineur ?) charmant :
chown http *
chgrp http *
chmod +r *
|
Dans "WWW:cgi-bin" : là où vos magnifiques procédures (oui oui en ARexx c'est promis) vont sous peu attendre le client :
chown http *
chgrp http *
chmod +x * (oui "x" pour exécutable)
|
Je vous conseille de stocker tout ceci dans un petit script. En effet, certains outils
Amiga (la plupart des éditeurs, CED, GoldED... sauf Memacs) s'ingénient à effacer les protections que vous venez laborieusement
de mettre en place lorsque vous modifiez un petit truc, pour faire plus beau, et que vous faites "save". C'est là que "ls
-al" fait merveille et vous permet de voir comme sous n'importe quel Unix, les autorisations, groupes de tous vos fichiers.
drwx------ 2 http nogroup 1024 Jan 8 22:03 barres
drwx------ 2 http nogroup boutons
|
Tiens, là il n'y a que le groupe par défaut, c'est une erreur.
4. Créer une page Web minimale, par exemple :
<HTML>
<HEAD><TITLE>Ma première page </TITLE> </HEAD>
<BODY>
<H1><P><CENTER>Bonjour</P></H1>
</BODY>
</HTML>
|
Ce n'est pas beau mais cela suffira pout tester.
Nommez cette première page "index.html" (c'est un standard), placez-la dans "WWW:html".
Lancez votre TCP préféré, moi c'est Miami (en local, c'est très économique pour les essais !). Frappez "cd Apache:"
puis "rx starthttpd"...
...c'est parti, votre serveur tourne. Vérifiez tout de même la présence de quelques tâches "httpd" (ARTM est chouette, ou "TOP"
si vous utilisez Executive (au fait, Apache coexiste très bien avec Executive). Si de multiples petits "démons" httpd sont
présents, lancez votre butineur et faites un "http://localhost" ou "http://www.moi.fr" si vous avez déclaré "moi.fr"
comme alias pour l'adresse IP 127.0.0.1.
A suivre
A la prochaine fois pour l'utilisation des procédures, oui, en ARexx, on vous l'a juré. D'ici là, potassez votre HTML et
devenez un chef des <TABLE> </TABLE>, <FORM ...> </FORM>... apprenez à différencier une méthode "GET" d'une
méthode "PUT" ... j'ai parlé de méthode.
Testé sur A2000, Blizzard 2040, 54 Mo de mémoire et disques divers. Testé avec AWeb démo, Voyager démo, IBrowse (en local)
et Internet Explorer à distance. Si vous désirez une copie de mes fichiers de paramétrage, contactez-moi par courrier
électronique.
|