A veces puede tenerse la necesidad de instalar una aplicación web en un directorio, pero no queremos que sea accesible por todo el mundo. Desde hace muchos tiempo, Apache proporciona un mecanismo fácil para configurar este escenario, que suele ser usando un fichero .htaccess
o directamente en el fichero de configuración de Apache con alguna directiva <Directory>
.
En esta ocasión quiero mostrar la configuración pero apoyándose en el directorio «/etc/apache2/conf.d
» de apache, que vale perfectamente si tienes una Ubuntu 10.04 LTS, que es mi caso.
Se trata de crear un fichero, llamado por ejemplo «directorio.conf
» y alojarlo en dicho directorio «/etc/apache2/conf.d
«, donde Apache lo lee automáticamente, con el siguiente contenido:
<Directory /var/www/directorio_a_proteger> <IfModule mod_authn_file.c> AuthType Basic AuthName "Texto a mostrar" AuthUserFile /etc/usersweb.pwd </IfModule> Require valid-user </Directory>
donde «/var/www/directorio_a_proteger
» es el directorio donde esta la web a proteger.
Falta crear el fichero donde están los usuarios, que como se ve es: /etc/usersweb.pwd
que puede ser ese, o cualquier otro que creemos, siempre que lo indiquemos aquí correctamente. Para ello utilizaremos el comando:
htpasswd -c /etc/usersweb.pwd nombre_usuario
Se nos pedirá la contraseña, y solo faltará reiniciar el Apache:
/etc/init.d/apache2 restart
y ya debería de funcionar.
16 de febrero, 2013 a las 06:12
Hola: Llevo varios años usando GNU/Linux, pero apenas estoy comenzando a montar un servidor apache. Estoy usando la versión 12.04 de ubuntu server.
Tengo un problema con la seguridad:
Creé un host en no-ip, pero cuando accedo a él se muestra todo el contenido de la carpeta /var/www desde internet, en la cual tengo alojado varios archivos que no quiero que sean mostrados. Por el método que has expuesto puedo bloquear toda la carpeta, pero eso implicaría que no se pueda ver la página web que está alojada en la carpeta /var/www.
En otras palabras quiero que cualquier cibernauta pueda acceder sólo a la página, pero no a la carpeta donde está alojada.
Ejemplo:
que de acceso a:
mombre-de-mi-dominio.sytes.net/mi-pagina.html
y que bloquee:
mombre-de-mi-dominio.sytes.net/
ya que este link conduce a mi carpeta /var/www
20 de febrero, 2015 a las 16:57
si siempre es necesario poner seguridad para directorios web, muchas gracias por tu articulo