Sitios habilitados con NGINX o Apache ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
06.12.2024

Sitios habilitados con NGINX o Apache

Sitios habilitados con NGINX o Apache

NGINX y Apache son los dos servidores web más utilizados del mundo. Ambos son potentes, ricos en funciones y altamente configurables, lo que los convierte en las mejores opciones para alojar sitios web. En los sistemas basados en Linux, NGINX y Apache gestionan los sitios web habilitándolos y deshabilitándolos mediante un sistema de archivos de configuración, comúnmente conocidos como sitios habilitados y sitios disponibles.

Entendiendo sites-available y sites-enabled

Tanto NGINX como Apache usan una estructura similar para la gestión de sitios web. Esta estructura separa los sitios disponibles de los habilitados, permitiendo a los administradores del sistema gestionar fácilmente qué sitios están activos.

  • sites-available: Este directorio contiene archivos de configuración para todos los sitios web que potencialmente puede servir con su servidor web. Los archivos de este directorio definen los hosts virtuales o bloques de servidores (en el caso de NGINX) y sus configuraciones. Estos sitios web no estarán activos hasta que estén habilitados.
  • sites-enabled: Este directorio contiene enlaces simbólicos a los archivos de configuración de los sitios web que están actualmente habilitados y siendo servidos por el servidor web. Sólo los sitios que han sido “habilitados” estarán activos y disponibles para los usuarios.

Gestión de sitios con Apache

1. Configuración de hosts virtuales de Apache

Apache usa hosts virtuales para servir múltiples sitios web desde un único servidor. Cada sitio web tiene su propio fichero de configuración, que especifica cómo Apache debe manejar el dominio, incluyendo directivas como la raíz del documento, logs, etc.

Ejemplo de archivo de configuración de hosts virtuales para Apache

Puede crear un archivo de configuración de host virtual en el directorio /etc/apache2/sites-available/. Por ejemplo, para configurar un sitio web llamado ejemplo.com:

sudo nano /etc/apache2/sites-available/test.oo.md.conf

Dentro del archivo, se definiría la configuración para ejemplo.com:


ServerAdmin admin@test.oo.md
ServerName (su_dominio o direccion_ip)
ServerAlias www.test.oo.md
DocumentRoot /var/www/prueba.oo.md
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combinado

*ServerName(your_domain or Ip_address)sustituye el valor de your_domain que utilices también para Ip_address.

2. Habilitar el sitio

Una vez creado el archivo de configuración del host virtual, puede habilitar el sitio usando el comando a2ensite (Apache 2 Enable Site):

sudo a2ensite prueba.oo.md.conf

Esto crea un enlace simbólico desde /etc/apache2/sites-available/test .oo.conf a /etc/apache2/sites-enabled/test.oo.md.conf, habilitando efectivamente el sitio web.

3. Recargar Apache

Después de habilitar el sitio, recargue Apache para aplicar los cambios:

sudo systemctl reload apache2

4. Desactivar el sitio

Para desactivar un sitio, puede usar el comando a2dissite (Apache 2 Disable Site):

sudo a2dissite ejemplo.com.conf

Esto elimina el enlace simbólico en el directorio sites-enabled, y el sitio ya no será servido.

Gestión de sitios con NGINX

1. Configuración del bloque de servidores NGINX

NGINX utiliza bloques de servidor, que son equivalentes a los hosts virtuales de Apache. Los archivos de configuración de bloques de servidor se colocan en el directorio /etc/nginx/sites-available/.

Ejemplo de configuración de bloques de servidor para NGINX

Para crear un archivo de configuración para ejemplo.com, ejecute:

sudo nano /etc/nginx/sitios-disponibles/prueba.oo.md

Dentro del archivo, definirías el bloque del servidor para ejemplo.com:

servidor {
listen 80;
nombre_servidor ejemplo.com www.test.oo.md;
root /var/www/prueba.oo.md;
index index.html index.htm;
access_log /var/log/nginx/test.oo.md_access.log;
error_log /var/log/nginx/test.oo.md_error.log;
location / {
try_files $uri $uri/ =404;
}
}

2. Habilitar el sitio

Para habilitar el sitio, cree un enlace simbólico en el directorio sites-enabled que apunte al archivo de configuración en sites-available. Puede hacerlo con el comando ln:

sudo ln -s /etc/nginx/sitios-disponibles/prueba.oo.md /etc/nginx/sitios-habilitados/

3. Configuración de NGINX de prueba

Antes de recargar NGINX, es una buena idea probar la configuración para asegurarse de que no hay errores de sintaxis:

sudo nginx -t

4. Recargar NGINX

Si la prueba de configuración pasa, recargue NGINX para aplicar los cambios:

sudo systemctl reload nginx

5. Desactivar el sitio

Para desactivar un sitio, elimine el enlace simbólico del directorio sites-enabled:

sudo rm /etc/nginx/sitios habilitados/prueba.oo.md

A continuación, vuelva a cargar NGINX para aplicar los cambios:

sudo systemctl reload nginx

Buenas prácticas para gestionar sitios con NGINX o Apache

  1. Organice los archivos de configuración: Cree siempre archivos de configuración independientes para cada sitio web o dominio en el directorio sites-available. Esto facilita la gestión de múltiples sitios web.
  2. Pruebe las configuraciones antes de recargarlas: Pruebe siempre su configuración con apachectl configtest (para Apache) o nginx -t (para NGINX) antes de recargar el servidor web. Esto puede ayudarle a evitar problemas que pueden romper sus sitios.
  3. Utilice el control de versiones para los archivos de configuración: Si gestiona muchos sitios web o tiene una configuración compleja, considere la posibilidad de utilizar el control de versiones (como Git) para sus archivos de configuración. Esto le permite realizar un seguimiento de los cambios y revertirlos si es necesario.
  4. Utilice HTTPS: configure siempre certificados SSL para sus sitios. Let’s Encrypt proporciona certificados SSL gratuitos y puede integrarse fácilmente con Apache o NGINX para soportar HTTPS.
  5. Monitorización y registros: Configure siempre registros de acceso y errores para cada sitio. Esto ayuda a solucionar problemas y supervisar el tráfico.

Conclusión

Tanto NGINX como Apache proporcionan potentes formas de gestionar sitios web con los directorios sites-available y sites-enabled. Esta estructura permite habilitar, deshabilitar y gestionar fácilmente múltiples sitios web desde un único servidor.

En Apache, puede utilizar comandos como a2ensite y a2dissite, mientras que en NGINX, puede crear y eliminar manualmente enlaces simbólicos para habilitar o deshabilitar sitios. Independientemente del servidor web que utilice, recuerde recargar el servidor después de realizar cambios y pruebe siempre las configuraciones antes de aplicarlas.

Siguiendo estas prácticas, tendrá una experiencia sin problemas en la gestión de múltiples sitios en su servidor web NGINX o Apache.

Avísame si necesitas más aclaraciones o ayuda

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills