noticias
Serverspace Tecnologías en los Emiratos Árabes Unidos: lanzamiento de Falconcloud
RF
27 de Julio de 2023
Actualizado agosto 1, 2023

¿Cómo crear y personalizar .htaccess?

Redes Ubuntu Servidor web

Introducción

No podemos imaginar el mundo moderno sin el mercado en línea, la tienda, el motor de búsqueda, los mensajeros y todos los componentes preciosos de WEB, que nos permitieron comunicarnos más rápido. Pero las nuevas características también nos traen nuevas vulnerabilidades y detalles que necesitamos para continuar y rapireaccionar lentamente. Para esas opciones, necesitamos un panel único para el servidor de control. .htaccess!

Configurar servidores web a través de archivos de configuración es una práctica común y cómoda por varias razones:

  • Flexibilidad: los archivos de configuración permiten a los administradores del servidor web ajustar la configuración del servidor para que coincida con los requisitos específicos de su sitio web o aplicación. Varios paramLos parámetros se pueden ajustar, como el comportamiento del servidor, la configuración de seguridad, los hosts virtuales y las configuraciones de los módulos.
  • Facilidad de uso: los archivos de configuración generalmente se escriben en un formato legible por humanos, lo que facilita que los administradores comprendan y modifiquen la configuración. Esta simplicidad permite ajustes y actualizaciones rápidos sin necesidad de una interfaz de usuario compleja.
  • Control de versiones: los archivos de configuración se pueden controlar mediante herramientas como Git, lo que facilita el seguimiento de los cambios, la colaboración con un equipo y la reversión a configuraciones anteriores si es necesario.
  • Portabilidad: los archivos de configuración se pueden mover entre diferentes entornos de servidor, lo que facilita la implementación de un sitio web o una aplicación en nuevos servidores con la misma configuración.
  • Automatización: Los archivos de configuración se pueden modificar o generar programautomáticamente, lo que permite la automatización de la configuración y el mantenimiento del servidor. Esto es especialmente útil cuando se trabaja con varios servidores o cuando se implementan sitios en un entorno de nube.
  • Seguridad: mantener los ajustes de configuración separados del código de la aplicación mejora la seguridad. Si el código de la aplicación se ve comprometido, la configuración confidencial del servidor permanece protegida en los archivos de configuración.
  • Eficiencia: los servidores web pueden leer y analizar rápidamente los archivos de configuración durante el inicio, lo que hace que el proceso de aplicación de cambios sea eficiente y rápido.
  • Granularidad: los archivos de configuración permiten a los administradores controlar varios aspectos del servidor por separado. Por ejemplo, pueden configurar ajustes específicos para diferentes hosts virtuales, directorios o rutas de URL.
  • Estandarización: muchos servidores web utilizan formatos de archivo de configuración comunes, como Apache's .htaccess o Nginx's nginx.conf, lo que permite a los administradores aplicar su conocimiento y experiencia en diferentes configuraciones de servidor.

En general, los archivos de configuración brindan una forma directa y efectiva de administrar servidores web, otorgando a los administradores control y opciones de personalización para optimizar el rendimiento y la seguridad del servidor para satisfacer sus necesidades específicas.



Requisitos

  • derechos de raíz;
  • Ubuntu 20.04 o versión superior;
  • Varios conocimientos sobre el sistema operativo de trabajo;
  • Apache Servidor web.

Instalación:

En primer lugar, los pasos de esta guía comienzan con la actualización y actualización de todo el sistema, para eso escriba en el CLI comando a continuación:

apt update && apt upgrade -y
Update OS
Captura de pantalla №1: actualizar el sistema operativo

Si ya tienes un Apache webserver, puede omitir ese paso de instalación y continuar, pero si no prepara un servidor, ingrese el comando a continuación y asegúrese de que necesita el paquete:

apt list | grep apache2
Package list
Captura de pantalla №2 — Lista de paquetes

Después de eso, si encontramos nuestro paquete como en la imagen de arriba, instalamos el servidor web, se ejecuta automáticamente e inicia su servicio:

apt install apache2
Installation apache2
Captura de pantalla №3 — Instalación apache2

Después de instalar Apache2, se iniciará automáticamente y sus archivos de configuración se ubicarán en diferentes lugares según su sistema operativo. En ese servidor web que usamos httpd.conf (o apache2.conf en algunos sistemas) archivo de configuración para configurar pa globalraméteres. Recordatorio! Htaccess que usamos para anular algunas reglas de proceder cliconsulta ent y optimizar la respuesta de nuestro servidor.

Es crucial asegurarse de que su servidor web permita el uso de archivos .htaccess. Para lograr esto, verifique que la directiva AllowOverride esté habilitada en el directorio principal. Apache2 archivo de configuración (httpd.conf o apache2.conf). Valor de cambio Permitir sobrescritura a Todos:

nano ./etc/apache2/apache2.conf
Change value
Captura de pantalla №4 — Cambiar valor

Si no puede encontrar el directorio necesario, use el siguiente comando:

cd / && find ./ -name apache2.conf && find ./ -name httpd.conf
Find config
Captura de pantalla №5 — Buscar configuración

Al habilitar AllowOverride, otorga al servidor la capacidad de interpretar las directivas especificadas en los archivos .htaccess ubicados en los directorios de su sitio web. Esto permite configuraciones más flexibles y personalizadas a nivel de directorio, mejorando la funcionalidad general y la seguridad de su servidor web.

En la jerarquía de configuración de ajustes predeterminados:

Hierarchy of files
Captura de pantalla №6 — Jerarquía de archivos

El arreglo de Apache Los archivos pueden variar según el sistema operativo y el método de instalación. Sin embargo, a continuación se muestra la organización general comúnmente utilizada en la mayoría de las instalaciones:

  • apache2.conf: Este archivo sirve como el centro Apache archivo de configuración, que contiene la configuración global y define el servidor paraméteres.
  • puertos.conf: Un archivo de configuración esencial responsable de especificar los puertos en los que escucha el servidor.
  • sitios-disponibles/: Este directorio contiene archivos de configuración para cada host virtual. Aquí, puede configurar diferentes configuraciones de host. Las configuraciones de host habilitadas se vinculan simbólicamente desde el directorio "sites-enabled/".
  • mods-disponible/: Dentro de este directorio, descubrirá archivos de configuración para varios Apache módulos, lo que le permite administrar y habilitar/deshabilitar funcionalidades específicas.
  • habilitado para mods/: Comprende enlaces simbólicos que se conectan a los módulos activados desde el directorio "mods-disponible/", habilitando los módulos para Apache's uso.
  • conf-disponible/: Este directorio alberga archivos de configuración adicionales, lo que le brinda la flexibilidad de ampliar y personalizar ApacheConfiguración de.
  • habilitado para conf/: En este directorio, encontrará enlaces simbólicos a las configuraciones adicionales activadas desde el directorio "conf-disponible/". Le permite incorporar configuraciones adicionales sin modificar los archivos de configuración principales.

Ahora podemos configurar el archivo htaccess, que anula la extensión para nuestra configuración actual. Todos los cambios y valores de ese archivo afectarán la configuración en el resultado. Demostremos cómo funciona eso en la configuración ordinaria.

Al principio, debe habilitar la función de anulación e indicar DocumentRoot en la configuración de host virtual para que ingrese CLI:

mkdir /etc/site-for-test
nano /etc/apache2/sites-available/000-default.conf
Virtual host config
Captura de pantalla n.º 7: configuración del host virtual

cambiar paramIntroduzca ServerName para su propio dominio y AllowOverride para valorar Todo. ¡Recordatorio! Necesitas tener en el DNS registro de acuerdo de control del panel, que indica IP pública de su servidor! Cambie DocumentRoot para su directorio de trabajo con páginas y archivos del sitio necesario. En ese caso, creamos un directorio de sitio para prueba. A continuación, cree su primera página simple o, si utiliza su propio sitio web, omita este paso:

nano /etc/site-for-test/index.html
Firts page
Captura de pantalla №8 — Primera página
<! DOCTYPE html>
<html>
<head>
<title>TEST</title>
</head>
<body>
<h1>Hi, that test htaccess file!</h1>
</body>
</html>

El contenido de tu página puede estar con otra configuración y estructura, pero se ha guardado el sentido. Vamos a crear en la misma carpeta el archivo .htaccess que crea una cadena lógica entre html y la acción del usuario. Crea un archivo:

nano /etc/site-for-test/.htaccess
RewriteEngine On
RewriteRule "hello$ index.html [L]
Override config
Captura de pantalla n.º 9: anular la configuración

Esa configuración por la sintaxis RewriteEngine On habilite la reescritura del módulo en el servidor y en la siguiente regla de reconstrucción sin procesar que literalmente se asignó con la página html y el atributo [L] significa que se ignorará la última regla para ejecutar y seguir instrucciones. Para que funcione correctamente, necesitamos habilitar el módulo de reescritura que incluye a apache2 paquete y reiniciar el servicio:

sudo a2enmod rewrite && systemctl restart apache2
Additional step
Captura de pantalla №10 — Paso adicional

Veamos el resultado de nuestras acciones:

Main page
Captura de pantalla №11 — Página principal

Compruebe la URL de nuestro sitio:

URL page
Captura de pantalla n.º 12: página URL

Control de acceso

Considere el ejemplo popular del uso de .htaccess. ¡El archivo .htaccess sirve como una poderosa herramienta de configuración que puede controlar el acceso a los archivos, carpetas y directorios completos de sus sitios web!

Ordenar: Este comando determina la secuencia en la que se ejecutan las directivas. Establece la precedencia de las directivas posteriores, independientemente de su disposición dentro del expediente.

Denegar: Al usar esta directiva, puede prohibir el acceso a un directorio en particular desde direcciones específicas o direcciones IP.

Permitir: Por el contrario, esta directiva permite el acceso al directorio únicamente desde las direcciones o direcciones IP especificadas.

Al emplear estos comandos, puede adaptar fácilmente el acceso a recursos específicos en su servidor web. Por ejemplo, puede utilizar .htaccess para restringir el acceso a información confidencial dentro de un diseño.nated folder o otorgar acceso exclusivamente a direcciones IP específicas, mejorando así la seguridad y ejerciendo control sobre los recursos de su sitio web. Abra el archivo .htaccess que creamos antes e ingrese esa configuración adicional a la sintaxis anterior.

Order allow,deny
Allow 95.141.86.46

Esa configuración determina el proceso de acceso a la carpeta en el servidor, por lo tanto permite el acceso exclusivamente para nuestra IP. ¡Necesita cambiar ese valor a su dirección de red! En el resultado, podemos ver el indicador Prohibido para iniciar sesión en el sitio desde otra dirección IP:

Forbidden
Captura de pantalla n.º 13 — Prohibido

Los índices restringen

Para mejorar la seguridad, puede evitar el listado de directorios en Apache Servidor web. De forma predeterminada, si no se encuentra ningún archivo index.html o especificado en un directorio, Apache muestra una lista de todos los archivos presentes en ese directorio. Para deshabilitar esta función y restringir la lista de directorios, aplique la siguiente configuración:

Options -Indexes

No encontrado — 404

Para redirigir a los visitantes a una página 404 (la página "No encontrada") cuando falta la página solicitada, puede implementar el siguiente código:

nano /etc/site-for-test/error404.html

Introduzca el siguiente contenido en el archivo:

<!DOCTYPE html>
<html>
<head>
<title>Page Not Found - 404 Error</title>
</head>
<h1>
<body>404 Page not found!</body>
</h1>
</html>

Luego agregue a una configuración .htaccess y termine la configuración:

ErrorDocument 404 /error404.html
Not found
Captura de pantalla n.º 14 — No encontrado

Redirección

Cree una página html como consideramos en el paso anterior y cree un archivo de destino para redirigir:

nano /etc/site-for-test/targeturl.html

Para lograr la redirección de "/hello" a "/target" con una redirección 301 (permanente), puede usar la siguiente regla de reescritura en su archivo .htaccess:

RewriteRule ^hello$ /target [R=301,L]
RewriteRule ^hello$ index.html
RewriteRule ^target$ targeturl.html

RewriteEngine On: Esto activa RewriteEngine, lo que permite el uso de reglas de reescritura en el archivo .htaccess.

RewriteRule ^hello$ /target [R=301,L]: esta regla hace coincidir las solicitudes con "/hello" (el "^" indica el inicio y "$" indica el final de la URL) y las redirige a "/target" utilizando una redirección 301 (permanente). El indicador "R=301" indica una redirección permanente y el indicador "L" indica que esta es la última regla que se ejecutará.

Con esta configuración, cualquier solicitud a "/hola" se redirigirá a "/objetivo" con un código de estado 301, lo que significa que será una redirección permanente. Otras reglas presentes en el archivo .htaccess después de esta no se ejecutarán debido al indicador "L".

Redirection
Captura de pantalla n.º 15 — Redirección

Conclusión

El archivo .htaccess es una poderosa herramienta para controlar el acceso a los recursos en un servidor web. Ofrece a los administradores web la capacidad de definir el orden de ejecución de las directivas, bloquear el acceso desde direcciones IP o direcciones específicas mediante la directiva "Denegar" y otorgar acceso solo a ubicaciones específicas con la directiva "Permitir". Esto brinda a los administradores la flexibilidad de personalizar el control de acceso, lo que garantiza la seguridad y el control preciso de los recursos del servidor.

Además, el archivo .htaccess también sirve para otros propósitos importantes. Puede administrar índices, evitando listados de directorios y, por lo tanto, mejorando la seguridad al no exponer archivos confidenciales. Además, puede manejar errores 404 (No encontrado), lo que permite a los administradores redirigir a los visitantes a una página de error personalizada cuando falta una página solicitada o no está disponible.

Además, la directiva "RewriteRule" dentro del archivo .htaccess habilita poderosas capacidades de redirección. Los administradores web pueden usar esta directiva para realizar redirecciones de URL, dirigiendo a los visitantes de una URL a otra. Esto puede ser útil para crear URL fáciles de usar, implementar redireccionamientos permanentes o temporales o administrar cambios en la estructura del sitio web.

En resumen, el archivo .htaccess es una herramienta versátil e indispensable para la configuración del servidor web. Brinda control sobre el acceso, la seguridad, el manejo de errores y la redirección de URL, lo que lo convierte en un componente esencial para optimizar y personalizar un servidor web para cumplir con los requisitos específicos de sitios web o aplicaciones.

Votar:
5 de 5
Calificación promedio: 5
Calificado por: 1
1101 CT Ámsterdam Países Bajos, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300

También te podría interesar...

Utilizamos cookies para hacer que su experiencia en el Serverspace mejor. Al continuar navegando en nuestro sitio web, usted acepta nuestros
Uso de Cookies y Política de Privacidad.