Extrait du site www.apache.org
Le projet Apache est un effort de développement collaboratif d'un logiciel qui vise à fournir un serveur HTTP (Web) robuste, rivalisant avec des produits commerciaux, fonctionnel et dont le code source est libre. Le projet est mené conjointement par un groupe de volontaires des quatre coins du monde, utilisant Internet et le Web pour communiquer, plannifier et développer le serveur et sa documentation. Ces volontaires sont connus sous le nom de Apache Group. De plus, des centaines d'utilisateurs ont contribués aux idées, au code et à la documentation du projet. Ce fichier a vocation à décrire rapidement l'histoire de Apache Group et d'en faire connaitre les contributeurs.
Du point de vue des auteurs:
C'est simplement le meilleur serveur Web, sa configuration est très souple et permet de s'adapter au mieux à vos besoins, et il est E-X-T-R-E-M-E-M-E-N-T stable ! Je n'ai personnellement jamais vécu de plantage en environnement de production (=sans trucs expérimentaux).
Que celui qui a expérimenté un plantage m'envoie un rapport d'incident par email pour que je le publie ici...
Site d'origine http://www.apache.org/dist/httpd/
cd /usr/local/ tar -xvzf apache_1.3.26.tar.gz |
Si votre serveur web doit répondre à un grand nombre de requêtes simultanées et que votre machine est suffisament puissante pour supporter ces requêtes, vous pouvez changer le nombre maximal de processus
Télécharger le correctif depuis : http://www.delouw.ch/linux/apache-patch_HARD_SERVER_LIMIT.txt
--- httpd.h Thu Mar 21 18:07:34 2002 +++ httpd.h-new Sun Apr 7 13:34:11 2002 @@ -320,7 +320,7 @@ #elif defined(NETWARE) #define HARD_SERVER_LIMIT 2048 #else -#define HARD_SERVER_LIMIT 256 +#define HARD_SERVER_LIMIT 512 #endif #endif |
Ce correctif accroît le nombre maximum d'accès concurrents à 512. N'hésitez pas à l'augmenter encore si vous avez taillé un noyau pour et si vous avez édité votre /etc/security/limits.conf (RÉSERVÉ aux administrateurs expérimentés). De mauvais paramètres pourraient provoquer un “auto-attaque déni de service”!! Assurez vous de répartir correctement les ressources du système.
Appliquer le patch comme suit:
cd /usr/local/apache_1.3.26/src/include patch -p0 < apache-patch_HARD_SERVER_LIMIT.txt |
Extrait du site www.modssl.org
Ce module fournit des fonctions de chiffrement fort aux serveurs Web Apache 1.3 via les protocoles SSL v2/v3 et TLS v1 en s'appuyant sur OpenSSL.
Du point de vue des auteurs:
Ce module est nécessaire pour que Apache puisse traiter des requêtes SSL (https). Il modifie le code source d'Apache et etend son API
Assurez vous que tous les autres modules pour votre serveur Apache sont compilé avec l'option de compilation -DEAPI sans quoi votre serveur Web plantera ou refusera de démarrer
Presque tous les modules que je connais le font par eux même sauf mod_jserv et mod_jk
Site d'origine: http://www.modssl.org
cd /usr/local/ tar -xvzf mod_ssl-2.8.9-1.3.26.tar.gz cd mod_ssl-2.8.9-1.3.26/ ./configure --with-apache=/usr/local/apache_1.3.26 |
Extrait du site perl.apache.org
Avec mod_perl, il est possible d'écrire des modules Apache intégralement en Perl. De plus, l'interpréteur persistant inclus dans le serveur évite la perte de temps inhérente au démarrage d'un interpréteur externe.
Du point de vue des auteurs:
mod_perl est une sorte de substitut pour les cgi-bin. Les cgi déclenchent un 'fork' à chaque requête qui induit une perte de temps. Avec mod_perl, l'interpréteur Perl est chargé par le serveur Apache et persistant. Les requêtes ne nécessitent plus de 'fork'.
Site d'origine: http://www.apache.org/dist/perl
cd /usr/local tar -xvzf mod_perl-1.27.tar.gz cd mod_perl-1.27 perl Makefile.PL \ EVERYTHING=1 \ APACHE_SRC=../apache_1.3.26/src \ USE_APACI=1 \ PREP_HTTPD=1 \ DO_HTTPD=1 make make install |
NB: Ne compilez pas mod_perl en DSO! Aux dernières nouvelles, Apache planterait (je n'ai jamais testé)
Les deux modules statiques (mod_ssl et mod_perl) sont maintenant configurés et le source d'Apache a été modifié.
EAPI_MM="/usr/local/mm-1.1.3" SSL_BASE="/usr/local/ssl" \ ./configure \ --enable-module=unique_id \ --enable-module=rewrite \ --enable-module=speling \ --enable-module=expires \ --enable-module=info \ --enable-module=log_agent \ --enable-module=log_referer \ --enable-module=usertrack \ --enable-module=proxy \ --enable-module=userdir \ --enable-module=so \ --enable-shared=ssl \ --enable-module=ssl \ --activate-module=src/modules/perl/libperl.a \ --enable-module=perl make make install |
cd /usr/local/ssl/bin ./openssl req -new > new.cert.csr ./openssl rsa -in privkey.pem -out new.cert.key ./openssl x509 -in new.cert.csr -out new.cert.cert \ -req -signkey new.cert.key -days 999 cp new.cert.key /usr/local/apache/conf/ssl.key/server.key cp new.cert.cert /usr/local/apache/conf/ssl.crt/server.crt |
N.B.: OpenSSL demande plusieurs renseignements. Un erreur courante est de donner au mauvais "common name". A cet endroit, vous devez mettre le nom complet de votre serveur, par exemple www.foo.org