Blog de tecnologia
Proteger con usuario y contraseña una carpeta de Apache
Este tema esta bastante trillado en Internet pero llegado el momento de necesitarlo no me funcionaron el 90% de las explicaciones de como hacerlo; asi que aporto aqui mi experiencia.
El primer paso es generar el archivo de usuarios y contraseñas. Recomiendo hacerlo en una carpeta que no este en la parte publica de apache ( en caso contrario si hay que hacerlo en la parte publica cambiarle el nombre)
En este ejemplo usaremos /home/.htpassword y para crearlo usamos el siguiente comando.
htpasswd -cb /home/.htpasswd test test123
Luego para agregarle nuevos usuarios usaremos
htpasswd -b /home/.htpasswd test21 test123
El archivo generado queda con el siguiente contenido
test:fCJ1HKeOVJpTQ
test1:p0FqAmNIDcfRQ
Luego creamos la carpeta a proteger en mi caso pricada
mkdir /usr/local/apache2/htdocs/privada
cd /usr/local/apache2/htdocs/privada
En esta carpeta creamos un archivo .htaccess con el siguiente contenido
AuthUserFile /home/.htpasswd
AuthName Technoblog
AuthType Basic
require valid-user
Hasta acá lo que dicen el 90% de las explicaciones en Internet pero como dije no me funciono.
Si planea usar archivos
.htaccess, necesitará tener una configuración en el servidor que permita poner directivas de autentificación en estos archivos. Esto se logra con la directivaAllowOverride, la cual especifica cuáles directivas, en caso de existir, pueden ser colocadas en los archivos de configuración por directorios.
En particular en nuetro caso la directiva que nos interesa es Authconfig asi que lo que tenemos que hacer es agregar en el archivo httpd.conf lo siguiente
<Directory "/usr/local/apache2/htdocs/privada">
AllowOverride AuthConfig
Options None
Order allow,deny
Allow from all
</Directory>
Y ahora si funcionó
Como se imaginaran este método es bastante engorroso si se quieren autorizar muchos usuarios. Mas adelante veremos como agregar usuarios al archivo .htpasswd desde un script de PHP o incluso como autenticar desde una tabla de MYSQL.
Continuara.............
Ahhh me olvidaba el comando htpasswd viene en el paquete apache2-utils
| Imprimir artículo | Este artículo fue publicado por admin el 29/10/2009 a las 00:36, y está archivado en Apache, Seguridad. Sigue las respuestas a esta entrada a través de RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio. |

hace 5 meses
hola me resulto tu manual, pero quede con tremenda duda, si yo hago esto:
http://eldominiobloqueado/
apache me pide contraseña pero:
http:/laipdelserver/eldominiobloqueado/
pasa sin pedirme nada :/ he hecho algo mal ?
hace 5 meses
¿Tu idea es proteger el dominio completo?
¿En que carpeta tenes los archivos de eldominiobloqueado?