VestaCP, también conocido como Vesta, es un panel de hosting gratuito y sencillo de utilizar para gestionar cuentas de hosting, bases de datos, cuentas FTP, email, dominios y DNS. Si buscáis un panel que sea gratuito, sencillo y seguro, ésta es una de las mejores opciones. Además dispone de un foro activo en el que poder preguntar cualquier duda aunque, eso sí, está en inglés; que no es poco, puesto que hasta hace un par de años estaba casi todo en ruso.
VestaCP está disponible en varios idiomas y dispone de actualizaciones automáticas, de gestión de certificados SSL, de una sencilla interfaz para configurar el Firewall, de creación de copias de seguridad automáticas y más cosas. Algo muy interesante es que tiene una API para la creación de cuentas de hosting, su actualización y gestión de muchos otros aspectos para así automatizar los procesos y, por ejemplo, permitir que las cuentas sean creadas mediante formularios web que pasen sus datos a la API.
En esta guía veremos cómo instalar el panel VestaCP en un VPS o servidor dedicado con el sistema operativo CentOS, concretamente se ha usado la distribución CentOS 6.7 de 64 bit, aunque también se ha probado con las versiones CentOS 6.6, 6.5 y 6.4. Estos mismos pasos también deberían ser válidos si aún utilizáis CentOS 5.
Contenidos
Preparando el sistema operativo
Es muy importante que la instalación del panel se realice tras una instalación fresca del sistema operativo. Tras instalarlo, nos conectamos mediante SSH como usuario root bien utilizando algún programa como Putty o bien mediante una consola de comandos ejecutando ssh root@tu.servidor. Tenemos que asegurarnos de aplicar las actualizaciones pendientes del sistema operativo:
yum -y update
Si durante la instalación se nos muestra un mensaje que nos dice que algún paquete ya no está disponible en los repositorios, lo eliminamos y ejecutamos de nuevo la actualización. Para eliminar un paquete:
yum -y remove nombre-del-paquete
Finalmente, reiniciamos el sistema:
reboot
Una recomendación es que comprobéis que los paquetes de Bind no estén instalados, puesto que en caso de que lo estén, crearán un pequeño conflicto más adelante que puede suponer algún quebradero de cabeza, así que nunca está de más ejecutar el comando para desinstalarlo:
yum remove bind
Recomendación importante: No os olvidéis nunca (ahora o más adelante) de cambiar la contraseña del usuario root que viene por defecto!
Usando el instalador
Podemos instalar el panel utilizando el sencillo instalador oficial que podemos obtener mediante los comandos CURL o WGET:
Utilizando CURL:
curl -O http://vestacp.com/pub/vst-install.sh
Utilizando WGET:
wget http://vestacp.com/pub/vst-install.sh
El instalador clasifica automáticamente a los servidores en varios grupos:
- Micro: Menos de 1Gb de memoria RAM.
- Small/Mequeño: Menos de de 3Gb de memoria RAM
- Medium/Mediano: Menos de 7Gb de memoria RAM
- Large/Grande: Más de 7Gb de memoria RAM
Dependiendo de nuestro servidor, habrá paquetes que no se instalen automáticamente por considerarse demasiado pesados. Por ejemplo, los paquetes de Antispam y Antivirus solamente se instalarán en servidores Medianos y Grandes. Los Micro servidores tampoco soportarán php fast cgi, que permite que cada usuario pueda ejecutar una versión distinta de PHP. De todos modos siempre es posible instalar estos paquetes manualmente.
Antes de iniciar la instalación siempre se nos mostrarán los paquetes que se instalarán en nuestro sistema y se nos pedirá que los confirmemos. Podemos ejecutar –help o -h para ver la opciones del instalador.
bash vst-install-rhel.sh --help
Las opciones del instalador pueden escribirse en versión abreviada como por ejemplo -a para instalar apache, o en versión ampliada como –apache yes para realizar la misma tarea. Si utilizamos la versión ampliada, no debemos olvidarnos de escribir uno de los posibles valores para la opción, que en el caso anterior era «yes» para instalar apache, opción redundante ya que apache se instala por defecto. Aquí podremos ver las distintas opciones de la última versión del instalador:
- -a, –apache: Instalar Apache. Valores: [yes|no]. Por defecto: yes
- -n, –nginx: Instalar Nginx. Valores: [yes|no]. Por defecto: yes
- -w, –phpfpm: Instalar PHP-FPM. Valores: [yes|no]. Por defecto: no
- -v, –vsftpd: Instalar Vsftpd. Valores: [yes|no]. Por defecto: yes
- -j, –proftpd: Instalar ProFTPD. Valores: [yes|no]. Por defecto: no
- -k, –named: Instalar Bind para gestionar los DNS. Valores: [yes|no]. Por defecto: yes
- -m, –mysql: Instalar MySQL. Valores: [yes|no]. Por defecto: yes
- -g, –postgresql: Instalar PostgreSQL. Valores: [yes|no]. Por defecto: no
- -d, –mongodb: Instalar MongoDB. Valores: [yes|no] no soportado
- -x, –exim: Instalar Exim. Valores: [yes|no]. Por defecto: yes
- -z, –dovecot: Instalar Dovecot. Valores: [yes|no]. Por defecto: yes
- -c, –clamav: Instalar el antivirus ClamAV. Valores: [yes|no]. Por defecto: yes
- -t, –spamassassin: Instalar SpamAssassin. Valores: [yes|no]. Por defecto: yes
- -i, –iptables: Instalar el Firewall Iptables. Valores: [yes|no]. Por defecto: yes
- -b, –fail2ban: Instalar Fail2ban. Valores: [yes|no]. Por defecto: yes
- -r, –remi: Deshabilitar el repositorio remi. Valores: [yes|no]. Por defecto: yes
- -q, –quota: Habilitar los paquetes de quota del sistema; es decir, para limitar el espacio de almacenamiento, cuentas de email o bases de datos de cada usuario. Valores: [yes|no]. Por defecto: no
- -l, –lang: Lenguaje por defecto. Por defecto: en
- -y, –interactive: Instalación interactiva. Valores: [yes|no]. Por defecto: yes
- -s, –hostname: Para definir el nombre del Host y que no se nos pregunte durante la instalación.
- -e, –email: Seleccionar la dirección de email del administrador para que no se nos pregunte durante la instalación.
- -p, –password: Para definir la contraseña del panel en lugar de que se genere una; también recomendable.
- -f, –force: Forzar la instalación cuando se nos muestra algún error, algo útil solamente si sabemos lo que hacemos.
- -h, –help: Para mostrar esta ayuda que estáis leyendo
- -m, –mysql-password: Para definir nuestra contraseña de MySQL en lugar de que se genere una automática. Esta opción puede no estar disponibles en algunas versiones del instalador.
Una vez tenemos claro lo anterior, podemos ejecutar el instalador:
bash vst-install.sh
O bien podemos personalizar la instalación como hemos explicado. Por ejemplo:
bash vst-install.sh -q -e miEmail@tuExtension.com -p tuPassword -m tuContraseñaMySQL -s tuservidor.tudominio.com
En caso de ejecutar el instalador por defecto, sencillamente introduciremos nuestro email o host cuando se nos pregunte.
Una vez se haya completada la instalación, es recomendable reiniciar el servidor:
reboot
Accediendo al panel VestaCP
Ahora podemos acceder al panel mediante una de las dos siguientes URLs: https://tudominio:8083 y https://tuIP:8083
Como seguramente no tendréis un certificado SSL os aparecerá un error en el navegador, pero debéis aceptar acceder al sitio y finalmente se os mostrará la pantalla de login en la que deberéis introducir vuestro nombre de usuario -admin por defecto- y la contraseña que habéis introducido durante la instalación. Si queréis instalar un certificado SSL en VestaCP del modo más sencillo posible, aquí podéis encontrar cómo instalar un certificado SSL en Vesta tanto para el panel como para Exim y Dovecot. De este modo, podréis acceder de un modo más seguro.
En cuanto a la instalación, ésto es todo.
Recomendaciones adicionales
Es recomendable seguir los siguientes consejos opcionales para no tener problemas con panel en el futuro.
- En la siguiente guía se explica cómo encontrar y cambiar el password root de MySQL.
- Por seguridad, no estaría de más cambiar la URL de phpMyAdmin para que no tengáis miles de bots intentando entrar diariamente. En el siguiente enlace podéis encontrar cómo cambiar la URL de phpMyAdmin.
- Si queremos reducir el número de ataques de fuerza bruta por medio de SSH, también podemos cambiar el puerto SSH, que por defecto es el 22.
- Aquí tenéis también una guía para ocultar la versión de PHP.
- ¿Vas a utilizar tu servidor como servidor DNS? Habilita el puerto 53 para aceptar conexiones TCP.
Fin de la guía; podéis encontrar la documentación completa en la página oficial de VestaCP.
Muy buen post, muchas gracias
Comprende que hacerte un vídeo en exclusiva sería esclavitud, no ayuda. Sin embargo creo que el problema podría ser que los emails que envías son clasificados como Spam. ¿Podrias consultar la cola de exim para ver si los emails están en ella?
Aquí puedes ver cómo consultarla: http://www.neeonez.com/consultar-emails-cola-exim/
Mira si aparecen los emails que han enviado y coméntalo aquí para poder guiarte. Además, también sería de ayuda saber si has recibido algún email de vuelta, con algún mensaje diciendo que tu email ha sido rechazado por el servidor de destino.
eso es lo que me sale, yo quiero que mi vesta envie email normalmente!
He borrado tu mensaje para respetar tu privacidad (con un ejemplo llega). Te respondo aquí para ordenar todo un poco. Lo primero que debes hacer es probar tu puerto SMTP para asegurarte de que no está bloqueado: http://www.neeonez.com/saber-bloqueo-puerto-smtp-de-email/
Seguidamente mira el log en /var/log/maillog y también en /var/log/exim/main.log
Debes encontrar los intentos de envío de tus emails y ver lo que pone. Prueba a enviar uno y nada más hacerlo, consulta los archivos para facilitar la tarea. Dime si encuentras algo y, en especial sin ves algún error tal que así: «T=remote_smtp defer (-53): retry time not reached for any host»
Eso es lo que me sale, yo quiero que mi vesta envie email normalmente!
esto es lo que me sale!
telnet degamers.ml 25
Trying 190.97.241.10…
Connected to degamers.ml.
Escape character is ‘^]’.
220 coryserver1 ESMTP Exim 4.84_2 Mon, 16 Jan 2017 16:03:13 -0400
borre todos los mensajes de la lista y envie 1 solo como me dijiste! pero los correos no llegan!
Prueba ahora a conectarte desde tu servidor a Outlook para ver si te bloquea. Cuando hagas pruebas, siempre, SIEMPRE debes probar enviando emails a cuentas de outlook o gmail, ya que a veces el destinatario también puede tener problemas y es complicado diagnosticar el problema.
Mira esta guía; comienza en el paso 2.2 y síguela hasta el final: http://www.neeonez.com/arreglar-el-error-exim-defer-53-retry-time-not-reached-for-any-host/
una pregunta, yo instale vestacp en un servidor Dell poweredeg 2950 16gb de Ram, 1.5 HDD y 1 procesador xeon dual core a 2.66
corriendo proxmox
la maquina en la que estoy corriendo en vestacp le di 5 gb de ram y 1 nucleo
la maquina tiene de Os: Centos 7
una de las dudas que tengo es, yo instale en vesta para hacer pruebas, y consegi un dominio gratis. ml
registro el dominio en vesta, y mi pregunta es si tengo que crear el correo en alguna pagina ??
osea ejemplo mi dominio es degamers.ml lo registro en vesta, y cuando quiero poner un correo, se pone, asi suport@degamers.ml ese es el correo que me creo, verdad ese correo si puede enviar correos?? o eso debo registrarlo en otra pagina o algo asi ?? no quiero ser molestoso, pero es que soy novato en esto!
ahora me encuentro con esto cuando envio un msj
Este mensaje ha sido creado automáticamente por el software de entrega de correo.
Un mensaje que ha enviado no pudo ser entregado a uno o más de sus
destinatarios. Este es un error permanente. En la siguiente dirección (es) falló:
cohen.luis1994@gmail.com
dirección Unrouteable
—— Esta es una copia del mensaje, incluyendo todas las cabeceras. ——
Return-Path:
Fecha: del pecador por coryserver1 con local (Exim 4.84_2)
(envoltura de )
Identificación del 1cTEC8-0005nM-1Q
de Cohen .luis1994 @ gmail.com ; Lun 16 Ene 2017 16:48:00 -0400
Para: cohen.luis1994@gmail.com
Asunto: prueba
X-PHP-Originario-Script: 0: rcube.php
MIME-Version: 1.0
Content-Type: text / plain; charset = US-ASCII;
format = fluido
contenido-Transfer-Encoding: 7bit
Fecha: Lun 16 Ene 2017 16:47:59 -0400
De: aggtamare1@gmail.com
Message-ID:
X-Sender: aggtamare1 @ gmail. com
User-Agent: Roundcube Webmail / 1.2.3
prueba
Si has seguido los pasos del enlace anterior, prueba a ejecutar ésto para reconfigurar exim: dpkg-reconfigure exim4-config
Luego reinicia las colas: exim -qff
Si falla, pues no sé qué decirte. Tu prueba éso y luego hablamos; igual te envío un email.