Installation et configuration d'Apache avec mod_perl, mod_php, mod_ssl en statique
Introduction
Tous les archives sont décompressées dans /usr/local/soft C'est un répertoire temporaire commum utilisé dans l'exemple. Le répertoire final d'Apache (où se trouve la conf, les bin, ...) est /usr/local/apache.
Récupérer les sources:
1/ Apache
Récupérer Apache (au moins version 1.3.26) depuis http://www.apache.org/dist/httpd. et le décompresser dans /usr/local/soft/apache_1.3.x.
2/ OpenSSL
- le site de OpenSSL : http://www.openssl.org
- Les sources : http://www.openssl.org/source/openssl-0.9.6h.tar.gz
3/ Mod_ssl :
- Le site de mod_ssl : http://www.modssl.org
- Les principes de SSL : http://www.apacheweek.com/features/ssl
- Les questions que vous vous posez sûrement : http://www.modssl.org/docs/2.8/ssl_faq.html
- Les sources :
http://www.modssl.org/source/mod_ssl-2.8.12-1.3.27.tar.gz
Pour voir le coté théorique des serveurs Web, voir plutôt ici.
Installation
1/ Installer et compiler OpenSSL :
% tar zxvf openssl-0.9.x.tar.gz % cd openssl-0.9.x % ./config % make (ca dure un petit moment ...) % make test
2/ Configurer mod_ssl
% cd mod_ssl-2.x % ./configure --with-apache=../apache_1.3.x
3/ Installer et compiler mod_perl :
% tar zxvf mod_perl-1_21_tar.gz
% cd mod_perl-1.21
% perl Makefile.PL \
EVERYTHING=1 \
APACHE_SRC=../apache_1.3.x/src \
USE_APACI=1 \ PREP_HTTPD=1 \
DO_HTTPD=1
% make
% make install
% cd ..
4/ Installer et compiler php :
% tar zxvf php-3_0_12_tar.gz
% cd php-3.0.12
% ./configure --with-apache="../apache_1.3.x" \
--with-mysql="/usr/local/mysql" \
--enable-memory-limit=yes
--enable-debug=no
% make
% make install
% cd ..
5/ Recompiler Apache
% cd apache_1.3.x
% SSL_BASE=/path/to/openssl
% ./configure \
--prefix=/path/to/apache \
--enable-module=ssl \
--activate-module=src/modules/perl/libperl.a \
--enable-module=perl \
--activate-module=src/modules/php3/libphp3.a \
--enable-module=php3
% make
% make certificate
% make install
6/ Installer la version d'Apache qui vient d'être compilée
Arrêter le serveur Web si il marche par un
% kill -TERM `cat /usr/local/apache/var/run/httpd.pid`
puis
% make install
7/ Configuration d'Apache :
Ensuite renommez les fichiers /usr/local/apache/etc/*.default en *. car Apache n'a pas écrasé vos anciens fichiers de conf (encore heureux !) Récupérez bien sur avant de renommer la configuration spécifique que vous aviez auparavant.
8/ Relancer Apache :
% /usr/local/apache/httpd/bin/httpd -DSSL
(-DSSL pour les directives de httpd.conf).
Remarques
Remarque 1:
La configuration d'un certificat SSL sur Apache est faite automatiquement par la commande make certificate du 6/. Pour le certificat final, voir http://www.modssl.org/docs/2.8/ssl_faq.html#ToC27
Remarque 2 :
Comment fait on pour que seuls certains répertoires soient protéger par SSL?
Exemple :1/ Physiquement, séparer au niveau des répertoires ce qui va être protégé de ce qui ne va pas l'être.
2/ Mettre la racine de HTTP sur la partie non sécurisé, celle de HTTPS sur les répertoires à sécuriser.
3/ Faire des redirections sur les répertoires qui doivent être protégés par https dans la partie de configuration de HTTP pointant vers l'URL correspondant sur HTTPS :
Redirect /service http://foo2.bar.com/service
Une autre solution pour faire quelque chose d'équivalent serait d'utiliser le module d'Apache mod_rewrite : http://www.apache.org/docs/misc/rewriteguide.html
Remarque 3 :
Pour empêcher l'accès à un répertoire :
- Changer la directive AllowOvveride None à AllowOvveride All
- Créer un fichier .htaccess :
- <limit get put post delete> order deny, allow deny from all </limit>
| Dernière modification le Wed Oct 29 18:11:23 2003 |
© Alain & Estelle BARBET Textes et images 1997-2003 |