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

[cobalt-developers] Compiling mod_auth_dbm.so on Raq4?



I posted a variant of this to the Cobalt-Users list but Cobalt support in the Netherlands suggested I try posting it here instead. By the way, the interface to browse the archive (from the Cobalt) site would be useful if it worked the same way as the Users List. It's not very convenient trying to search through digests online.

I'm just in the process of migrating from a Raq2 to a Raq4. Following Gary's instructions (RHLinux- WHN rhlinux@xxxxxxxxxxx) in the user's list from February this year got everything over safe and sound. Imagine my surprise, though, when I went to one of my sites that uses auth_dbm and it didn't work anymore. A quick check of what's compiled in Apache and LoadModule'd in revealed that auth_dbm wasn't there anymore. ):

I then spent almost five hours scouring the user list archives, the Cobalt Knowledge Base, the Cobalt ftp sites, and the Apache site trying to get the darned thing to load in the DSO. Here's what I did:

1) Downloaded the Apache 1.3.12 source from apache.org. This matches the version supposedly on the machine. After, I:

    $ ./configure
    $ make install

  I found the so module and moved into /usr/lib/apache/

  Added a LoadModule mod_auth_dbm modules/mod_auth_dbm.so  after the casp
    stuff in /etc/httpd/conf/httpd.conf

  Restarted the server.  BARF!


2) Following the instructions at http://www.apache.org/docs/dso.html for installing a distributed Apache module, I:
  $ ./configure --prefix=/path/to/install --enable-shared=foo
  $ make install

  This resulted in a mod_auth_dbm.so file in src/modules/standard/

  I moved that to /usr/lib/apache/

  Added a LoadModule mod_auth_dbm modules/mod_auth_dbm.so  after the casp
    stuff in /etc/httpd/conf/httpd.conf

  Checked the configuration using /usr/sbin/httpd -t

  Error:  It complained that I had compiled it using Apache 1.3 plain
  API and it wanted to be compiled with -DEAPI otherwise it could
  crash when doing EAPI calls.

  A quick check of Apache.org revealed no information about
  extended APIs or EAPI.  I couldn't figure out how to get the
  -DAPI in there.  I tried adding it to the extra flags in the
  Configuration file but no dice.


3) Decided to try compiling the module using apxs outside of the source
   tree.  I noticed that apxs was on the Raq already in /usr/sbin/,
   so I used that.

         $ cd to src/modules/standard
         $ /usr/sbin/apxs -c mod_auth_dbm.c
         $ /usr/sbin/apxs -i -a -n auth_dbm mod_auth_dbm.so


   apxs did use all of the weird -D switches that /usr/sbin/httpd -V
   revealed had gone into the making of our httpd.

   I don't remember where the .so file appeared when I did this, but
   I put it into /usr/lib/apache with the rest of the .so modules.

   Checked the httpd.conf file.  apxs had added a LoadModule line after
   the SSL LoadModule and had added an AddModule mod_auth_db.c

   Tried running the test configuration (/usr/sbin/httpd -t).  Came up
   with an error:
      Can't locate API module structure `auth_dbm_module' in file
      /etc/httpd/modules/mod_auth_dbm.so : /etc/httpd/modules/mod_auth_dbm.so:
      undefined symbol: auth_dbm_module

   Edited the httpd.conf to point to modules/mod_auth_dbm.so instead of
   what apxs had put in.

   Same error.   I also tried commenting out the AddModule line since
   all the others were commented out.  Still same error.


   I believe I diligently used make distclean between attempts.


5) Called Cobalt Technical Support in Europe.

   The fellow I chatted with didn't really know what I was talking
   about.  Just told me it wasn't supported on the Raq4 even though
   it had obviously been in the Apache build for the Raq2.  He also
   suggested I checked the documentation first for a list of
   Apache modules.  I've never seen any Cobalt documentation that
   lists what modules are compiled into any of the Raqs.

6) Committed hari-kari on the poor unsuspecting furniture.


I'm at my wits' end.  Does anybody know:

1) How to compile this and make it go?

or

2) Where there's a nicely compiled .so file for mod_auth_dbm for i586 on
   the Raq4 already?

or

3) Tell me a better way to go about this?  Maybe I shouldn't be trying to
   use a DSO?




Thanks,

Michelle A. Hoyle


PS: Truthfully, compiling apache modules is above and beyond my comfort zone (so good instructions needed!) but since this is a major site, it behooves me to get this working and very quickly at that.

--

----|      TRANSCENA DESIGN  |----------------------------
Michelle A. Hoyle, VP Web Technologies, Canada
#801 T.D. Tower, Edmonton, Alberta, Canada  T5J 2Z1
N. America:  1-888-429-2363  |  UK:  020 7529 1465
International:  +1 780 429 2363
------------------|  internet design architects     |--------