VestaCP se erige como una solución de administración de servidores web gratuita y altamente valorada, ofreciendo una interfaz intuitiva y una amplia gama de opciones de configuración. Si bien no alcanza la sofisticación de paneles de control comerciales como cPanel o Plesk, VestaCP es más que suficiente para las tareas diarias de administración de un servidor. Este artículo se adentrará en la configuración de SSL y SMTP dentro de VestaCP, desglosando cada paso para garantizar una implementación exitosa.

Instalación y Configuración Inicial de VestaCP
Para comenzar, es fundamental descargar el script de instalación oficial de VestaCP desde su sitio web. Esto se puede realizar mediante herramientas como CURL o WGET. El proceso de instalación ofrece varias configuraciones posibles para el servidor web, permitiendo elegir entre Nginx + Apache, Nginx + PHP-FPM, o Apache únicamente. La elección entre Nginx + PHP-FPM, donde Nginx actúa como servidor web y PHP-FPM gestiona el procesamiento de PHP, es una opción robusta y eficiente.
Durante la instalación, se presentan diversas opciones de personalización. Entre ellas se incluyen la selección del servidor FTP (vsftpd, proftpd, o ninguno), la configuración del firewall (iptables con fail2ban, solo iptables, o sin firewall), la inclusión del instalador de aplicaciones Softaculous, la adición de repositorios remi, y la elección del servidor de base de datos, que puede ser MySQL (o MariaDB en CentOS 7) o PostgreSQL. Es importante notar que la instalación de SpamAssassin no se recomienda en servidores con menos de 2GB de RAM debido a su considerable consumo de recursos.
Para aquellos que deseen utilizar VestaCP en español, se puede añadir el parámetro --lang es al script de instalación. Si se accede a la URL del panel por primera vez sin haber configurado previamente un certificado, el navegador advertirá sobre un certificado autofirmado no confiable. Por defecto, VestaCP se instala en inglés, pero la interfaz se puede modificar posteriormente al idioma deseado a través de un desplegable en la configuración del usuario.
Gestión de Usuarios y Planes en VestaCP
VestaCP permite una organización granular del servidor mediante la creación de diferentes usuarios y planes. Crear usuarios distintos es una práctica recomendada para organizar sitios web y mejorar la seguridad. Aunque por defecto se crea un usuario "admin", no es aconsejable alojar sitios web con esta cuenta.
Creación de Nuevos Usuarios
Para crear un nuevo usuario, se accede a la sección "Usuario" del panel. Se presentará un formulario donde se deben completar datos como el nombre de usuario (preferiblemente de hasta 8 caracteres, ya que será el prefijo de las bases de datos), la contraseña (que puede ser generada automáticamente), el plan a asignar (por defecto "default" o uno personalizado), el nombre del usuario y, opcionalmente, un correo electrónico para enviar los datos de acceso.
Planes de Usuario
Los planes de usuario definen los recursos y permisos asignados a cada cuenta. VestaCP incluye planes por defecto, pero se pueden crear tantos planes personalizados como sean necesarios. Cada plan se configura con un nombre, una plantilla web (httpd) y una plantilla proxy (Nginx). Las plantillas web permiten especificar la versión de PHP a utilizar (php54, php55, php56, php71, php72) o ejecutar PHP como cgi (phpfcgi). Las plantillas proxy para Nginx también ofrecen opciones avanzadas, especialmente en VPS optimizados.
Otras configuraciones importantes en los planes incluyen el soporte para HTTP/2, opciones de caché (como Caching-forcessl, Caching-forcessl-http2, Caching-nossl), la concesión de acceso SSH y su tipo de terminal, el número de dominios DNS permitidos, la cuota de disco en megabytes (que puede ser ilimitada), el ancho de banda mensual permitido y los servidores de nombres por defecto.

Administración de Dominios y Subdominios
Una vez configurados los usuarios y planes, el siguiente paso es añadir dominios y subdominios. Para ello, se accede al usuario propietario del dominio y se pulsa el botón verde de añadir.
Configuración de Dominios
Al añadir un dominio, se pueden especificar la dirección IP a asignar (si se dispone de múltiples IPs), si se desea soporte DNS (recomendado para crear zonas predeterminadas automáticamente) y soporte de correo. En las "opciones avanzadas", se pueden configurar alias, activar el soporte de proxy inverso de Nginx (activado por defecto), definir extensiones proxy, habilitar el soporte SSL, activar estadísticas web (Webalizer, AWStats) y crear cuentas FTP adicionales específicas para ese dominio.
Al añadir un dominio web, VestaCP también ofrece la opción de añadir un dominio de correo asociado. Las opciones por defecto para el correo incluyen el soporte antispam y antivirus.
Gestión de Bases de Datos
La mayoría de las aplicaciones web requieren una base de datos para almacenar información. VestaCP integra herramientas para la gestión de servidores de bases de datos MySQL/MariaDB y PostgreSQL.
Creación de Bases de Datos
Para crear una base de datos, se accede a la sección correspondiente y se proporciona un nombre para la base de datos, el nombre de usuario de la base de datos (con una longitud máxima de 16 caracteres), una contraseña y la codificación de caracteres (utf8 por defecto). Opcionalmente, se puede especificar un correo para el envío de los datos de acceso.
Como administrar nuestras base de datos desde Phpmyadmin vestacp
La conexión a una base de datos desde una aplicación PHP requiere los datos de autenticación (usuario, contraseña) y la dirección del servidor de bases de datos. Estos datos se pueden revisar y la contraseña del usuario de la base de datos se puede modificar si es necesario.
Configuración de Correo Electrónico
VestaCP facilita la gestión de dominios de correo y buzones.
Dominios de Correo
Tras añadir un dominio web, se puede habilitar el soporte de correo. Las opciones de configuración para dominios de correo incluyen soporte antispam, antivirus y la posibilidad de activar DKIM. Los dominios de correo pueden suspenderse o eliminarse, lo que también afectará a las cuentas de correo asociadas.
Cuentas de Correo
Para añadir buzones de correo, se accede a la sección "Correo" y se pulsa "Añadir". Se deben configurar la cuota de almacenamiento en megabytes, alias, y la opción de reenviar correos a otras direcciones. Si se activa el reenvío, se puede elegir si se desea guardar o no el correo enviado.
Las cuentas de correo creadas se pueden editar, suspender o eliminar. La edición permite modificar la cuota, alias, reenviar correos y la configuración de "no guardar correo enviado". Para configurar mensajes de ausencia o redirecciones automáticas, se accede a las opciones de la cuenta y se puede configurar un mensaje de respuesta automática. Las redirecciones de correo, sin embargo, requieren la edición manual del archivo .htaccess del dominio.
Administración de DNS
VestaCP incluye la instalación predeterminada del servidor DNS Named. Si se utilizan los DNS de un proveedor específico, como los de Raiola Networks, es posible que no sea necesario realizar cambios en esta sección.
Registros DNS
Al acceder a la sección DNS, se listan los dominios y el número de registros asociados. Se pueden crear nuevos registros especificando el nombre del registro, la IP o el valor al que apunta, y la prioridad (principalmente para registros MX). Los registros DNS se pueden suspender o eliminar, lo cual afectará a la correcta resolución del dominio si se utilizan los DNS de VestaCP.

Tareas Programadas (CRON)
Para usuarios familiarizados con Linux, CRON permite programar la ejecución de comandos a intervalos regulares. En VestaCP, se accede a la sección CRON para añadir comandos y definir su periodicidad. Las tareas CRON existentes pueden ser modificadas, suspendidas o eliminadas.
Gestión de Direcciones IP
Si se dispone de múltiples direcciones IP contratadas, estas deben ser añadidas al panel VestaCP para poder asignarlas a dominios. Se puede configurar si la IP será compartida entre varios usuarios o dedicada a uno.
Configuración de Certificados SSL
La implementación de certificados SSL es crucial para asegurar las conexiones HTTPS. VestaCP soporta la generación y gestión de certificados SSL.
Let's Encrypt
VestaCP facilita la integración con Let's Encrypt, una autoridad de certificación gratuita y automatizada. Al activar el soporte SSL para un dominio, se pueden generar certificados Let's Encrypt. Es importante tener en cuenta los límites de Let's Encrypt, como el número de errores por hora, certificados generados por semana, dominios por certificado y certificados duplicados.
Certificados Autofirmados
Un certificado autofirmado es emitido por el propio servidor, pero no por una autoridad reconocida. Para instalar uno en VestaCP, primero se debe generar el certificado.
Una vez configurados los registros de la Zona DNS y tras la replicación de los mismos, es necesario verificar la apertura de los puertos para SMTP (25, 587), IMAP (143) y POP (110) en el firewall, así como habilitar el tráfico SMTP de salida.
Para forzar todo el tráfico a HTTPS, una vez obtenidos los certificados, se debe configurar Apache. En Nginx, la habilitación de SSL se realiza directamente desde las plantillas, existiendo un apartado específico para autocrear certificados Let's Encrypt.
Protocolos de Correo Electrónico
VestaCP soporta la configuración de clientes de correo electrónico utilizando diversos protocolos.
SMTP (Simple Mail Transfer Protocol)
El protocolo SMTP se utiliza para el envío de correos electrónicos. El puerto por defecto es el 25, pero se recomienda utilizar el puerto 587 con seguridad STARTTLS o SSL para el envío.
IMAP (Internet Message Access Protocol)
IMAP permite acceder a los correos electrónicos desde múltiples dispositivos, sincronizando la bandeja de entrada. El puerto por defecto es el 143. La autenticación estándar mediante contraseña es la opción recomendada.
POP3 (Post Office Protocol version 3)
POP3, similar a IMAP, se utiliza para descargar correos al dispositivo local. La conexión se realiza al puerto 110 del servidor con seguridad STARTTLS o SSL, utilizando la dirección de correo completa como nombre de usuario y la contraseña. La principal diferencia con IMAP es que, por defecto, los correos se eliminan del servidor una vez descargados.
La configuración de estos protocolos en aplicaciones de correo electrónico requerirá los datos del servidor (nombre de host), el nombre de usuario (dirección de correo completa) y la contraseña, además de seleccionar el protocolo y el puerto correctos.
Hardening del Servidor Web
Una vez configurado el servidor web con SSL, es interesante realizar un "hardening" para mejorar su seguridad. Esto implica una serie de medidas para proteger el servidor contra vulnerabilidades y ataques.
En resumen, VestaCP proporciona una plataforma versátil para la administración de servidores web, con un enfoque particular en la configuración de SSL y SMTP. La correcta implementación de estas funcionalidades es esencial para garantizar la seguridad, la fiabilidad y la eficiencia de los sitios web y servicios de correo alojados.