Link to home
Start Free TrialLog in
Avatar of mark2326
mark2326

asked on

mod_authn_dbd cannot connect to mysql

os: centos 7
apache 2.4.6
mysql 5.6.41

my configuration is in /etc/httpd/sites-enabled/mySite.com

<VirtualHost *:80>

DBDriver mysql
#DBDParams host=localhost,dbname=myDB,user=root,password=*****
DBDParams "dbname=myDB user=root password=*****"
#DBDParams host=localhost,dbname=myDB,user=root,password=*****,sock=/var/lib/mysql/mysql.sock

#DBDParams "host=127.0.0.1 port=3306 dbname=myDB user=root password=***** sock=/var/lib/mysql/mysql.sock"


DBDMin  4
DBDKeep 8
DBDMax  20
DBDExptime 300

<Directory "/path/to/Dir">

AuthDBDUserPWQuery "SELECT user_passwd FROM myTable WHERE user_name = %s"
#AuthDBDUserPWQuery "SELECT encrypt(user_passwd) AS password FROM myTable WHERE user_name = %s"
#<RequireAll>
  AuthType Basic
  AuthName "site"
 Require valid-user
     AuthBasicProvider socache dbd
 #   </RequireAll>
</Directory>

    ServerName www.mySite.com
    ServerAlias mySite.com
    DocumentRoot /Path/to/Dir
    ErrorLog /myPath/error.log
    CustomLog /myPath/requests.log combined

</VirtualHost>

Open in new window


After entering the username and password I get an "Internal Server Error" message.
My error log..

[Mon Sep 10 09:42:55.454763 2018] [dbd:error] [pid 32515] (20014)Internal error: AH00629: Can't connect to mysql: Access denied for user 'root'@'localhost' (using password: NO)
[Mon Sep 10 09:42:55.454833 2018] [dbd:error] [pid 32515] (20014)Internal error: AH00633: failed to initialise
[Mon Sep 10 09:42:55.454854 2018] [authn_dbd:error] [pid 32515] [client 69.92.163.194:40488] AH01653: Failed to acquire database connection to look up user 'mark'

Any ideas?
Thanks
ASKER CERTIFIED SOLUTION
Avatar of theGhost_k8
theGhost_k8
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of mark2326
mark2326

ASKER

Yes I am providing a password.
changing to ..
DBDParams "dbname=myDB user=root pass=*****"

Open in new window

The dialog keeps popping up saying "Incorrect user name or password"

log...
[Mon Sep 10 09:59:29.746818 2018] [auth_basic:error] [pid 9923] [client 127.0.0.1:46139] AH01617: user mark: authentication failure for "/myFile.pdf": Password Mismatch

The DBDParams are per apache's example.
Thanks
Can you confirm the connectivity works..
mysql -uUSER -pPASS
yes using..
 mysql -u root p- *****

connects
It turns out you were correct, it is pass= and not password=
After thinking about it, I wasn't getting connection errors anymore.
I changed...
AuthDBDUserPWQuery "SELECT user_passwd FROM myTable WHERE user_name = %s"

Open in new window

to
AuthDBDUserPWQuery "SELECT encrypt(user_passwd) AS password FROM myTable WHERE user_name = %s"

Open in new window


Seems to be working
Thanks