Prérequis

Généralités

A suivre

Toutes les principales distributions incluent ces prérequis

Spécificité de distributions

SuSE Linux

SuSE Linux 7.1 (peut-être applicable à d'autres distributions)

SuSE 7.1 et peut-être d'autres distributions ont des problèmes pour compiler apache 1.3.19 (1.3.20 et ultérieurs sont corrigés) avec mod_rewrite

Pour corriger ce problème, créez un lien symbolique:

cd /usr/include/db1
ln -s ../ndbm.h ndbm.h

A partir de SuSE 7.2, ce problème est corrigé

OpenSSL

Qu'est-ce qu'OpenSSL, ?

Extrait du site www.openssl.org

Le projet OpenSSL est un effort collaboratif pour développer une implémentation robuste, fiable et complète (incluant un toolkit libre) des protocoles Secure Sockets Layer (SSL v2/v3) et Transport Layer Security (TLS v1). Le projet est mené par une communauté mondiale de volontaires qui utilisent Internet pour communiquer, plannifier et développer la boîte à outils OpenSSL ainsi que ses documentations.

OpenSSL est basé sur l'excellente librairie SSLeay développée par Eric A. Young et Tim J. Hudson. La boîte à outils OpenSSL est diffusé sous licence d'utilisation du même type que celle d'Apache, qui signifie, en résumé, que vous êtes libres de la récupérer et de l'utiliser à des fins commerciales ou non à des conditions très simples.

Du point de vue des auteurs, il s'agit de la base pour bâtir un serveur Unix sûr avec des logiciels Opensource. La plupart des produits comme mod_ssl, OpenSSH et de nombreux autres qui chiffrent des données, nécessitent OpenSSL.

OpenSSL fournit non seulement les librairies et les fichiers d'entête nécessaires aux produits mentionnés ci-dessus, mais également une application pour créer des certificats client ou serveur.

Compilation et installation

cd /usr/local
tar -xvzf openssl-0.9.6d.tar.gz
 
cd openssl-0.9.6d
 
./config shared 
 
make
make test
make install

echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig

MySQL

Qu'est-ce que MySQL ?

MySQL est une base de données très rapide, puissante et facile à gérer.

MySQL est particulièrement adapté aux applications Web dont les données sont essentiellement accédées en lecture. Les versions récentes sont aussi capable de gérer des transactions. Si vos applications Web doivent écrire beaucoup de données, Postgres pourrait être un meilleur choix.

Vous aurez besoin de l'API C de MySQL pour compiler PHP si vous voulez le support de MySQL dans PHP. Vous en aurez également besoin si vous souhaitez installer mod_authmysql (voir section the Section called mod_auth_mysql pour plus d'informations)

Compilation et installation


cd /usr/local
tar -xvzf mysql-3.23.51.tar.gz 
cd mysql-3.23.51

./configure \
--prefix=/usr/local/mysql \
--enable-assembler \
--with-innodb \
--without-debug

make 
make install 

/usr/local/mysql/bin/mysql_install_db
echo /usr/local/mysql/lib/mysql >> /etc/ld.so.conf 
ldconfig

Pour des raisons de sécurité, ajoutez un utilisateur sur votre système pour MySQL (par exemple "mysql"), puis


chown -R mysql /usr/local/mysql/var

et changez la ligne user=root par user=mysql dans le fichier /usr/local/mysql/bin/safe_mysqld

Si vous souhaitez démarrer automatiquement MySQL au démarrage, copiez /usr/local/mysql/share/mysql/mysql.server dans /etc/init.d/ (ou à l'endroit où se trouvent vos scripts rc) et créez les liens symboliques correspondants dans les répertoires des différents niveaux d'exécution.

Securisation MySQL

Ce point est optionnel et explique comment forcer le daemon MuSQL a n'écouter que sur l'adresse IP locale du serveur

I suggère de ne laisser MySQL ecouter que sur l'adresse de loopback 127.0.0.1. Ainsi vous êtes certains que personne ne pourra se connecter à votre daemon MySQL via le réseau. Bien entendu, cela n'a de sens que si MySQL est exécuté sur la même machine que le serveur web.

Modifier la ligne 107 de /etc/init.d/mysql.server comme suit :

Ligne originale:

$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file&

à remplacer par :

$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file \
--bind-address=127.0.0.1&

Compiler mm

Qu'est-ce que mm ?

Extrait du site www.engelschall.com

La librairie MM est une librairie qui simplifie l'utilisation de la mémoire partagée entre plusieurs processus "forkés" sous Unix. Une première couche masque toutes les différences d'implémentations entre les plates-formes (allocation et verrouillage) lors de la gestions des segments de mémoire partagée. Une seconde couche fournit une API dans le style de malloc(3) mais de haut niveau permettant de travailler simplement avec des structures de données dans les segments de mémoire partagée.

Du point de vue des auteurs:

C'est une librairie commune qui simplifie les accès aux shm par les programmeurs. Elle est très utilisée, en particulier par PHP et mod_ssl

Puisque l'auteur n'est pas un programmeur, il est incapable d'expliquer l'utilisation exacte de ce truc

Compilation et Installation

cd /usr/local
 
tar -xvzf mm-1.1.3.tar.gz
 
cd mm-1.1.3
 
./configure
make
make test
make install

ldconfig