¿Qué es un archivo htaccess?
El .htaccess archivo en Apache es una herramienta que permite configuraciones a nivel de directorio y subdirectorio. Usando .htaccess le permite configurar los permisos del sitio web sin alterar los archivos de configuración del servidor.
Este tutorial le mostrará cómo configurar y habilitar htaccess en apache. Además, instruye sobre cómo restringir el acceso a localizaciones específicas en el servidor, administrar direcciones IP y redirigir el tráfico.
Requisitos previos
- Un servidor web Apache en funcionamiento
- Acceso a una ventana de terminal/línea de comando
- Acceso a una cuenta de usuario con privilegios sudo
- Un editor de texto, como N ano , incluido por defecto
Paso 1:habilite Apache .htaccess
De forma predeterminada, el .htaccess el archivo no está habilitado.
1. Abra el archivo de configuración de host predeterminado ingresando el siguiente comando en la terminal:
sudo nano /etc/apache2/sites-available/default
2. Localice la sección denominada
En esa sección, cambie AllowOverride None
entrada a todos:
Permitir anular todo
Guarde el archivo y salir.
3. A continuación, reiniciar el servicio Apache:
sudo systemctl apache2 restart
Paso 2:Crear archivo .htaccess
Como la mayoría de los paquetes de software de Linux, Apache funciona en archivos de configuración. El .htaccess El archivo es uno de estos. Funciona especificando una configuración junto con un valor.
Para crear y abrir el .htaccess archivo para editar, ingrese:
sudo nano /var/www/my_website.com/.htaccess
Reemplazar mi_sitio web con el nombre de su sitio web real. Si este archivo no existe, su editor de texto lo creará.
Paso 3:Restringir las listas de directorios
Puede haber ubicaciones en su servidor a las que desee restringir el acceso. Puede hacerlo creando una lista de nombres de usuario y contraseñas que están autorizados a tener acceso.
1. Comienza creando un nuevo archivo, .htpasswd en un directorio diferente:
sudo nano /user/safe_location/.htpasswd
Introduzca un nombre de usuario y una contraseña para cada usuario que desee crear. Asegúrese de utilizar contraseñas seguras e ingrese solo un par de nombre de usuario/contraseña por línea.
Guarde el archivo y salga.
2. A continuación, edite .htaccess para habilitar autenticación :
AuthUserFile /user/safe_location/.htpasswd
AuthGroupFile /dev/null
AuthName "Please Enter Password"
AuthType Basic
Require valid-user
Reemplace /usuario/ubicación_segura/htpasswd con la ubicación de su elección. No lo almacene en el mismo directorio que su contenido web, por razones de seguridad.
AuthUserFile
- Esto establece la ubicación de su archivo .htpasswd.
AuthGroupFile
- No estamos usando un grupo, así que esto es un marcador de posición.
AuthName
- Este es el mensaje para el usuario; puede reformularlo si lo desea.
AuthType
- Tipo de autenticación utilizada:no cambie esto.
Require valid-user
– Permite que cualquiera de varias personas autorizadas inicie sesión. Puede cambiar esto a Requerir usuario nuevo_usuario para restringir el acceso solo a alguien con el nombre de usuario nuevo_usuario .
Administrar direcciones IP
Hay muchas maneras de administrar las direcciones IP:
- Permitir solo direcciones IP específicas.
- Bloquear direcciones IP específicas.
- Bloquear visitantes por referencia.
Permitir direcciones IP
Para permitir direcciones IP, puede cambiar el comportamiento para permitir algunas direcciones IP designadas y bloquear el resto.
Introduzca los comandos:
order deny, allow
allow from 192.168.0.54
allow from 192.168.0
Bloquear direcciones IP
Para bloquear direcciones IP en htaccess , ingrese:order allow, deny
Para bloquear una sola dirección IP, ingrese este código a continuación:deny from 192.168.0.54
Si omite el dígito final, bloqueará todas las direcciones IP en el rango de 0 a 255:
Por ejemplo:deny from 192.168.0
Bloquear visitantes por referencia
Es posible que desee evitar que las personas sean redirigidas desde un sitio específico a su servidor. Esto puede ser útil si desea aislar los patrones de tráfico. También podría usarlo si estuviera recibiendo un exceso de tráfico del servidor de una fuente cuestionable.
Abra el .htaccess archivo y agregue el siguiente bloque:
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} blockeddomain\.com [NC]
RewriteRule .* - [F]
El NC
La opción indica ignorar las mayúsculas o minúsculas para que la regla no se pueda omitir ingresando BlockedDomain.com .
Si desea agregar más dominios, tenga en cuenta lo siguiente:
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} blockeddomain\.com [NC,OR]
RewriteCond %{HTTP_REFERER} blockeddomain2\.com
RewriteRule .* - [F]
El OR
flag le dice al sistema que aún no ha terminado de agregar referencias bloqueadas. Omita esta opción en la última entrada.
Redireccionar tráfico
Puede usar el .htaccess archivo para redirigir el tráfico.
Abra el archivo e ingrese lo siguiente:
Redirect301/Other_Website.com/index.html/My_Website.com/index.html
Este comando toma cualquier tráfico que busque Otro_sitio_web.com y lo redirige a My_Website.com .
Establecer una página 404
Puede usar el .htaccess archivo para señalar funciones básicas a una nueva ubicación. Un ejemplo es la página 404 .
1. Abra el .htaccess archivo e ingrese:
ErrorDocument 404 /404.html
Esta línea le dice al sistema que busque en el directorio de contenido del sitio web un /404.html archivo como página de error.
2. Cree la página 404 usando este comando:
sudo nano cd /var/www/My_Website.com/public.html/404.html
Esto debería abrir el 404.htm l archivo en su editor de texto.
3. A continuación, agregue el siguiente código:
<!doctype html>
<html>
<body>
404 Error: Page not found
</body>
</html>
Esta página ahora se puede personalizar para mostrar cualquier tipo de mensaje de error que desee. También puede personalizar cualquier otra página de error que desee. Simplemente especifique el ErrorDocument número, por ejemplo, Error 500 que el punto .htaccess al nuevo error.html archivo que creas.