Aplicaciones GNU/Linux Servidores web

Instalar VestaCP en CentOS

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.

Paso #1: 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!

Paso #2: 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

Paso #3: 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.

En cuanto a la instalación, ésto es todo.

Paso #4: Recomendaciones adicionales

Es recomendable seguir los siguientes consejos opcionales para no tener problemas con panel en el futuro.

Fin de la guía; podéis encontrar la documentación completa en la página oficial de VestaCP.

EduZRO

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

11 Comments

  1. luisa dice:

    Muy buen post, muchas gracias

  2. EduZRO dice:

    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.

    1. luis alejandro cohen dice:

      eso es lo que me sale, yo quiero que mi vesta envie email normalmente!

    2. EduZRO dice:

      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”

    3. luis alejandro cohen dice:

      Eso es lo que me sale, yo quiero que mi vesta envie email normalmente!

    4. luis alejandro cohen dice:

      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

    5. luis alejandro cohen dice:

      borre todos los mensajes de la lista y envie 1 solo como me dijiste! pero los correos no llegan!

    6. EduZRO dice:

      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/

    7. luis alejandro cohen dice:

      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!

    8. luis alejandro cohen dice:

      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

    9. EduZRO dice:

      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.

Deja un comentario

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