Configuración inicial del servidor

Guía de configuración del servidor Ubuntu LTS (20.04 / 24.04)

Esta guía da por hecho que estás configurando un nuevo Servidor Ubuntu LTS instancia (20.04 o 24.04) en un servidor virtual (VPS) o en un proveedor de servicios en la nube.

1. Crear un usuario «sudo» que no sea «root»

adduser tuNombreDeUsuario
usermod -aG sudo tuNombreDeUsuario

2. Obtener acceso mediante clave SSH para el nuevo usuario

Si tu proveedor de alojamiento no admite la inserción de claves SSH públicas en el momento de la creación, copia tu clave desde tu equipo local al directorio temporal raíz iniciar sesión:

ssh-copy-id ro**@**********ne.ip.000

Una vez que hayas iniciado sesión como raíz, transfiere las claves SSH al nuevo usuario:

rsync --archive --chown=tuNombreDeUsuario:tuNombreDeUsuario /root/.ssh /home/tuNombreDeUsuario

Cierra la sesión y vuelve a iniciar sesión como el nuevo usuario:

salir
ssh yo**********@**********ne.ip.000

3. Reforzar la seguridad de SSH

Una vez que hayas comprobado que puedes iniciar sesión como tuNombreDeUsuario, desactiva el acceso SSH como usuario root:

Edita la configuración del demonio SSH:

sudo nano /etc/ssh/sshd_config

Asegúrate de que la línea diga lo siguiente: PermitRootLogin no

Reiniciar SSH:

sudo service ssh restart

Importante: Mantén abierta una sesión SSH activa hasta que hayas comprobado que el inicio de sesión sin contraseña funciona para tu nuevo usuario; a continuación, prueba a establecer una nueva conexión desde otro terminal antes de cerrar la sesión de root.

4. Configura la zona horaria

sudo timedatectl set-timezone Continente/Ciudad
# Ejemplo: sudo timedatectl set-timezone Asia/Tokio

5. Configurar el FQDN

Editar /etc/hosts y sustituye la línea predeterminada y añade tu IP pública:

127.0.1.1 nombre-del-ordenador.ejemplo.com
tu.ip.000    nombre-del-ordenador.ejemplo.com nombre-del-ordenador

A continuación, configura el nombre de host del sistema:

sudo hostnamectl set-hostname nombre-del-ordenador.example.com

6. Instalar WordOps

wget -qO wo wops.cc && sudo bash wo
source /etc/bash_completion.d/wo_auto.rc
echo -e "alias wo='sudo -E wo'" >> $HOME/.bashrc

7. Instalar y configurar UFW (cortafuegos)

wo stack install --ufw
wo secure --ssh

Antes de activar UFW, asegúrate de permitir el acceso por SSH (ya gestionado por wo secure --ssh), y a continuación activa el cortafuegos:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Para configurar una lista de direcciones IP permitidas compatible con Cloudflare, consulta este otro artículo:

8. Variables de la API Cloudflare (para scripts de automatización)

export CF_Key="yourCloudflareAPIKey"
export CF_Email="yo*****************@*****le.com"

Guárdalas en ~/.bashrc o un archivo de entorno específico si tu sistema de automatización los necesita en cada inicio de sesión.

9. Activar el cron de WordPress a través del cron del sistema

Edita el archivo crontab de root:

sudo crontab -e

Añadir:

*/2 * * * * find /var/www -type f -name "wp-cron.php" -path "*/htdocs/wp-cron.php" -execdir sudo -u www-data php {} \; > /dev/null 2>&1

Asegúrate de que el cron El servicio se está ejecutando:
sudo systemctl enable --now cron

10. Herramientas diversas

Herramienta de línea de comandos # S3
sudo apt update
sudo apt install -y s3cmd
# Configurar con: s3cmd --configure

# Analizador de uso del disco
sudo apt install -y ncdu

11. Redis (caché de objetos)

Habilitar e iniciar Redis como servicio del sistema:

sudo systemctl enable redis-server.service
sudo systemctl start redis-server.service

Consúltalo con:

sudo systemctl status redis-server.service

12. Módulos de WordOps que se omiten por defecto

  • Nginx: el mejor bloqueador de bots maliciosos: Es una herramienta estupenda, pero resulta innecesaria si ya utilizas el WAF y la limitación de tráfico de Cloudflare.

13. Pasos finales y próximas guías

Sigue las guías específicas para completar la pila (en esos artículos se explican los motivos de cada elección y se ofrecen alternativas).

Una vez completados estos pasos, tu servidor Ubuntu LTS contará con:

  • Un usuario «sudo» seguro que no sea «root» y que tenga acceso mediante clave SSH
  • Inicio de sesión como usuario «root» desactivado a través de SSH
  • FQDN y zona horaria correctos
  • Integración de WordOps + UFW + Cloudflare
  • WP-Cron a nivel del sistema, Redis y herramientas de administración habituales

Ya estás listo para crear sitios web de WordPress con wo site create example.com --wpfc (u otras opciones de pila) y reforzar la seguridad de cada sitio web por separado.

¿Te ha resultado útil esta página?

Deja una respuesta

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