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.
Contenidos
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.
¿Y que tal si quiero instalarlo a un subdomino o a un puerto en especifico como midominio.com:8000?
saludos
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.
gracias muy buen tutorial escrito
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?
Gracias me pareció mejor método que hacerlo mediante enlaces simbólicos.
vesta cp soporta ssl wildcard? Gracias de antemano