Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/11/2007, 12:48
Avatar de ferny
ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Re: como poner password a una carpeta en apache?

Por suerte tengo un documento que guardé cuando tuve que hacer algo similar, te hago un copypaste y te garantizo que funciona

Cita:
Protección de directorios

Para empezar, tendremos que elegir el directorio a proteger, para este ejemplo usaré el directorio donde tengo configurado phpMyAdmin para acceder a la Base de Datos Mysql a través de la web.
El directorio se encuentra en:
/home/httpd/html/myadmin
Y accedo a él a través de la dirección local:
http://localhost/myadmin/index.php3
Para empezar editamos el siguiente fichero (respetar el punto de .htaccess), y lo guardamos en /home/httpd/html/myadmin
El punto (.htaccess y .htpasswd) delante del nombre de un fichero, convierte al fichero en oculto al hacer un listado.
En el siguiente código, le indicamos de donde tiene que leer el fichero con los usuarios y contraseñas con las que tenemos acceso a este directorio

-------Fichero: .htaccess----------

AuthUserFile /home/httpd/html/myadmin/.htpasswd
AuthGroupFile /dev/null
AuthName "PhpMyAdmin Server"
AuthType Basic

Options All
<Limit GET POST PUT>
require valid-user
</Limit>
-------Fin Fichero-------------

Como veis, este fichero hace referencia a un fichero en /home/httpd/html/myadmin/.htpasswd

Este fichero contiene los usuarios y contraseñas con las que tenemos acceso a este directorio (respetar el punto de .htpasswd)
Para generar este fichero usaremos la utilidad htpasswd, que genera un fichero de claves.
Para usarlo basta hacer:

[root@p90 myadmin]# /usr/local/apache/bin/htpasswd -c /home/httpd/html/myadmin/.htpasswd pepe
New password: (ponemos pepe como contraseña)
Re-type new password:
Adding password for user pepe
Esto es lo que saldrá en el fichero .htpasswd  pepe:ZsXDr0J0KGuEo
La opción -c lo que hace es sobrescribir cada vez que lo ejecutáis
Si queréis añadir nuevos usuarios basta hacer lo mismo sin la '-c':
[root@p90 myadmin]# htpasswd /home/httpd/html/myadmin/.htpasswd tomas

---------Fichero: .htpasswd------------

pepe:ZsXDr0J0KGuEo
-------Fin Fichero-------------

Para poder usarlo tendremos que indicar al Apache que vamos a tener un directorio protegido. Para eso simplemente basta con añadir estas líneas:

<Directory "/home/httpd/html/myadmin">
AllowOverride All
</Directory>

Una vez hecho todo esto, sólo necesitamos reiniciar el servidor Apache de la siguiente forma:

[root@p90 myadmin]# cd /etc/rc.d/init.d/
[root@p90 init.d]# ./httpd restart
Shutting down http: [ OK ]
Starting httpd: [ OK ]
Saludos
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.