http://bugzilla.opensuse.org/show_bug.cgi?id=1094754
Bug ID: 1094754
Summary: Apache 2.4 and mod_authn_dbd
Classification: openSUSE
Product: openSUSE Distribution
Version: Leap 15.0
Hardware: x86-64
OS: SUSE Other
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Apache
Assignee: bnc-team-apache@forge.provo.novell.com
Reporter: woe.2018@wizonet.ch
QA Contact: qa-bugs@suse.de
Found By: ---
Blocker: ---
While using mod_authn_dbd, apache 2.4 can't load driver file apr_dbd_mysql.so.
Somethin I've done:
Install apache2 (prefork)
Adding mod_dbd and mod_authn_dbd to apache modules in /etc/sysconfig/apache2
Install dbd-mysql:
zypper in libapr-util1-dbd-mysql
Adding these lines to my configuration file:
-------
DBDriver mysql
DBDParams "host=localhost sock=/var/run/mysql/mysql.sock dbname=webaccess
user=apache pass=XXXXXXX"
DBDMin 4
DBDKeep 8
DBDMax 20
DBDExptime 300
AuthName "Secure access"
AuthType Basic
AuthBasicProvider socache dbd
AuthnCacheProvideFor dbd
AuthnCacheContext my-server
AuthDBDUserPWQuery "SELECT password FROM table WHERE user=%s"
<Limit GET POST>
require valid-user
</Limit>
</Directory>
------
when I check the configuration, apachectl says:
# apachectl -t
AH00526: Syntax error on line 34 of /etc/apache2/vhosts.d/myconfig.conf:
Can't load driver file apr_dbd_mysql.so
Line 34 is:
DBDriver mysql
The driver is available at:
ll /usr/lib64/apr-util-1/
total 80
-rwxr-xr-x 1 root root 14896 May 15 18:14 apr_crypto_openssl-1.so
lrwxrwxrwx 1 root root 23 May 15 18:14 apr_crypto_openssl.so ->
apr_crypto_openssl-1.so
-rwxr-xr-x 1 root root 23096 May 15 18:14 apr_dbd_mysql-1.so
lrwxrwxrwx 1 root root 18 May 15 18:14 apr_dbd_mysql.so ->
apr_dbd_mysql-1.so
-rwxr-xr-x 1 root root 10368 May 15 18:14 apr_dbm_db-1.so
lrwxrwxrwx 1 root root 15 May 15 18:14 apr_dbm_db.so -> apr_dbm_db-1.so
-rwxr-xr-x 1 root root 10464 May 15 18:14 apr_ldap-1.so
lrwxrwxrwx 1 root root 13 May 15 18:14 apr_ldap.so -> apr_ldap-1.so
ldd says:
# ldd /usr/lib64/apr-util-1/apr_dbd_mysql-1.so
linux-vdso.so.1 (0x00007ffe3bf68000)
libmariadb.so.3 => /usr/lib64/libmariadb.so.3 (0x00007f6362cb1000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6362a93000)
libc.so.6 => /lib64/libc.so.6 (0x00007f63626d9000)
libz.so.1 => /lib64/libz.so.1 (0x00007f63624c2000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f63622be000)
libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x00007f6362052000)
libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x00007f6361bc7000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6363108000)
An strace to httpd says at the end:
openat(AT_FDCWD, "/usr/lib64/apr-util-1/apr_dbd_mysql-1.so",
O_RDONLY|O_CLOEXEC) = 5
read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p \0\0\0\0\0\0"..., 832)
= 832
fstat(5, {st_mode=S_IFREG|0755, st_size=23096, ...}) = 0
mmap(NULL, 2118168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) =
0x7fe783b72000
mprotect(0x7fe783b77000, 2093056, PROT_NONE) = 0
mmap(0x7fe783d76000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x4000) = 0x7fe783d76000
close(5) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 5
fstat(5, {st_mode=S_IFREG|0644, st_size=38721, ...}) = 0
mmap(NULL, 38721, PROT_READ, MAP_PRIVATE, 5, 0) = 0x7fe78bcef000
close(5) = 0
openat(AT_FDCWD, "/usr/lib64/libmariadb.so.3", O_RDONLY|O_CLOEXEC) = 5
read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360s\1\0\0\0\0\0"...,
832) = 832
fstat(5, {st_mode=S_IFREG|0755, st_size=323904, ...}) = 0
mmap(NULL, 2426112, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) =
0x7fe783921000
mprotect(0x7fe783966000, 2097152, PROT_NONE) = 0
mmap(0x7fe783b66000, 40960, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x45000) = 0x7fe783b66000
mmap(0x7fe783b70000, 5376, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fe783b70000
close(5) = 0
mprotect(0x7fe783b66000, 32768, PROT_READ) = 0
munmap(0x7fe78bcef000, 38721) = 0
munmap(0x7fe783b72000, 2118168) = 0
munmap(0x7fe783921000, 2426112) = 0
write(2, "AH00526: Syntax error on line 34"..., 81AH00526: Syntax error on line
34 of /etc/apache2/vhosts.d/myconfig.conf:
) = 81
write(2, "Can't load driver file apr_dbd_m"..., 40Can't load driver file
apr_dbd_mysql.so
) = 40
select(0, NULL, NULL, NULL, {tv_sec=0, tv_usec=10000}) = 0 (Timeout)
Therefore it seams, that apache find the apr_dbd_mysql-1.so but cant' use it.
libmariadb shows also ok:
# ldd /usr/lib64/libmariadb.so.3
linux-vdso.so.1 (0x00007ffebacfa000)
libz.so.1 => /lib64/libz.so.1 (0x00007f7a0f9b7000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f7a0f7b3000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7a0f595000)
libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x00007f7a0f329000)
libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x00007f7a0ee9e000)
libc.so.6 => /lib64/libc.so.6 (0x00007f7a0eae4000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7a0fe1f000)
Is there a bug in one of these files?
--
You are receiving this mail because:
You are on the CC list for the bug.