Articles dans la catégorie ’Web’
Ajouter le support OCI8 à php sous Centos 5
L’extension OCI8 permet ajoute à php des fonctionnalités permettant de communiquer avec une base Oracle.
OCI8 n’est pas fourni de base avec php, il convient de l’installer manuellement.
Avant toute chose, nous allons installer apache-php :
yum install php php-devel httpd /etc/init.d/httpd start
Nous créons ensuite un fichier /var/www/html/phpinfo.php contenant :
<?php
phpinfo();
?>
Cette page est donc accessible depuis l'adresse http://127.0.0.1/phpinfo.php
Il faut ensuite télécharger et décompresser l'extension oci8 pour php :
wget http://pecl.php.net/get/oci8-1.4.5.tgz tar zxf oci8-1.4.5.tgz
Pour installer l'extension OCI8, deux cas de figures peuvent se présenter. Soit la machine possède déjà un serveur oracle configuré (cf article sur l'installation d'un serveur oracle) soit la machine ne possède pas de serveur oracle local et devra accéder à un serveur oracle distant.
Si un serveur oracle local est installé :
cd oci8-1.4.5 phpize ./configure --with-oci8=shared,$ORACLE_HOME make make install
Si aucun serveur oracle n'est présent sur la machine :
Il faut alors installer oracle_instantclient. Nous choisirons la version 11.2-basic et 11.2-devel en rpm depuis cette page
rpm -ivh oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm rpm -ivh oracle-instantclient11.2-devel-11.2.0.2.0.i386.rpm
Nous pouvons maintenant compiler l'extension OCI8 :
cd oci8-1.4.5 phpize ./configure --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib make make install
Configuration de php
Cette étape est commune aux deux méthodes d'installation précédentes.
Ajouter au fichier /etc/php.ini la ligne :
extension=oci8.so
et redémarrer le serveur apache :
/etc/init.d/httpd restart
Maintenant, en allant sur la page http://127.0.0.1/phpinfo.php, vous devez avoir une section oci8 de ce style :
Réinitialiser le mot de passe root de MySQL
Voici une méthode qui permet de changer le mot de passe root d’un serveur MySQL lorsque l’on a perdu ne connait pas l’ancien mot de passe.
Il suffit d’arrêter le serveur MySQL et de lancer mysqld_safe avec l’option –skip-grant-table. Ensuite, il faut lancer le client mysql pour se connecter en tant que root, sans mot de passe. A l’aide des commandes SQL classique, on modifie le champ password de la table user de la base mysql.
On arrête le serveur MySQL et on le relance de manière classique.
Masquer les informations données par Apache
Deux directives permettent de masquer les informations données par Apache. Ces directives sont à placer dans le fichier httpd.conf.
Par défaut, le paramètre ServerSignature est à On. Ainsi, sur chaque page d’erreur générée par Apache, on peut y voir le numéro de version.
En passant ServerSignature sur Off, la page devient :
Le second paramètre est ServerTokens, qui permet de changer ce que répond Apache dans chaque entête de requête.
Par défaut, le serveur donne son numéro de version et le système utilisé :
En mettant ServerTokens Prod dans le fichier httpd.conf, la réponse sera :