Si estamos desarrollando una web y no queremos que sea accesible por otras personas o queremos que solo puedan acceder a un directorio determinadas personas, podemos poner una contraseña de acceso.
Primero tenemos que editar nuestro fichero de configuración de apache (apache2.conf, httpd.conf o el del servidor virtual). Buscamos el fragmento de código donde se hace referencia a nuestro directorio local y cambiamos el parámetro AllowOverride None por AllowOverride All.
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
Reiniciamos Apache (/etc/init.d/httpd restart), y creamos el archivo .htaccess con el siguiente contenido en el directorio que queramos proteger.
AuthType Basic
AuthName privado
AuthUserFile /etc/.htpasswd
Require user miusuario
El parámetro Require user, indica que usuario o usuarios (separados por espacios) van a tener acceso al directorio.
Para crear el fichero de contraseñas, ejecutamos el siguiente comando:
htpasswd -c /etc/.htpasswd miusuario
Y nos pedirá que introduzcamos la contraseña. A partir de ahora, cada vez que vayamos a acceder a ese directorio de la web, nos pedirá autentificación mediante nuestro usuario y contraseña.