Fervent utilisateur de Ruby on Rails, j’avais besoin au boulot de faire une application pour acceder à une BDD oracle. Pas mal de bagarre pour trouver la doc adéquate, mais au final c’est bon et ca fait plaisir de pouvoir utiliser Rails dans un environnement professionnel ou le perl customisé par divers obscurs consultants devient vite incompréhensible.
Partant du principe que vous avez une Debian Sarge installée et fonctionnelle, Apache2 configuré et en fonction ainsi que fastcgi howto.
Pour installer oracle j’ai suivi ce tutorial en ajoutant
deb http://oss.oracle.com/debian/ unstable main non-free
à mon fichier /etc/apt/sources.list et installé avec la commande:
apt-get update;apt-get install oracle-xe-universal
Ensuite la configuration se fait avec
/etc/init.d/oracle-xe configure
L’ajout de:
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
au fichier /etc/profile est nécessaire pour que tout fonctionne correctement. rechargez la configuration en faisant:
source /etc/profile
Pour le moment comme je n’utilise pas de bdd locale j’ai stoppé le serveur oracle par:
/etc/init.d/oracle-xe stop
Mon problème était de me connecter à une BDD distante avec le sid mabdd situé sur l’hôte http://www.xxx.yyy.zzz
Ce tutorial est très utile notamment pour ajouter les drivers ruby oci8!
J’ai créé une application rails avec la commande: rails mytest
Pour la configuration de Apache2 avec fastcgi voila mon fichier /etc/apache2/conf.d/mytest.conf
Alias /mytest /home/monrep/mytest/publicLa configuration reprend les chemin ajouté dans /etc/profile.
dans le fichier /home/monrep/mytest/public/.htaccess remplacez:
RewriteRule ^(.)$ dispatch.cgi [QSA,L]
par
RewriteRule ^(.)$ dispatch.fcgi [QSA,L]
Le fichier /home/monrep/mytest/config/database.yml se présente comme ça:
development:
adapter: oci
username: monusername
password: monpassword
host: www.xxx.yyy.zzz/mabdd
Après un redémarrage du serveur apache tout doit être fonctionnel.
J’ai préféré l’installation de oracle-xe au lieu de instantclient pour avoir aussi un serveur oracle en local au cas ou mais le principe reste le même.
comments : 1 Add comment

posted : Dec 04 2006 10:31AM by :Chris
Merci, ça ma bien aidé !! Je coinçait sur les var d’environnement de fastcgi …