Creacion de base de datos
Lo primero que debemos hacer es crear una base de datos donde vamos a almacenar la información de los usuarios (login y pass). Para ello accedemos a nuestro servidor MySQL mediante PHPmyadmin y creamos la base de datos
Una vez creado introducimos los datos de los usuarios que queremos dar de alta. Podemos cifrar la contraseña de los usuarios usando la funcion ENCRYPT.
Creacion del sitio web
El siguiente paso sera crear el sitio que vamos a controlar mediante esta autenticación. Creamos una carpeta en /var/www, en mi caso la carpeta se llamara MYSQL y dentro de ella creamos nuestra pagina.
Una vez creado el sitio en /var/www lo creamos en /etc/apache2/sites-available con la siguiente configuración.
AuthMySQL_DB apache # Nombre de la base de datos
AuthMySQL_User root # Usuario de la base de datos
AuthMySQL_Password 123456 # Contraseña del usuario
AuthMySQL_Password_Table usuarios # Nombre de la tabla
AuthMySQL_Username_Field login # Fila de los nombres
AuthMySQL_Password_Field pass # Fila de las contraseñas
AuthMySQL_Empty_Passwords off
AuthMySQL_Encryption_Types Crypt # Tipo de cifrado
Ahora tenemos que activar el sitio con a2ensite (nombre del sitio) y reiniciar el servicio con service apache2 reload (tenemos que agregar a nuestro DNS una entrada con el nombre del servidor)
A continuación instalamos la libreria de mysql para apache con la orden aptitude install libapache2-mod-auth-mysql y lo activamos con a2enmod auth_mysql
Por último reinicamos el servicio apache una vez más (service apache2 reload)
Comprobación
Vamos a nuestra máquina cliente con interfaz gráfico y comprobamos que funciona correctamente accediendo al sitioIntroducimos el usuario y contraseña creados anteriormente.
Si metemos un usuario incorrecto volvera a pedirnos las credenciales y si cancelamos nos dará un mensaje de error de autorización.
No hay comentarios:
Publicar un comentario