J'utilise les modules suivants en plus de SSL, PHP et Frontpage :
Module env_module mod_env.o Module config_log_module mod_log_config.o Module mime_module mod_mime.o Module negotiation_module mod_negotiation.o Module dir_module mod_dir.o Module cgi_module mod_cgi.o Module asis_module mod_asis.o Module imap_module mod_imap.o Module action_module mod_actions.o Module alias_module mod_alias.o Module rewrite_module mod_rewrite.o Module access_module mod_access.o Module auth_module mod_auth.o Module anon_auth_module mod_auth_anon.o Module digest_module mod_digest.o Module expires_module mod_expires.o Module headers_module mod_headers.o Module browser_module mod_browser.o
Si vous ètes un FAI (c'est surement le cas si vous lisez ces lignes), vous
voudrez améliorer la sécurité. L'utilitaire suexec vous le permettra dans la
mesure où il exécutera les CGI avec l'UID du propriétaire du Web plutôt qu'avec
celle du serveur.
Allez en /usr/src/apache_1.2.6/support
et lancez make suexec
.
Faites un chmod 4711 suxec
et copiez le à l'emplacement précisé dans
../src/httpd.h
, soit /usr/local/etc/httpd/sbin/suexec
par
défaut. Si le chemin vous semble un peu obscur - ce fût le cas pour moi -
éditez httpd.h
et positionnez le à quelque chose de plus raisonnable.
Allez en /usr/src/apache_1.2.6/src
et éditez Configuration
afin de choisir les modules que vous voulez inclure dans votre démon Apache.
Ceci effectué, lancez ./Configure
et make
. Il s'agit
là de la dernière étape de compilation, la plus compliquée. Croisez les doigts.
Si tout se déroule normalement, copiez httpsd
en /usr/sbin
.
Ne négligez pas la taille du démon. Créez le répertoire /var/httpd
avec les sous-répertoires cgi-bin
, conf
, htdocs
,
icons
, virt1
, virt2
et logs
.
Editez access.conf-dist
, mime.types
et srm.conf-dist
( répertoire /usr/src/apache_1.2.6/conf
) selon
vos besoins et copiez les en var/httpd/conf/access.conf
,
srm.conf
et mime.types
. Enfin, copiez le fichier
httpsd.pem
créé par make certificate
en
/var/httpd/conf
. Utilisez le httpd.conf
suivant :
ServerType standalone Port 80 Listen 80 Listen 443 User wwwrun Group wwwrun ServerAdmin webmaster@yourhost.com ServerRoot /var/httpd ErrorLog logs/error_log TransferLog logs/access_log PidFile logs/httpd.pid ServerName www.yourhost.com MinSpareServers 3 MaxSpareServers 20 StartServers 3 SSLCACertificatePath /var/httpd/conf SSLCACertificateFile /var/httpd/conf/httpsd.pem SSLCertificateFile /var/httpd/conf/httpsd.pem SSLLogFile /var/httpd/logs/ssl.log <VirtualHost www.virt1.com> SSLDisable ServerAdmin webmaster@virt1.com DocumentRoot /var/httpd/virt1 ScriptAlias /cgi-bin/ /var/httpd/virt1/cgi-bin/ ServerName www.virt1.com ErrorLog logs/virt1-error.log TransferLog logs/virt1-access.log User virt1admin Group users </VirtualHost> <VirtualHost www.virt1.com:443> ServerAdmin webmaster@virt1.com DocumentRoot /var/httpd/virt1 ScriptAlias /cgi-bin/ /var/httpd/virt1/cgi-bin/ ServerName www.virt1.com ErrorLog logs/virt1-ssl-error.log TransferLog logs/virt1-ssl-access.log User virt1admin Group users SSLCACertificatePath /var/httpd/conf SSLCACertificateFile /var/httpd/conf/httpsd.pem SSLCertificateFile /var/httpd/conf/httpsd.pem SSLLogFile /var/httpd/logs/virt1-ssl.log SSLVerifyClient 0 SSLFakeBasicAuth </VirtualHost> <VirtualHost www.virt2.com> SSLDisable ServerAdmin webmaster@virt2.com DocumentRoot /var/httpd/virt2 ScriptAlias /cgi-bin/ /var/httpd/virt2/cgi-bin/ ServerName www.virt2.com ErrorLog logs/virt2-error.log TransferLog logs/virt2-access.log </VirtualHost>
Les directives dépendent des modules compilés.
Leur liste s'obtient avec httpsd -h
.
Allez en /usr/local/frontpage/version3.0/bin
et lancez
./fpsrvadm
. Choisissez install
et apache-fp
.
Répondez comme suit aux questions :
Enter server config filename: /var/httpd/conf/httpd.conf Enter host name for multi-hosting []: www.virt2.com Starting install, port: www.virt2.com:80, web: "" Enter user's name []: virt2admin Enter user's password: Confirm password: Creating root web Recalculate links for root web Install completed.
Le nom d'utilisateur doit correspondre au login Unix du ppropriétaire du web. Le
mot de passe peut différer. Ajoutez à la main
sendmailcommand:/usr/sbin/sendmail %r
au fichier
/usr/local/frontpage/www.virt2.com:80.conf
ou vos utilisateurs ne
pourront envoyer de courriers générés via le web. Faites un kill -HUP
sur votre httpsd
de façon à ce que fp réexamine sa configuration.
Votre client FrontPage peut à présent accéder à www.virt2.com
Dans certains cas, fpsrvadm
se plaint de l'absence d'un web à la
racine. Cela ne sert guère, mais vous devrez surement le faire pour que
fpsrvadm
se taise.
Lancez Apache via httpsd -f /var/httpd/conf/httpd.conf
. On accède à
présent à www.virt1.com
aussi bien via http que via https.
C'est chouette la vie. Naturellement, vous acheterez un véritable certificat
afin d'offrir un service Web SSL qui ne fasse pas rigoler les clients.
Copiez un des fichiers du répertoire d'exemples de php en virt1
pour
essayer phtml.
N'utilisez pas les extensions FrontPage 97. Elles ne fonctionnent pas sous
Linux. A l'installation, les bibliothèques C++ semblent fonctionner mais vos
fichiers de logs se rempliront de premature end of script headers
tandis que votre boite au lettre débordera de réclamations.
Evitez les extensions FrontPage 98 avec des versions antérieures à la
3.0.2.1330. Les numéros de version manquent singulièrement d'homogénéité. Faites
un telnet sur le port 80, tapez "get / http/1.0" suivi de deux retours à la
ligne et vous obtiendrez un numéro de version de 3.0.4 pour FrontPage.
Des informations plus précises sont disponibles en
exécutant :
/usr/local/frontpage/currentversion/exes/_vti_bin/shtml.exe -version
.
Les versions plus anciennes sont buggées en ce qu'elles exigent du httpd.conf
qu'il puisse ètre écrit sous le gid du serveur web. Voila de quoi faire hurler
ceux qui tiennent à la sécurité.
Les versions postérieures à la 3.0.2.1330 fonctionnent mieux.
L'utilisation de Recalculate Links
par le client Frontpage lance
au niveau du serveur un process qui consomme 99% du cpu et 10 Mo de mémoire.
Pour des webs de taille moyenne avec des machines rapides, le client reçoit
parfois un timeout et ce alors même que le calcul parvient normalement à son
terme. Demandez aux adeptes de FrontPage de rester patients et de ne pas
activer Recalculate Links
à répétition. Pensez à mettre au moins 64 Mo.
A l'instant où j'écris ces lignes, SSL et Frontpage fonctionnent mais pas de façon simultanée. Vous ne pouvez donc ni mettre à jour votre web via SSL, ni utiliser des webbots avec https. Vous pouvez actualiser votre web via le port 80 et y accéder en chiffré via le port 443 mais les compteurs par exemple seront faux. Je considère ceci comme un bug. Il devrait disparaitre avec SSL 0.9.0.
Pour ceux qui trouvent que le titre de ce HOWTO est presque aussi long que son contenu : avez vous jamais écouté Meat Loaf ?
Bien, amis lecteurs, c'est tout pour aujourd'hui. N'hésitez pas à me transmettre vos expériences, votre reconnaissance éternelle, des fleurs, de l'argent, des voitures, des gisements de pétrole, ou des ratons laveurs.