Instalar y configurar servidor web Linux desde 0: Guía Paso a Paso

Configurar servidor web Linux

En esta guía completa aprenderemos a instalar y configurar servidor web Linux desde cero. Esta tarea puede parecer intimidante al principio, pero con un enfoque estructurado, el proceso se vuelve mucho más sencillo. Para ello, exploraremos los pasos esenciales para instalar, asegurar y preparar tu servidor Linux como un servidor web funcional y seguro.


1. Preparativos para instalar y configurar servidor web

Antes de comenzar, asegúrate de contar con lo siguiente:

Distribución de Linux

Elige una distribución adecuada según tus necesidades:

  • Ubuntu Server: Ideal para principiantes gracias a su facilidad de uso.
  • Debian: Estable y minimalista. Perfecta para quienes buscan robustez.
  • CentOS/AlmaLinux: Focalizada en entornos empresariales, basada en Red Hat.

Acceso al Servidor

  • Servidor local: Necesitarás una máquina física.
  • Servidor remoto: Asegúrate de tener credenciales SSH para acceder.

Conexión a Internet

Una conexión estable es clave para instalar actualizaciones y paquetes adicionales.


2. Instalación del Sistema Operativo

Paso 1: Descarga de la ISO

Visita el sitio oficial de la distribución elegida y descarga la versión para servidores.

Paso 2: Crear un Medio de Instalación

Utiliza herramientas como Rufus (Windows) o dd (Linux/Mac) para crear un USB booteable.

Paso 3: Configuración de BIOS/UEFI

Cambia el orden de arranque para iniciar desde el USB.

Paso 4: Instala Linux

  • Sigue las instrucciones del instalador.
  • Configura un usuario administrador (root o sudo).
  • Selecciona software opcional como servidores SSH o bases de datos.

3. Configuración Inicial del Servidor Web

3.1 Actualiza el Sistema

Después de la instalación, mantén tu servidor actualizado:

sudo apt update && sudo apt upgrade -y   # Debian/Ubuntu
sudo dnf update -y                      # Red Hat/CentOS

3.2 Configura el Acceso SSH

Asegúrate de que el servidor SSH esté instalado y activo:

sudo apt install openssh-server       # Debian/Ubuntu
sudo dnf install openssh-server       # Red Hat/CentOS
sudo systemctl enable ssh
sudo systemctl start ssh

Cambia el puerto predeterminado(opcional):

  • Edita el archivo de configuración:
sudo nano /etc/ssh/sshd_config
  • Cambia el puerto 22 por otro, por ejemplo
Port 2222
  • Reinicia el servicio:
sudo systemctl restart ssh

4. Configuración de Seguridad

4.1 Configura el Firewall

Instala un firewall y establece reglas básicas:

sudo apt install ufw        # Debian/Ubuntu
sudo dnf install firewalld  # Red Hat/CentOS
Permite el acceso necesario:
sudo ufw allow 2222/tcp     # Puerto SSH
sudo ufw allow http         # Tráfico HTTP
sudo ufw allow https        # Tráfico HTTPS
sudo ufw enable             # Activa el firewall

4.2 Crea un Usuario No-Root

Evita usar la cuenta root directamente. Crea un usuario con privilegios de administrador:

sudo adduser nuevo_usuario
sudo usermod -aG sudo nuevo_usuario

4.3 Instala Fail2Ban

Protege tu servidor contra ataques de fuerza bruta:

sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

5. Preparar el Servidor Web para su Uso

5.1 Configura un Servidor Web

Instala y activa un servidor web:

sudo apt install apache2       # Debian/Ubuntu
sudo dnf install httpd         # Red Hat/CentOS
sudo systemctl enable apache2
sudo systemctl start apache2
sudo systemctl status apache2

5.2 Configura Bases de Datos

Instala un sistema de bases de datos como MySQL o MariaDB:

sudo apt install mysql-server      # Debian/Ubuntu
sudo dnf install mariadb-server    # Red Hat/CentOS
Asegura la instalación:
sudo mysql_secure_installation

5.3 Configura un Dominio o SSL

Configura un dominio apuntando a la IP del servidor e instala certificados SSL gratuitos con Certbot:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx

6. Monitoreo y Mantenimiento

Herramientas de Monitoreo

Usa herramientas como:

  • htop/top: Monitorea el uso de recursos.
  • vnstat: Monitorea el uso de red.

Configura Copias de Seguridad

Utiliza herramientas como rsync o soluciones automatizadas como Duplicity para respaldar datos.

Plantear utilizar algún script en Bash para automatizar tareas como gestión de backup, análisis de logs…

Automatiza Tareas con Cron

Crea tareas automatizadas editando el archivo crontab:

sudo crontab -e

Para instalar y configurar servidor web con esta simple guía podrás hacerlo.

1 comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *