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 <Directory /srv/www/htdocs/member> 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?