Autenticación en Apache


Autenticación mediante MySQL



Para realizar la autenticación mediante una MySQL, primero tenemos que crear una base de datos en nuestro servidor.


En esta base de datos creamos una tabla, con dos campos "login" y "pwd".




Una vez creada la tabla insertaremos los datos de un usuario que yo he llamado "prueba".  Este usuario será el que utilizaremos luego para autenticarnos.




El siguiente paso será crear en el directorio  /var/www una carpeta que yo voy a llamar "privada2". Dentro de esta carpeta crearemos un index.html básico, para realizar las pruebas.

Lo siguiente que haremos será configurar el Virtual host  de nuestro sitio, para hacerlo tenemos que crear un archivo que yo voy a llamar "privada2" en el directorio /etc/apache2/sites-availables  y que  contendrá lo siguiente:





  
Dónde:

AuthName "Para poder acceder debes estar registrado en la base de datos", será el mensaje que nos mostrará en la ventana para logearnos.
AuthMYSQL_DB "usuarios", es el nombre de la base de datos.
AuthMYSQL_User "prueba", es el usuario de la base de datos.
AuthMYSQL_Password "prueba" es la contraseña del usuario.
AuthMYSQL_Password_Table "usuarios", es dónde le indicamos que se encuentran los usuarios en la base de datos.
AuthMYSQL_Username_Field "login", es dónde le indicamos que se encuentran los nombres de usuarios.
AuthMYSQL_Password_Field "pwd", es dónde le indicamos que se encuentran las contraseñas de los usuarios.
AuthMYSQL_Encryption_Types "Crypt", es dónde le indicamos el tipo de cifrado que utilizan las contraseñas.





El siguiente pasó será activar el sitio y activar los módulos necesarios para que todo funcione.



El primer módulo que tenemos que activar es el auth_digest que lo activamos con el comando a2enmod auth_digest.









El siguiente módulo que tenemos que activar es el auth_mysql, para activarlo previamente tendremos que instalar el paquete libapache2-mod-auth-mysql. Cúando lo tengamos instalado ejecutamos el comando a2enmod auth_mysql







Reiniciamos el servicio apache2.




Lo siguiente que haremos será añadir un alias en archivo de búsqueda del servicio dns.







Finalmente haremos una prueba desde un cliente y comprobamos que funciona.





Comentarios