i386/159608: apache WITH_BDB_BASE settings described in UPDATING do
not work
Jo Rhett
jrhett at netconsonance.com
Mon Aug 8 17:40:16 UTC 2011
>Number: 159608
>Category: i386
>Synopsis: apache WITH_BDB_BASE settings described in UPDATING do not work
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: freebsd-i386
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Aug 08 17:40:11 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Jo Rhett
>Release: 8.2
>Organization:
>Environment:
FreeBSD triceratops.netconsonance.com 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Feb 18 02:24:46 UTC 2011 root at almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
>Description:
There are settings described in ports UPDATING file and implemented in Makefile.modules to build apache with the base bdb 1.85 libraries. Using these settings produces an apache which cannot authenticate against bdb 1.85 files.
dbmmanage /path/to/file view/adduser/delete/etc works fine
file /path/to/file
/path/to/file: Berkeley DB 1.85 (Hash, version 2, native byte-order)
Accessing from the web server always returns a 500 error with the following in the error log:
(2)No such file or directory: could not open dbm (type default) auth file: /path/to/passwd.dat
I've recompiled apr and apache with a variety of different options, and nothing works. apr without any databases doesn't work. apr with BDB doesn't work, etc. My options for apache have remained the same:
APACHE_PORT=www/apache22
WITH_DBM=bdb
WITH_BDB_BASE=yes
Running a ktrace shows that even though it is built this way, it continues to search for a DBM file.
# kdump |grep /passwd
724 httpd NAMI "/path/to/passwd.dat.dir"
>How-To-Repeat:
/etc/make.conf:
APACHE_PORT=www/apache22
WITH_DBM=bdb
WITH_BDB_BASE=yes
cd /usr/ports/www/apache22
make
make install
Create a DB 1.85 authentication file like so:
jrhett:$1$JJueifadJ$jjp1FrHQ1OLnGwpYc3Egr1:admin
file /path/to/passwd.dat
/path/to/passwd.dat: Berkeley DB 1.85 (Hash, version 2, native byte-order)
Edit the httpd.conf like so:
<Directory />
AuthBasicProvider dbm
AuthDBMType default
AuthDBMUserFile /path/to/passwd.dat
AuthDBMGroupFile /pathto/passwd.dat
</Directory>
>Fix:
No clue.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-i386
mailing list