Página Web con Autenticación en Debian 8

Una vez que tenemos nuestra páina web creada y una página secundaria para poder descargar algunos documentos importantes de nuestro centro «I.E.S Virgensita de Guadalupe», vamos a crear otro sitio dentro de «www.yisuscraist.com» que se llamará «profesores». Dicho sitio deberá tener autenticación. Con lo cual, en esta entrada aprenderemos a ponerle una autenticación a nuestras páginas desde un Servidor Debian 8.

Lo que queremos realizar es que en el apartado «profesores» puedan acceder todo el profesorado del centro autentificándose. Más tarde crearemos otro sitio donde solamente puedan acceder el director, el jefe de estudios y el secretario.

Autenticación en «Profesores»

Para comenzar a realizar la autenticación de «www.yisuscraist.com/profesores» deberemos editar el fichero «/etc/apache/sites-availables/yisuscraist.conf» y añadimos las siguientes líneas:

 AuthType basic
 AuthName "Debes ser parte del profesorado para acceder a este sitio."
 AuthUserFile /etc/apache2/passwd
 Require valid-user

Lo que quieren decir los diferentes apartados de las líneas es:

  • AuthType basic: Activar la autenticación básica para ese directorio
  • AuthName «Debes ser parte del profesorado para acceder a este sitio.»: Es el texto que nos mostrará la página antes de autenticarnos.
  • AuthUserFile /etc/apache2/passwd: Es el documento en el cual se van a encontrar las contraseñas de los diferentes usuarios.
  • Required valid-user: Este parámetro nos permite que cada usuario registrado en nuestro sistema pueda acceder a esta carpeta, autenticándose antes.

Una vez que tenemos esto en el fichero «/etc/apahce2/apache2.conf» deberemos recargar el servicio de Apache2 para que se apliquen los cambios. Para recargar el servicio ejecutamos:

root@eddy:/etc/apache2# systemctl reload apache2

Vamos a crear los usuario y asignarle a cada uno su contraseña, para ello nos dirigiremos a «/etc/apache2» (solo para ver los cambios que vamos a realizar) y ejecutamos «htpasswd -c [nombre del documento] [usuario que queremos crear]» ya que la opción «-c» de dicho comando nos crea el archivo con las contraseñas. Si queremos añadir más de un usuario quitamos el parámetro, ya que si lo hacemos con dicho parámetro nos sobreescribirá la siguiente información que introduzcamos.

Para crear los usuarios:

root@eddy:/etc/apache2# htpasswd -c passwd Director
New password: 
Re-type new password: 
Adding password for user Director

root@eddy:/etc/apache2# cat passwd 

Director:$apr1$gEacloOu$Sf6h0iSoU0ltTt5IW5vqP0
ProfeMates:$apr1$vfjfxjRa$Jhb7gnPdmwmY1dKoBMN/O.
ProfeLengua:$apr1$Vd7lkpdG$TGO5uUZRFb.rbW9mk6G4D1
ProfeSociales:$apr1$hBrgFBNz$J.C4AGCc6m9aF3zzdpiMw.
JefeEstudios:$apr1$diDJDA52$FYNbT2bvLNWpXBIgcVPSU1
Secretario:$apr1$DCIiq8Tm$6XLTVOLX.KuXnlECQSyHX/

Prueba de la autenticación en «Profesores»

Vamos a hacer la prueba de si realmente podemos acceder a «www.yisuscraist.com/Profesores» autenticándonos desde uno de los clientes:

prueba-profesores
Prueba profesores 2.png

Autenticación en «Equipodirectivo»

Ahora deberemos crear otra página dentro de «www.yisuscraist.com» que se llamará «equipodirectivo», en dicha página solo podrán acceder el Director, el Secretario y el Jefe de Estudios.

Para realizar dicha página deberemos de crear una nueva carpeta dentro de nuestro directorio de «yisuscraist» llamado «equipodirectivo» y en el interior de dicho directorio deberemos introducir una plantilla html, la cual será nuestra página. Para ello:

  1. Creamos el directorio:
    root@eddy:/var/www/yisuscraist# mkdir equipodirectivo
  2. Copiamos la plantilla en «/var/www/yisuscraist/equipodirectivo»
    root@eddy:/home/eddy# mv equipodirectivo/ /var/www/yisuscraist/
    root@eddy:/home/eddy# ls /var/www/yisuscraist/
    css images index.html~ license.txt
    equipodirectivo index.html js styles.css
  3. Le ponemos como propietario del directorio que acabamos de añadir al usuario «www-data» y como grupo propietario a «www-data»:
    root@eddy:/var/www/yisuscraist# chown -R www-data:www-data equipodirectivo/
    root@eddy:/var/www/yisuscraist# ls -l
    total 44
    drwx------ 2 www-data www-data 4096 ene 26 13:02 css
    drwxr-xr-x 3 www-data www-data 4096 ene 30 13:43 equipodirectivo
    drwx------ 2 www-data www-data 4096 ene 26 13:06 images
    -rw-r--r-- 1 www-data www-data 5478 ene 26 13:10 index.html
    -rw-r--r-- 1 www-data www-data 5457 ene 17 2015 index.html~
    drwx------ 2 www-data www-data 4096 ene 26 13:02 js
    -rw-r--r-- 1 www-data www-data 1236 ene 17 2015 license.txt
    -rw-r--r-- 1 www-data www-data 4463 ene 17 2015 styles.css
  4. Indicamos en el fichero «/etc/apache2/apache2.conf» los usuarios que queremos que se identifiquen en dicha página:
     AuthType basic
     AuthName "Este sitio solo es parlos miembros del Equipo Directivo del c$
     AuthUserFile /etc/apache2/passwd
     Require user Director
     Require user JefeEstudios
     Require user Secretario
    
  5. Reiniciamos el servicio con:
    root@eddy:/var/www/yisuscraist# systemctl restart apache2
  6. Hacemos la prueba en uno de los clientes:
    Prueba equipodirectivo 1.png
    Prueba equipodirectivo 2.png
    Si intento inciar sesión con cualquiera de los otros usuarios creados anteriormente, no me deja iniciar sesión y me devuelve directamente a la misma pantalla de «log in».

Deja un comentario