Re: Regarding Apache HTTP Authentication with an Oracle Database

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux