Para habilitar los archivos .htaccess en Apache, vamos a modificar el archivo 000-default, para cambiar la directiva AllowOverride de None a All. Abrimos una Terminal y escribimos:
sudo gedit /etc/apache2/sites-enabled/000-default
Aparecerá en el editor de texto lo siguiente, buscar donde dice AllowOverride y sustituir según muestro en el texto:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All <--Sustituir None por All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>
Salvar los cambios y cerrar el editor.
Con eso todos los archivos .htaccess se volverán funcionales.
Restringir acceso a directorio web mediante password
Con un archivo .htaccess podemos restringir el acceso a un sitio web, pidiendo un usuario y contraseña.
Para esto vamos a crear un archivo .htaccess en el directorio que queremos proteger, abrimos una Terminal y escribimos:
sudo gedit /var/www/ruta-a-carpeta-protegida/.htaccess
posteriormente insertamos en este archivo
AuthName "INTRODUCIR USUARIO Y CONTRASEÑA" AuthType Basic AuthUserFile /var/www/RUTA-A-CARPETA-PROTEGIDA/.htpasswd require valid-user
Salvar los cambios y cerramos el editor. Ahora vamos a crear un archivo .htpasswd donde colocaremos los nombres de usuarios y password. Los paswords los vamos a encriptar con una herramienta que trae Apache. Primero generemos la lista de usuarios y passwords. Abrimos una Terminal y escribimos:
htpasswd -nb usuario contraseña
donde usuario es el nombre de usuario (ejem: pepe) que queremos y contraseña la contraseña que deseamos usar (ejem: pepepecaspicapapas)
La terminal nos dara una linea de salida parecida a
:~$ htpasswd -nb pepe pepepecaspicapapas
pepe:VmaSF0j1E7caY
Apuntamos la linea en negritas en algun sitio, respetando mayusculas y minusculas, y generamos todos los demas usuarios y contraseñas.
Ahora creamos el archivo donde guardaremos las contraseñas
sudo gedit /var/www/ruta-a-carpeta-protegida/.htpasswd
posteriormente insertamos en este archivo
pepe:VmaSF0j1E7caY
Salvar los cambios y cerramos el editor. Con eso restringimos el acceso al directorio.
Agrega un comentario