Hemos preparado un resumen en video del capítulo a continuación y un pódcast con información a mayor detalle para poder agilizar tu aprendizaje, ambos creados con NotebookLM.
¿Recuerdas que hablamos de los Servidores Administrados y No Administrados? Este capítulo es tu mapa para poner en marcha un VPS o un Servidor Dedicado No Administrado desde cero. Aunque un servicio administrado te permite enfocarte en tu negocio, conocer el proceso de preparación de un servidor es una habilidad invaluable.
Te da un panorama completo del servicio que ofreces y te prepara para resolver problemas complejos. Vamos a transformar un servidor «limpio» en un entorno robusto, seguro y listo para ofrecer Web Hosting de calidad profesional. Usaremos la línea de comandos, que puede parecer intimidante al principio, pero con esta guía, te sentirás cómodo y en control en pocos minutos.
¿Dónde conseguir mi servidor para hacer pruebas?
Existen cientos de proveedores para elegir un VPS o un servidor dedicado para hacer los ejercicios de este capítulo; sin embargo, para elegir de la mejor manera puedes visitar https://hostadvice.com, un directorio con evaluaciones de los mejores proveedores de web hosting.
Adicionalmente, también en WebHostingyDominios.com, tenemos VPS y servidores dedicados para que puedas realizar las prácticas de este capítulo, contáctanos para ofrecerte un precio especial, recuerda que para este capítulo vamos a ocupar un servidor o vps no administrado porque el objetivo es aprender a hacer la configuración.
Lo que aprenderás en esta guía:
- Preparar y asegurar un servidor Linux antes de cualquier instalación.
- Instalar y configurar cPanel & WHM de forma profesional.
- Configurar los servicios esenciales como DNS y SSL.
- Crear tus primeros paquetes y cuentas de hosting.
- Resolver los problemas más comunes de la instalación.
Pasos a Seguir
- Acceso Inicial: Conectarnos al servidor por primera vez.
- Blindaje del Servidor: Crear un usuario administrador y deshabilitar el acceso root.
- Puesta a Punto: Actualizar el sistema y configurar el nombre del servidor (hostname).
- Instalación de cPanel/WHM: Ejecutar el script de instalación.
- Configuración en WHM: Usar el asistente inicial y revisar ajustes clave.
- Configuración DNS: Registrar nameservers privados (Glue Records).
- Creación de Paquetes y Cuentas: Preparar el entorno para clientes.
- Activación de SSL: Asegurar los sitios con certificados gratuitos.
- Verificación y Resolución de Problemas: Comprobar que todo funcione y saber qué hacer si algo falla.
Nota sobre los ejemplos: A lo largo de esta guía usaremos el dominio webhostingydominios.com y la IP de ejemplo 64.91.240.76. Recuerda siempre reemplazar estos datos con tu propio nombre de dominio y la dirección IP de tu servidor.
1. Preparación y Acceso Inicial
El primer paso es elegir el sistema operativo correcto. cPanel funciona sobre Linux, y estas son las distribuciones recomendadas:
- AlmaLinux (8.x o 9.x): La opción principal recomendada por cPanel.
- Rocky Linux (8.x o 9.x): Una alternativa sólida y muy compatible.
- Ubuntu LTS (20.04 o 22.04): Una opción popular con excelente soporte.
Importante: Al contratar tu servidor, solicita siempre una instalación mínima («minimal»). Esto reduce la posibilidad de ataque, mejora el rendimiento al no tener software innecesario y aumenta la estabilidad general.
Tu Primera Conexión Segura (SSH)
Una vez que tu proveedor te entregue la IP, el usuario (root) y la contraseña, te conectarás usando SSH (Secure Shell). SSH crea un túnel cifrado para administrar tu servidor de forma remota y segura.
Herramientas para conectar vía SSH:
- Windows: Usa Windows PowerShell (integrado en Windows 10/11) o descarga el cliente PuTTY. En PowerShell, el comando es:
ssh root@64.91.240.76
- macOS y Linux: Usa la aplicación Terminal que viene preinstalada. El comando es:
ssh root@64.91.240.76
Al conectarte por primera vez, te pedirá confirmar la autenticidad del host. Escribe yes y presiona Enter. Luego, introduce la contraseña de root. Cuando escribes o pegas la contraseña, parecerá que no has capturado ningun dato, presiona enter y la terminal iniciará la conexión.
2. Protección Inicial del Servidor
Advertencia Crítica: Antes de instalar cualquier cosa, debes asegurar tu servidor. Omitir estos pasos es como dejar la puerta de tu casa abierta.
Paso 1: Crear un Usuario Administrador
Nunca debes trabajar directamente como root de forma diaria. Crearemos un nuevo usuario y le daremos privilegios de administrador (sudo).
Crea el nuevo usuario (reemplaza adminuser con el nombre que prefieras):
adduser adminuser
Establece una contraseña segura para este nuevo usuario:
passwd adminuser
Dale privilegios de super user (para AlmaLinux/Rocky):
usermod -aG wheel adminuser
(Para Ubuntu):
usermod -aG sudo adminuser
Paso 2: Configurar Acceso por Llaves SSH (Más seguro que contraseñas)
Las llaves SSH son un par de archivos criptográficos que te autentican sin necesidad de contraseña. En tu computadora local (tu PC o Mac), genera tu par de llaves si no tienes uno. Este comando crea los archivos necesarios en tu máquina.
ssh-keygen -t rsa -b 4096
El sistema te preguntará dónde guardar la llave y si quieres ponerle una contraseña (passphrase). Para simplificar, puedes presionar Enter en todas las preguntas para aceptar los valores por defecto y no usar passphrase.
Copia tu llave pública al servidor, también desde tu computadora local:
ssh-copy-id adminuser@64.91.240.76
Se te pedirá la contraseña del usuario adminuser que creaste en el servidor. Escríbela para autorizar la copia.
Solución de Problemas Comunes con Llaves SSH:
- Si recibes el error ERROR: No identities found: Significa que el comando del paso 1 (ssh-keygen) no se ejecutó o no se completó en tu computadora local. Asegúrate de ejecutarlo primero en la terminal de tu PC o Mac.
- Si te dice Permission denied al introducir la contraseña: La contraseña del usuario adminuser es incorrecta. Conéctate al servidor como root y restablécela con el comando passwd adminuser.
Importante: Ambos comandos, ssh-keygen y ssh-copy-id, siempre se ejecutan desde tu computadora local, nunca desde dentro del servidor al que te conectaste.
Verifica la conexión. Ahora, intenta iniciar sesión. Si todo salió bien, no debería pedirte contraseña:
ssh adminuser@64.91.240.76
Paso 3: Deshabilitar el Login de root y el acceso por contraseña
Inicia sesión en tu servidor con tu nuevo usuario (adminuser). Edita el archivo de configuración de SSH con nano.
sudo nano /etc/ssh/sshd_config
Usando nano: Las combinaciones de teclado se muestran en la parte inferior. ^ significa la tecla Ctrl. Por ejemplo, Ctrl + O para guardar y Ctrl + X para salir. Esto funciona igual en Windows y macOS (usando la tecla Control, no Command).
Busca y modifica las siguientes líneas:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Guarda el archivo (Ctrl + O, Enter) y sal de nano (Ctrl + X). Reinicia el servicio SSH para aplicar los cambios:
sudo systemctl restart sshd
Importante: Antes de desconectarte, abre una nueva ventana de terminal y asegúrate de que puedes iniciar sesión con tu nuevo usuario (adminuser). Si no puedes, algo salió mal y debes revisar el archivo sshd_config antes de cerrar tu sesión actual.
Checklist:
- ¿Creaste un usuario sudo?
- ¿Configuraste el acceso por llaves SSH?
- ¿Probaste que puedes iniciar sesión con el nuevo usuario sin contraseña?
- ¿Deshabilitaste el login de root y el acceso por contraseña en SSH?
3. Configuración del entorno
Con el servidor asegurado, ahora lo preparamos para cPanel.
Actualización del Sistema y Herramientas
Actualiza todos los paquetes. Desde ahora, usa sudo antes de cada comando.
Para AlmaLinux/Rocky:
sudo yum update -y
Para Ubuntu:
sudo apt update && sudo apt upgrade -y
Instala herramientas útiles:
Para AlmaLinux/Rocky:
sudo yum install -y nano wget curl tmux net-tools
Para Ubuntu:
sudo apt install -y nano wget curl tmux net-tools
Configuración del Hostname
El hostname debe ser un nombre de dominio calificado (FQDN) por ejemplo: servidor1.webhostingydominios.com. Esto es vital para que los correos electrónicos no sean marcados como spam.
Establece el hostname:
hostnamectl set-hostname server1.webhostingydominios.com
Luego, puedes verificar que el cambio se haya aplicado con:
hostnamectl
Verificación de Resolvers DNS
Verifica que tienes resolvers DNS configurados:
cat /etc/resolv.conf
Esto mostrará el contenido del archivo directamente en tu terminal. En muchos sistemas Linux, el archivo /etc/resolv.conf no está pensado para ser editado, suele ser administrado automáticamente por servicios de red como NetworkManager o systemd-resolved. Si lo editas directamente, tus cambios podrían ser temporales y sobrescribirse después de un reinicio. Por lo general, es mejor dejar que el sistema operativo o WHM (una vez instalado) se encarguen de la configuración de los resolvers.
Un ejemplo del contenido de /etc/resolv.conf podría ser:
# Generated by NetworkManager
search webhostingydominios.com
nameserver 8.8.8.8
nameserver 8.8.4.4
Aquí, nameserver 8.8.8.8 y nameserver 8.8.4.4 son las direcciones de los resolvers DNS. La línea search webhostingydominios.com es opcional y ayuda a resolver nombres cortos dentro de ese dominio, puedes probarlo haciendo: ping google.com
. Si recibes respuesta, ¡estás listo! (Presiona Ctrl + C para detener).
4. Instalación de cPanel & WHM
cPanel es un software comercial. Necesitas una licencia asociada a la IP pública de tu servidor. Puedes obtener una licencia de prueba de 15 días en el sitio web de cPanel.
El proceso de instalación con tmux
La instalación puede durar más de una hora. tmux evita que un corte en tu conexión detenga el proceso.
Inicia una sesión de tmux:
tmux new -s instalarcpanel
Navega al directorio /home:
cd /home
Descarga y ejecuta el script de instalación:
curl -o latest -L https://securedownloads.cpanel.net/latest
sh latest
El proceso es largo. Puedes desconectarte de tmux presionando Ctrl + b y luego d. Para volver a entrar, conéctate por SSH y escribe tmux attach. Cuando la instalación termine, verás un mensaje de felicitación. ¡Ya puedes salir de tmux escribiendo exit! cPanel ahora esta instalado y listo para inicializarlo.
5. Configuración escencial de WHM
Acceso inicial y asistente de configuración
Abre tu navegador y ve a https://64.91.240.76:2087. Acepta la advertencia de seguridad (es normal la primera vez). Inicia sesión con el usuario root y su contraseña. Acepta el acuerdo de licencia.
Sigue el asistente:
- Email del Administrador: Usa un correo que revises constantemente.
- Nameservers: Configura los nameservers que usarás (ej. ns1.webhostingydominios.com y ns2.webhostingydominios.com). Asegúrate de que el software de servidor de nombres seleccionado sea BIND, que es la opción predeterminada y recomendada por su estabilidad y compatibilidad.
6. Configuración DNS y primera cuenta
Registro de Nameservers Privados (Glue Records)
Para que tus nameservers funcionen, debes registrarlos en el panel de tu registrante de dominio. Inicia sesión en tu registrante de dominio. Busca una opción como «Host Names», «Child Nameservers» o «DNS Personalizados». Crea dos registros. El formulario te pedirá el prefijo (el «Host») y la IP.
- Host: ns1 (resultando en ns1.webhostingydominios.com) -> IP: 64.91.240.76
- Host: ns2 (resultando en ns2.webhostingydominios.com) -> IP: 64.91.240.76 (puedes usar la misma IP si solo tienes una).
Guarda los cambios. Ahora, ve a la configuración DNS de webhostingydominios.com y cambia sus nameservers a ns1.webhostingydominios.com y ns2.webhostingydominios.com.
Creación de Paquetes y Cuentas
Para poder hacer pruebas y validar que todo esta configurado correctamente es necesario crear una cuenta con el nombre de dominio principal, para ello vamos a hacer lo siguiente:
- Crear un Paquete: Define plantillas para tus planes de hosting. Ve a Packages -> Add a Package. Asigna un nombre (ej. «Plan Básico») y define los límites.
- Crear la Primera Cuenta: ¡La más importante es la de tu dominio principal! Ve a Account Functions -> Create a New Account. Rellena los datos para webhostingydominios.com. Asegúrate de que DKIM y SPF estén habilitados y que el enrutamiento de correo sea Local Mail Exchanger.
7. Activando SSL y verificación final
AutoSSL con Let’s Encrypt
Hoy en día, el certificado SSL es una obligación para cualquier sitio web. Permite conexiones seguras (HTTPS) al cifrar la información entre el visitante y tu servidor. Tener HTTPS es indispensable para:
- Proteger la información de los usuarios: Cifrar datos sensibles como contraseñas y detalles de tarjetas de crédito.
- Generar confianza: Un sitio con HTTPS transmite profesionalismo y seguridad.
- Mejorar el SEO: Google y otros motores de búsqueda favorecen a los sitios con HTTPS.
WHM incluye AutoSSL para solicitar, instalar y renovar automáticamente certificados SSL gratuitos para todos los dominios válidos en tu servidor. El proveedor más popular para esto es Let’s Encrypt, una autoridad certificadora abierta y gratuita.
Configuración de AutoSSL en WHM:
- En WHM, navega a SSL/TLS -> Manage AutoSSL.
- Seleccionar el Proveedor: En la pestaña Providers, asegúrate de que Let’s Encrypt esté seleccionado.
- Configurar Opciones: En la pestaña Options, las configuraciones predeterminadas suelen ser adecuadas.
- Ejecutar Manualmente (si es necesario): En la pestaña Manage Users, puedes forzar una verificación para un usuario específico.
Una vez configurado, AutoSSL se encargará de todo sin necesidad de intervención manual.
Certificados gratuitos vs. de pago
Los certificados de Let’s Encrypt son de Validación de Dominio (DV), lo que significa que verifican que controlas el dominio. Son seguros y funcionales para la mayoría de los sitios web, aunque muy básicos. Sin embargo, para sitios de comercio electrónico grandes o empresas que desean una capa extra de confianza, existen certificados de pago con validación superior:
- Validación de Organización (OV): Verifican la existencia legal de la organización.
- Validación Extendida (EV): El nivel más alto de validación.
Estos certificados de pago suelen incluir garantías. Es recomendable que indiques a tus clientes que consideren invertir en uno si su negocio involucra transacciones sensibles.
Verificación Final
- Propagación de DNS: Usa dnschecker.org para verificar que tu dominio ya apunta a los nuevos nameservers.
- Prueba Web: Visita https://webhostingydominios.com. Deberías ver la página por defecto de cPanel con el candado de SSL activo.
Checklist:
- ¿Registraste tus Glue Records o «DNS Personalizados» en el panel de tu registrante de dominio?
- ¿Creaste la cuenta cPanel para tu dominio principal?
- ¿Verificaste que los Nameservers en WHM (Basic WebHost Manager Setup) apuntan a las IPs correctas?
- ¿Activaste AutoSSL con Let’s Encrypt?
- ¿Puedes ver tu sitio principal (https://webhostingydominios.com) funcionando con SSL?
8. Resolución de problemas comunes
Si algo no sale como esperabas, no te preocupes. Aquí tienes soluciones a los problemas más frecuentes.
1. Error: «Licencia de cPanel Inválida»
Causa: Es muy probable que la dirección IP de tu servidor ya haya sido utilizada para una licencia de prueba de 15 días en el pasado. cPanel solo permite una prueba por IP.
Solución A (Si no tienes licencia): Deberás comprar una licencia de cPanel. No hay forma de obtener otra prueba para esa IP.
Solución B (Si ya compraste una licencia): A veces, el servidor no detecta la nueva licencia de inmediato. Puedes forzar una actualización desde la terminal de tu servidor con el siguiente comando:
sudo /usr/local/cpanel/cpkeyclt
Después de ejecutarlo, intenta acceder a WHM de nuevo.
2. El hostname que configuré no se guardó
Causa: Durante la instalación, cPanel intenta verificar que el hostname que definiste (ej. servidor1.webhostingydominios.com) resuelve a la IP del servidor. Si en ese momento la propagación DNS aún no ha ocurrido, cPanel puede ignorar tu configuración y establecer un hostname genérico.
Solución:
- Ve a Networking Setup -> Change Hostname en WHM.
- Introduce el FQDN correcto (ej. servidor1.webhostingydominios.com) y haz clic en «Change».
Importante: Cambiar el hostname puede invalidar tu licencia de cPanel temporalmente. Inmediatamente después de cambiarlo, ejecuta el siguiente comando en la terminal para reactivarla:
sudo /usr/local/cpanel/cpkeyclt
3. Los registros en «DNS Zone Manager» son incorrectos
Causa: Al crear la cuenta para tu dominio principal, WHM a veces importa los registros DNS existentes del dominio, que suelen ser los de tu registrante. Por eso puedes ver IPs o nameservers que no coinciden con los de tu servidor.
Solución: Debes editar la zona DNS manualmente.
- Ve a DNS Functions -> DNS Zone Manager.
- Selecciona webhostingydominios.com y haz clic en «Manage».
- Busca los registros tipo NS y edítalos para que apunten a ns1.webhostingydominios.com y ns2.webhostingydominios.com.
- Busca el registro A para webhostingydominios.com y asegúrate de que apunte a la IP de tu servidor (64.91.240.76).
4. Las IPs de los Nameservers en WHM son diferentes
Causa: A veces, en la configuración básica de WHM, las IPs asignadas a tus nameservers no son las correctas, sino unas genéricas del centro de datos.
Solución: Es una corrección simple.
- Ve a Server Configuration -> Basic WebHost Manager Setup.
- Baja hasta la sección «Nameservers».
- Verás tus nameservers (ns1 y ns2). Asegúrate de que a cada uno se le asigne la dirección IP correcta de tu servidor (64.91.240.76) haciendo clic en «Assign IP Address» y «Add an A entry for this nameserver».
- Guarda los cambios al final de la página.
Conclusión
En este capítulo hemos revisado paso a paso cómo instalar cPanel/WHM en un servidor limpio, desde cero. Esta configuración es la base para comenzar a ofrecer servicios de web hosting. Generalmente, todas las tareas que hemos realizado son hechas por el centro de datos. Aunque es un proceso interesante para quienes nos gusta la parte técnica, ahorras mucho tiempo si el centro de datos te entrega el servidor listo para usarse. Sin embargo, intentar hacer las pruebas de configuración te da una perspectiva más amplia del funcionamiento de tu servidor. Espero que te haya gustado este capítulo. Ahora vamos a pasar a la configuración de la seguridad, aún no hemos terminado.