How-To: Apache2 authentication using MySQL backend — page 2
In the first part, we have set up our database, let now add some user to authenticate.
3. Creating users
Here we will be using sha1 password. To create a password, you can use the following command:
# echo -n 'password' | sha1sum
5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 -
more
thus, the SHA1 encrypted version of password password is c8fed00eb2e87f1cee8e90ebbe870c190ac3848c.
Now, lets create a user foobar with password ‘password’ and a group it will belong to called ‘foobargroup’.
mysql> USE httpauthdb;
mysql> INSERT INTO users (login, pass, firstname, lastname, email) VALUES ('foobar', 'c8fed00eb2e87f1cee8e90ebbe870c190ac3848c', 'foo', 'bar', '[email protected]');
mysql> INSERT INTO groups (name) VALUES ('foobargroup');
mysql> INSERT INTO usergroup (uid, gid) VALUES (uid, gid);
Where uid and gid have to be replaced with the one created during the 2 first INSERTS.
4. Setting apache
Now, go to your site configuration edit it and add, in between your Directory tags for instance:
## mod auth_mysql
AuthBasicAuthoritative Off
AuthMYSQL on
AuthMySQL_Authoritative on
AuthMySQL_DB httpauthdb
Auth_MySQL_Host localhost
Auth_MySQL_User httpauth
Auth_MySQL_Password httpauthpassword
AuthMySQL_Password_Table users
AuthMySQL_Username_Field login
AuthMySQL_Password_Field pass
AuthMySQL_Empty_Passwords off
AuthMySQL_Encryption_Types SHA1Sum
# Standard auth stuff
AuthType Basic
AuthName "restricted zone"
Require valid-user
Now, after reloading apache you should be able to authenticate as user foobar with password password.