Nous allons décrire ici pas à pas l'installation et une configuration basique d'Apache (prononcez "A-PA-TCHI"), le serveur Web bien connu du monde du logiciel libre, et du language PHP4.
On considerera que votre réseau local est en place, pleinement fonctionnel, que l'amiga à pour nom "miga", pour ip 192.168.1.2 et qu'éventuellement l'ordinateur distant aura pour nom "tux", 192.168.1.1 comme ip.
Quelques Trucs & Astuces se trouvent en bas de page
Tout d'abbord, LE lien pour se procurer le serveur Apache, ainsi que le php : Amiga Apache. Il faut recuperer les archives apache_1.3.23-base.tar.gz, apache_1.3.23_680X0 selon votre CPU, php-4.1.1-base.tar.gz et php-4.1.1-680X0.tar.gz (les dernieres version à ce jour, le 2o Juin 2oo2). Il est à noter qu'Apache sur Amiga ne fonctionnera jamais sans l'installation préalable des "GeekGadgets". La liste des packages minimum necessaire est disponible ici.
La version d'Apache avec support du PHP doit etre récupéré sur le site de SixK.Bien entendu, cet article n'exempt pas d'une lecture approfondie des nombreuses documentations fournis avec apache ... RTFM :)
Apres avoir vaillament installé l'environement Unix ADE, il faut desarchiver les archives d'apache dans un repertoire crée pour cette occasion. Sa destination sera quasi-definitive, une assign servant à definir la racine du serveur. Donc apres avoir copiés les 4 archives #?.tar.gz dans le tiroir apache, taper les commandes suivantes dans un shell :
bla@miga 10.wb> cd cdr:apache
bla@miga 10.Cdr:apache> tar zxf apache_1.3.23-base.tar.gz
bla@miga 10.Cdr:apache> tar zxf apache_1.3.23_68060.tar.gz
bla@miga 10.Cdr:apache> tar zxf php-4.1.1-base.tar.gz
bla@miga 10.Cdr:apache> tar zxf php-4.1.1-68060.tar.gz
Si l'environement ADE est bien installé, vous avez maintenant acces à bon nombre de commandes unix, dont tar. Ensuite, ajouter à votre user-startup (ou les listes d'assign de MCP):
Assign Apache: L'endroi:ou/c'est/instalé/Apache
Pour le support PHP, il faut aussi récuperer la version compilé par SixK, l'archive se nomant à ce jour apache1320_php411_040a.lzx.Elle necessite toutefois un 040 minimum. Copiez le fichier httpd à la place de l'ancien préalablement rennomé (apache:bin/httpd en apache:bin/httpd_original par example).
Nous allons maintenant configurer la pile TCP. Que ce soit pour AmiTCP ou Miami, on verifie tout d'abbord que le service HTTP existe : (Database/services)

Nous devons ensuite créer l'utilisateur WWW, dans Database/users ...
Nom: UserID: GroupID: Real Name: Home dir: Shell
www 80 80 Apache Server Apache: *newshell *

... et son groupe associé (Database/groups) :
Group Name: Group ID: Users:
www 80 www

Enfin, on demandera au demon Inet de lancer le serveur quand nesseçaire : (Database/InetD)
Service Socket Protocol Wait User server
http stream tcp nowait root Apache:bin/httpd

pour activer le serveur, il faut queque la guillemet soit present en debut de ligne.
L'activation du PHP nessecite que le fichier apache:lib/php.ini soit present. Pour ce faire, il faut renomer le fichier php.ini-recommended en php.ini. Il n'y a pas besoin de le modifier.
Ceci fait, nous pouvons maintenant configurer Apache. Pour cela, il faut ouvrir avec un editeur de texte le fichier apache:conf/httpd.conf. Il est préférable de faire une copie de sauvegarde de ce fichier, rennomé par example en "httpd.conf_original".
Le fichier de configurations (httpd.conf) est tres long, car tres commenté (mais en anglais) et se partage en plusieurs "sections", trois pour être precis. voici la liste des choses à modifier
- Section 1: Global Environment
ServerType inetd
Indique au serveur qu'il est lancé via Inetd
ServerRoot "/Apache"
Racine du serveur. commence par un "slach". Ne surtout pas mettre apache: comme on a l'habitude sur amiga. Mais c'est l'equivalent, n'oublions pas que si on a installé les geekgadgets, ce n'est pas pour rien ... C'est la que le serveur trouvera ses tiroirs bin, conf, log ...
MaxClients 5
Nombre maximum de client simultanés autorisés à ce connecter. Mettre un chiffre plus grand si votre serveur doit etre disponible sur internet.
- Section 2: 'Main' server configuration
Port 80
Par defaut, c'est le port 8080 qui est indiqué. Cela obligerai à taper http://mon.site:8080 comme url à chaque fois. La notion d'utilisateur intervient si on met le port 80. En effet, les port compris entre 1 et 1024 ne peuvent etre ouvert que par root (or, c'est bien ce qu'on a mis dans Inetd dans les prefs de Miami ou de genesis). Utiliser le port 8080 par defaut, et donc lancer apache sous l'identité www (voir ci dessous) n'est interessant que sous Unix/Linux. L'Amiga n'etant pas un systeme multi-utilisateur, et surtout par facilité, il est donc preferable d'utiliser le port 80.
User www
Group www
Identité (utilisateur) que prendra apache une fois lancé.
ServerAdmin miga@76hcd.fr
Adresse e-mail de l'administrateur du serveur. Mettre une adresse valide si le serveur donne sur internet, ou une adresse de reseau local comme moi si le serveur n'est pas accessible de l'exterieur.
DocumentRoot "/Apache/htdocs"
Racine des documents HTML
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog /Apache/logs/access_log combined
Format des logs. Les quatres premieres lignes definissent 4 formats possible pour les logs : combined, common, referer, agent. La 5eme ligne, indique le format choisi, combined ici.
Pour le support du PHP, il faut reperer la ligne
AddType application/x-tar .tgz
, puis ajouter juste en dessous les lignes :
# And for PHP 4.x, use:
#
AddType application/x-httpd-php .php .php3 .php4 .phtml
AddType application/x-httpd-php-source .phps
Sert à definir les "hôtes virtuels". Permet, au cas ou vous avez affecté une seconde IP à votre machine, de definir un second serveur web sur cette IP. Voire la doc pour plus de details.
Sauvegarder, bien melanger le tout, servir avec des glaçons ... l'addition pour la 12 !
Voila, apache devrai fonctionner maintenant.
Pour tester la chose, taper l'adresse http://127.0.0.1/ dans un navigateur de votre Amiga, ou votre IP sur le reseau.

Et le fichier log (apache:logs/access_log) contient :
127.0.0.1 - - [20/Jun/2002:21:32:08 +0000]
"GET / HTTP/1.0" 304 - "-" "IBrowse/2.2 (AmigaOS V45)"
127.0.0.1 - - [20/Jun/2002:21:32:12 +0000]
"GET /apache_pb.gif HTTP/1.0" 304 - "http://127.0.0.1/" "IBrowse/2.2 (AmigaOS V45)"
Pour tester le PHP, il faut créer un fichier de test. Nous allons donc Créer un fichier apache:htdocs/test.php qui contiendra le code suivant :
<?php
echo phpinfo();
?>
Dans un navigateur, demander la page http://miga/test.php , miga étant le nom de mon amiga sur mon reseau locale :

Vous pouvez voir aussi cette page ici.
Le PHP mange enormememt de memoire, pas loin de 20 Mo !!! Il semblerai qu'en ajoutant la ligne ci-dessous dans la user-startup, une certaine economie se ferai sentir...
c:resident apache:bin/httpd pure
Un bug connu empeche l'ecriture des logs sur les partitions de type AFS/PFS/PFS3. Il est recommandé d'ecrire les logs sur une partition d'un autre type, FFS ou SFS, voire en RAM: