OVH Cloud OVH Cloud

Installer librairie sur mon serveur

2 réponses
Avatar
nerran
Bonjour,

J'aimerai pouvoir installer une librairie "mcrypt" sur mon serveur dédié,
mais je ne sais pas comment procéder. Quelqu'un a t'il déjà procédé à ce
genre d'installation ?

N'y connaissant pas grand chose en unix, je ne souhaite pas planter le
serveur, qui héberge déjà quelques clients... :-)

Merci par avance pour vos réponses

2 réponses

Avatar
John GALLET
Bonsoir,

J'aimerai pouvoir installer une librairie "mcrypt" sur mon serveur dédié,
Il y a deux parties bien distinctes :

1) l'installation de la librairie mcrypt en elle même. Ceci est totalement
hors sujet sur ce forum et est détaillé dans la distrib de ladite lib. Cf
http://fr2.php.net/manual/en/ref.mcrypt.php pour un lien vers cette
librairie.

2) la compilation de PHP ou d'une extension PHP permettant d'appeler les
fonctions PHP qui sont liées avec cette librairie. C'est uniquement cette
partie là dont je parle ci-dessous.

N'y connaissant pas grand chose en unix, je ne souhaite pas planter le
serveur, qui héberge déjà quelques clients... :-)


Alors premier conseil : laissez faire quelqu'un de compétent. Ce n'est pas
méchant, c'est dans l'intérêt de vos clients et de l'image de votre
société. On ne s'improvise pas hébergeur et encore moins administrateur
système.
Ou alors, commencez par cloner la machine sur un serveur local, jouez
avec, et ensuite vous pourrez répercuter sur la production.
Deuxième conseil : on ne travaille root que quand c'est nécessaire (et
spécifié clairement dans ce que j'écris).
Mais bon, si vous passez outre ce conseil, voici comment procéder.

1) vérifiez la version exacte de php que vous avez. Un script avec
phpinfo() dedans par exemple.
2) vérifiez si la l'extension mcrypt n'est pas déjà compilée (toujours
dans phpinfo()) : si c'est fait pas la peine de se fatiguer.
3) cherchez les sources et l'arborescence de compilation de PHP.
Premier cas : si vous l'avez, il suffit de faire :
make distclean
./configure [la liste des options récupérée dans phpinfo()] --with-mcrypt
make
make tests
[su]-> root
make install

Le risque est assez faible car vous êtes dans la bonne arborescence de
compilation. Mais il existe.
Arrêter complètement puis redémarrer apache (restart ne suffira pas
nécessairement). Pour faire propre, il faudrait même faire un stop avant
le make install.

Second cas : vous n'avez pas cette arborescence ou vous n'êtes pas sûr de
vous (ce n'est pas une honte).

Il faudra alors d'abord récupérer la version exacte de PHP sur
http://fr2.php.net/ (downloads, à gauche, le lien "See our releases page
for older PHP versions."). Puis décompresser cette archive sur le serveur
Idem, redémarrer complètement apache. (n'importe où dans un compte
d'utilisateur lambda).
cd php-X.Y.Z/ext/mcrypt
phpize
Cette commande permet de compiler juste une extension en autonome.
make

On a alors un truc du genre modules/php_mcrypt.so On peut ensuite activer
cette extension pour tout le site en renseignant correctement php.ini
(extension_dir puis section load, là où toutes les .dll sont en
commentaire, cette modification de php.ini se fait en tant que root et
idem, redémarrer complètement apache.) ou alors uniquement pour les
scripts qui en ont besoin en laissant dl=On et en utilisant dans les
scripts qui en ont besoin et seulement ceux-ci l'instruction
http://fr2.php.net/dl

Le risque dans les deux cas est totalement nul, car si le serveur apache
ne redémarre pas (installation pour tout le site) il suffit de commenter
la ligne dans php.ini et relancer, et pour le cas de l'utilisation de
dl(), seul le script qui l'appelle peut se planter.

Dans tous les cas, bien inspecter les logs apache après ce genre de
bidouilles.

HTH
JG

Avatar
John GALLET
cd php-X.Y.Z/ext/mcrypt
phpize


NB : Il est possible qu'il faille ici un ./configure (je ne sais plus)

make