|
Oracle + Apache + PHP + OpenLDAP |
|
|
|
|
Écrit par Benjamin Jakubowski
|
|
Mercredi, 16 Août 2000 05:41 |
Installation et Configuration du Client Oracle, pour Apache et PHP
Le trio actuel du WEB est MySQL, Apache, PHP, mais il existe d'autre SGBD qui offre d'autres avantages par rapport à MySQL, et Oracle en fait partie. C'est pourquoi après plusieurs essais d'installation de Oracle + PHP + Apache je me suis enfin décidé à documenter son installation.
Le but de cette documentation n'est pas de vous expliquer le fonctionnement d'Oracle ( bien que cela sera disponible dans un futur chapitre ), mais l'installation du client Oracle et l'intégration des librairies Oracle dans PHP |
| Versions Utilisées |
| Oracle |
http://www.oracle.com |
8i - 8.1.7 |
| Apache |
http://httpd.apache.org |
1.3.26 |
| PHP |
http://www.php.net |
4.2.1 |
| OpenLdap |
http://www.openldap.org |
2.0.21 |
Prérequis : Assurer d'avoir suffisament des droits ( droit utilisateur Root )pour effectuer l'installation sur votre machine, ou alors contacter votre administrateur système. |
- Ensuite création des variables d'environnement afin de faciliter l'installation
|
| La définition de ses variables a été faite en tcsh, mais vous pouvez adapter au shell que vous utilisez |
setenv PHPBIN "/usr/local/bin/php" setenv APACHEBIN "/usr/local/bin/HttP" setenv ORACLE_HOME "/usr/local/bin/Oracle" setenv OPENLDAPBIN "/usr/local/bin/ldap"
|
- Installation du Client Oracle
Afin de procéder à l'installation du client oracle il nous faut créer 2 groupes et un utilisateur côté système : |
groupadd dba groupadd oinstall useradd -g dba oracle passwd oracle
|
| Ensuite nous pouvons donc décompresser l'archive contenant les fichiers d'installation de Oracle, que vous avez préalablement téléchargé sur le site d'Orcale. |
Démarrage de l'installation Vous devez être authentifier au niveau du système en tant qu'utilisateur oracle |
Une interface graphique d'installation est disponible depuis la version 8i d'oracle. ( Malheuresement vous êtes contraint de passer par cette interface, tout du moins pour la première installation, et par la suite avec un fichier de configuration d'installaiton cela peut se faire automatiquement.) Voici ce que vous obtenez : |
| Vous validez en cliquant sur l'onglet NEXT/Suivant et l'écran vous propose deux options : |
Cet écran vous permets de définir le répertoire d'installation d'Oracle (que nous définirons par la suite dans une variable système $ORACLE_HOME). En cliquant sur l'onglet Browse/Parcourir, vous pouvez choisir ce répertoire de destination, pour cette documentation nous prendrons comme répertoire de destination : $ORACLE_HOME/( Remplacer $ORACLE_HOME par sa valeur ) |
Vous validez en cliquant sur l'onglet NEXT/Suivant |
| Le processus d'installation determine les packages disponibles, et vous propose ensuite l'écran suivant |
Cet écran vous demande de définir le group Unix qui permettra de mettre à jour votre Base de Donnée Oracle. Vous validez en donnant le group dba que nous avons créé précédement |
| L'installation vous informe avec l'écran suivant que vous avez besoin d'executer un script avec les droits utilisateur root |
Il faut simplement ouvrir une fenêtre ( xterm ... ) avec les droits root et exécuter le script suivant : $ORACLE_HOME/orainstRoot.sh ou $ORACLE_HOME et le répertoire d'installation que vous avez selectionné précédemment. Une fois le script exécuter vous devez obtenir en retour le message suivant :
|
Creating Oracle inventory pointer file (/etc/oraInst.loc) Changing groupname of $ORACLE_HOME/../oraInventory
|
Dès que le script a été exécuté cliquer sur le bonton Retry de cet écran. L'écran suivant nous propose de sélectionner le type d'installation.
|
Valider en activant : Oracle8i Client 8.1.7.0.0 et Cliquer sur le Bouton Next
|
Valider en activant : Custom et Cliquer sur le Bouton Next
|
Sélectionner en plus les packages suivants :
|
Oracle Utilities - Oracle Database Utilities 8.1.7.0.0 Oracle Java Products 8.1.7.0.0 - Oracle SQLJ 8.1.7.0.0 Oracle Programmer 8.1.7.0.0 - Pro C/C++ 8.1.7.0.0 - Oracle for Unix Documentation 8.1.7.0.0
|
Si vous le souhaitez en Cliquant sur l'onglet Product Languages... Vous avez la possibilité d'ajouter la langue francaise. Une fois que vous avez sélectionner les p&ckages cliquer sur le bouton Next |
Valider en Cliquant sur le bouton Next
|
Valider en Cliquant sur le bouton Next
|
Cet Ecran offre un récapitulatif des packages qui vont être installés Valider en Cliquant sur le bouton Install
|
Durant l'installation vous avez la possibilité de voir ce qui est entrain d'être executé via le fichier :
|
$ORACLE_HOME/../oraInventory/logs/installActions.log
|
A nouveau vous devez executer le script suivant avec les droits utilisateurroot
|
Valider par <entrée> à la question poser dès l'execution de ce script. Il est possible que vous obteniez de ce script des erreurs : No such file or Directory Ceci ne dérangera en rien l'utilisation que nous voulons de faire d'Oracle dans le cas présent.
|
| Valider en cliquant sur OK. |
| Cet écran ouvrira une nouvelle fenêtre de configuration. |
La partie Oracle est maintenant terminée
|
- Nous allons décompresser les archives ( PHP , Apache, OpenLdap )
|
tar zxvf <fichier_source> ou gunzip <fichier_source> | tar -xvf -
|
cd openldap-2.0.21/ ./configure --prefix=$OPENLDAPBIN --exec-prefix=$OPENLDAPBIN make depend make make test make install
|
- Pré-Installation de Apache
|
cd ../apache_1.3.26 ./configure --prefix=$APACHEBIN
|
cd ../php-4.2.1 ./configure \ --prefix=$PHPBIN \ --with-apache=../apache_1.3.26 \ --enable-inline-optimization \ --enable-debug=no \ --enable-safe-mode \ --enable-calendar \ --enable-ftp \ --enable-sysvsem \ --enable-sysvshm \ --enable-trans-sid \ --disable-static \ --with-gettext \ --with-regex=system \ --with-ldap=$OPENLDAPBIN \ --with-oracle=$ORACLE_HOME \ --with-oci8=$ORACLE_HOME \ make make install cp php.ini-dist $PHPBIN/lib/php.ini
|
cd ../apache_1.3.26/ ./configure --prefix=$APACHEBIN \ --activate-module=src/modules/php4/libphp4.a make make install
|
Editer le fichier $APACHEBIN/conf/httpd.conf Modifier le fichier comme suit : |
# # ServerName allows you to set a host name which is sent back to clients for # your server if it's different than the one the program would get (i.e., use # "www" instead of the host's real name). # # Note: You cannot just invent host names and hope they work. The name you # define here must be a valid DNS name for your host. If you don't understand # this, ask your network administrator. # If your host doesn't have a registered DNS name, enter its IP address here. # You will have to access it by its address (e.g., http://123.45.67.89/) # anyway, and this will make redirections work in a sensible way. # # 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your # machine always knows itself by this address. If you use Apache strictly for # local testing and development, you may use 127.0.0.1 as the server name. #
ServerName localhost
# # AddType allows you to tweak mime.types without actually editing it, or to # make certain files to be certain types. # # For example, the PHP 3.x module (not part of the Apache distribution - see # http://www.php.net) will typically use: #
AddType application/x-httpd-php .php .php3 AddType application/x-httpd-php-source .phps
# # DirectoryIndex: Name of the file or files to use as a pre-written HTML # directory index. Separate multiple entries with spaces. #
DirectoryIndex index.php index.php3 index.html
|
- Vérification du fichier de configuration
|
$APACHEBIN/bin/apachectl configtest
|
| Vous devez obtenir : Syntax OK, si tel n'est pas le cas veuillez vérifier votre fichier de configuration |
- Démarrage Automatique de Apache
|
$APACHEBIN/bin/apachectl start
cp $APACHEBIN/bin/apachectl /etc/init.d/httpd ln -sf /etc/init.d/httpd /etc/rc0.d/K91httpd ln -sf /etc/init.d/httpd /etc/rc6.d/K91httpd ln -sf /etc/init.d/httpd /etc/rc1.d/K91httpd ln -sf /etc/init.d/httpd /etc/rc5.d/S91httpd ln -sf /etc/init.d/httpd /etc/rc4.d/S91httpd ln -sf /etc/init.d/httpd /etc/rc3.d/S91httpd ln -sf /etc/init.d/httpd /etc/rc2.d/S91httpd
|
- Création d'une fichier index.php
|
<? Putenv("ORACLE_HOME=$ORACLE_HOME"); // remplacer $ORACLE_HOME par sa valeur $connection = OCILogon ("username","password","db"); if ($connection == false) { echo OCIError($connection)."<BR>"; exit; } ?>
|
| Vérifier ce script : http://localhost/index.php |
| Si aucun message d'erreur n'apparait c'est que vous avez réussi !!!! |
| Voila c'est fini, vous avez la possibilité d'effectuer des paramétrages spécifiques en modifiant les variables de ce fichier de configuration alors à vous de jouer. |
|
|
Mise à jour le Lundi, 03 Septembre 2012 15:44 |