GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo habilitar y configurar el archivo .htaccess en Apache

¿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:

  1. Permitir solo direcciones IP específicas.
  2. Bloquear direcciones IP específicas.
  3. 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&gt;

</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.


Ubuntu
  1. Cómo configurar la autenticación básica en Apache usando .htaccess

  2. ¿Cómo habilitar ExecCGI a través del archivo .htaccess?

  3. ¿Cómo habilito la indexación de archivos y directorios de Apache en Linux o UNIX?

  4. ¿Cómo habilitar el registro de error-log.txt usando el archivo .htaccess?

  5. ¿Cómo configurar un archivo como NO ejecutable?

Cómo configurar NFS Share en Ubuntu 20.04, 18.04

Cómo configurar WordPress multisitio con Apache Web Server en Ubuntu

Cómo habilitar la compresión de Brotli en Apache

Cómo habilitar HTTP/2 en Apache en Ubuntu

¿Cómo configurar la página de índice desde cPanel a través de .htaccess?

Cómo configurar un contenedor Apache Docker