Cómo Instalar un certificado SSL en Vesta para el panel, Exim y Dovecot

VestaCP

Para muchos administradores resulta complicado instalar certificados SSL en Vesta, especialmente si somos novatos o si también pretendemos instalar el certificado para Exim y Dovecot, además de la interfaz web, a la que habitualmente solemos acceder con el puerto :8083. Aunque puedes instalar los certificados por el método clásico, vamos a ver el método más sencillo para lograrlo mediante el menor número de comandos. Puedes utilizar esta guía con cualquier sistema operativo que soporte VestaCP, ya sea Debian o CentOS.

Requerimientos previos

Deberás tener VestaCP instalado en tu servidor y tendrás acceso SSH como root. Si aún no tienes Vesta instalado, aquí podrás encontrar cómo instalar VestaCP en CentOS.

Hostname

El hostname de tu servidor debe ser una dirección válida que esté apuntando a la IP de tu servidor. Por ejemplo, midominio.com o servidor.midominio.com son nombres de host válidos.

Puedes comprobar el hostname de tu servidor mediante el comando hostname:

# hostname

También podrás encontrar el hostname en el archivo /etc/hostname.

nano /etc/hostname

Si quieres cambiarlo, solamente tendrás que editar el archivo anterior, escribir el nombre de host deseado y guardar el archivo (CTR + V si usas nano). También puedes cambiar el hostname mediante el comando v-change-sys-hostname midominio.com.

Comandos de Vesta

Si los comandos de vesta que comienzan por v-* no funcionan, es porque estás realizando el proceso justo tras la instalación de Vesta. Puedes escribir la ruta completa del comando o, para que funcionen, también puedes exportarlos al PATH ejecutando:

# source /etc/profile
# PATH=$PATH:/usr/local/vesta/bin && export PATH

Instalación del certificado SSL para VestaCP

Para instalar el certificado SSL debes seguir estos pasos:

Instala Letsencrypt SSL en el dominio de tu hostname

Para ello, debes conectarte a tu servidor mediante SSH y ejecutar:

# v-add-letsencrypt-domain 'admin' $HOSTNAME '' 'yes'

Alternativamente, también puedes ejecutar el comando del siguiente modo:

# /usr/local/vesta/bin/v-add-letsencrypt-domain 'admin' $HOSTNAME '' 'yes'

Si tu hostname no está agregado en la cuenta de Admin de VestaCP, debes sustituir admin por el nombre de la cuenta en la que esté.

Con ello, instaleremos LetsEncrypt del mismo modo en el que lo haríamos en la interfaz web de Vesta. Si ya lo tienes instalado en dominio de tu hostname, obvia este paso. También podrás instalar cualquier otro certificado y no solamente LetsEncrypt; pues hacerlo en la interfaz web de Vesta, editando el dominio.

Aplica el certificado SSL instalado a los Daemons de Vesta, Exim y Dovecot

Debes ejecutar el siguiente comando.

# v-update-host-certificate admin $HOSTNAME

Alternativamente, también puedes ejecutar el comando del siguiente modo:

# /usr/local/vesta/bin/v-update-host-certificate admin $HOSTNAME

Recuerda que debes cambiar admin por el nombre de la cuenta en la que esté el dominio, si es que está en otra.

Actualización automática del certificado

Ahora le diremos a Vesta que actualice los certificados de Vesta, Exim y Dovecot cada vez que se renueve automáticamente el certificado SSL.

# echo "UPDATE_HOSTNAME_SSL='yes'" >> /usr/local/vesta/conf/vesta.conf

Y esto ha sido todo. El certificado SSL de LetsEncrypt se renovará automáticamente cada dos meses, siendo además aplicado automáticamente a Vesta, Exim y Dovecot. No necesitarás ejecutar ningún script, como ocurría en las primeras versiones del panel.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

6 comentarios en “Cómo Instalar un certificado SSL en Vesta para el panel, Exim y Dovecot

  1. Muy buena la guía, si señor. Muchas gracias.

    Sólo un apunte: Para no tener problemas con los permisos, los comandos de VestaCP (los que comienzan con v-), deben ser ejecutados desde la cuenta «admin». Para ello podemos optar por conectar vía «ssh admin@dominio.tld» y su contraseña, comprobando antes que tenemos activado el acceso SSH/Bash en dicho usuario. Y la solución más sencilla que consiste en teclear «su admin» antes de introducirlos. Una vez lanzados salimos con «exit».

    Gracias de nuevo.

  2. Excelente contenido, amigo tengo configurado mi hostname como server.midominio.com haciendo uso del comando v-change-sys-hostname pero me doy cuenta que eso no cambia el nombre en el archivo /etc/hostname. Ahora al momento de instalar el SSL me da el siguiente error «Error: web domain server doesn’t exist», el dominio esta creado en el panel principal que se ingresa con usuario admin. ¿Cuál seria la solución para el caso?

Responder a janveper Cancelar la respuesta

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

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”