Hi, here is a procedure to get apache 2.2 + *apr_dbd_oracle.so on linux (base debian 4 etch apache by apt-get standard)
*

*Install Oracle instant client :
*

get files from http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html
get  basic.zip and sdk.zip
unzip them in /opt/oracle wich you create if not existent.
make sure you got a symlink /opt/oracle/instantclient to the current version (/opt/oracle/instantclient_11_1 now).

Note that the main problem to get the *apr_dbd_oracle.so is that the library libclntsh.so has move from lib directory in oracle client to oracle client main directory.
adding a symlink solves the compile issue :
*

ln -s /opt/oracle/instantclient /opt/oracle/instantclient/lib

then go on :

cd /tmp
wget http://mirrors.kahuki.com/apache/apr/apr-1.3.3.tar.bz2
cd /usr/src
tar -jxvf /tmp/apr-1.3.3.tar.bz2
cd apr-1.3.3
./configure --prefix=/usr
make
make install

cd /tmp
wget http://mirrors.kahuki.com/apache/apr/apr-util-1.3.4.tar.bz2
cd /usr/src
tar -jxvf /tmp/apr-util-1.3.4.tar.bz2
cd apr-util-1.3.4
./configure --with-apr=/usr/src/apr-1.3.3 --with-oracle=/opt/oracle/instantclient --with-oracle-include=/opt/oracle/instantclient/sdk/include --prefix=/usr
make
make install

create tables in oracle :

create table apache_authn
(
       user_id varchar2(50)
       ,password varchar2(50)
       ,primary key (user_id)
)

then change you virtualhost config :
   DBDriver oracle
   DBDParams "user=test pass=test dbname=XE server=127.0.0.1:1521"
   DBDPersist off
# You should test with Persist off then change to on if it works.

and configure a directory :
   <Directory /var/www/test>
       AllowOverride None
       AuthType Basic
       AuthName "Acces utilisateur requis"
       AuthBasicProvider dbd
       Require valid-user
AuthDBDUserPWQuery "SELECT password FROM apache_authn WHERE user_id = %s "
   </Directory>

restart apache.

password format is the same that those in the usual password file. just take what is after the ":".
source files mention that sha1 and md5 password should work.

Samuel Ballé

-------

   Hi Rajaopal M.,

   In order to use the mod_dbd.so, and mod_authn_dbd.so modules with
   mysql I had to build the mysql dbd driver provided in the arp-util
   (within Apache httpd-2.2.9).

   To accomplish this I used the configure flag noted in apr-util:

   ./httpd-2.2.9/srclib/apr-util> configure --help | grep -i mysql
   --with-mysql=DIR enable MySQL DBD driver

   I passed this --with-mysql flag to the top level configure when
   configuring httpd-2.2.9. Even though it doesn't undestand this flag,
   it passes it on to lower level configurations, such as when
   configuring apr-util.

   I have no experience with Oracle, but here are the Oracle configure
   flags I found in the configure help in apr-util:

   ./httpd-2.2.9/srclib/apr-util> configure --help | grep -i ora
   --with-oracle-include=DIR path to Oracle include files
   --with-oracle=DIR enable Oracle DBD driver; giving ORACLE_HOME as DIR

   Hope this helps, -Steve

       Rajagopal M. wrote:

       Hi Steve,

       I am RajaGopal Maddi. I have seen from one of the blogs in
       objectmix.com that you have used MySQL database for HTTP
       Authentication in Apache?

       Is it resolved for you? Steve, what should I do for doing the
       same with Oracle Database? Where do we get the
       *apr_dbd_oracle.so* from?

       Please throw some light on interaction with the Oracle Database.

       Thanks

       RajaGopal Maddi

Reply via email to