16 Dic

Poner carpetas protegidas con contraseña en nuestro servidor apache2

Crear el subdirectorio todo-empresa-tarea-daw02/delimitado teniendo en cuenta que:

  1. El directorio todo-empresa-tarea-daw02 permite el acceso a cualquier usuario.
  2. El subdirectorio todo-empresa-tarea-daw02/delimitado permite el acceso solamente al personal de la empresa que tenga el rol:admin.

Se supone que ya tenemos configurado bien nuestro servidor que llega a nuestra web, esto solo explica como poner clave en archivos de una carpeta. Como configurar virtuhost desde 0, ponerlo en sites-availeables,sites-enabled y la configuración de /etc/hosts para que apunte a nuestra web está en otro artículo, si no lo encuentras pídelo.

Voy a crear primeramente la carpeta delimitado y posteriormente voy a crear un index.html que diga que está dentro de delimitado.

Estando dentro de carpeta todo-empresa-tarea-daw02

Sudo mkdir delimitado

cd delimitado

sudo touch index.html

sudo nano index.html

Ahora me voy a encargar de darle acceso a la carpeta delimitado a un usuario llamado admin. Para ello primeramente tengo que crear una carpeta no accesible desde la web en la que guarde los archivos con las contraseñas.

Lo pondre en /etc/apache2/passwords, así que crearé primeramente la carpeta passwords

sudo mkdir passwords

Ahora crearemos el archivo de password dentro de la carpeta, para ello cogemos y vamos a /bin . Utilizaremos htppasswd

sudo htpasswd -c /etc/apache2/passwords/password admin

El usuario elegido ha sido admin
y la contraseña 1234

Ahora voy a crear el archivo .htaccess, para ello abriré con nano el archivo .htaccess aunque no exista, lo modificaré con las siguientes sentencias y guardaré, así se creará.

sudo nano /home/riskoo/todo-empresa-tarea-daw02/delimitado/.htaccess

y ahora añadiremos las siguientes sentencias:


AuthType Basic

AuthName “Restricted Files”

AuthUserFile /etc/apache2/passwords/password
Require user admin

Por último lo que nos quedará será modificar la directia AllowOverride en los sites-availeables de apache2 (estaba creado de antes) si quieres saber como lo montamos deja un comentario y lo pongo.

sudo nano /etc/apache2/sites-available/empresa-tarea-daw02

Ahora ponemos o modificamos depende de si lo teníamos y pondrémos dentro de la directiva:

AllowOverride All


Reiniciamos apache2 con:
sudo /etc/init.d/apache2 restart
y comprobamos poniendo en el navegador la pagina, veremos que aparece la clave:

Share this

Leave a reply