Cómo tener tu propio hosting usando Vesta CP

Imagen de Cómo tener tu propio hosting usando Vesta CP


Desde hace un tiempo que tengo que lidiar con dos opciones posibles, o un servidor compartido, típica opción de los hostings, o un VPS donde tengo que arremangarme y ponerme a configurar todo de cero. Pero hay una tercera opción que es la de utilizar un paquete que prepare tu VPS como un hosting completo.

Esto no reemplaza, para nada, los buenos servicios de hosting que hay ya que éstos te ofrecen backup y soporte técnico, así que para casos críticos donde uno instala el sitio de un cliente importante sigo recomendando una infraestructura mayor. Ahora bien, para todo lo demás, eso que uno puede manejar por cuenta propia (ej: sitios propios, experimentos, trabajos, etc.) esta es una excelente opción: volverte tu propio hosting.

En resumen aquí les voy a explicar cómo instalar Vesta CP que es una de las tantas opciones para armar tu propio servidor. Hay más variadas, más completas y más complejas también, pero esta es libre, gratuita y, por suerte, funciona a la perfección.

Para estas cosas estoy utilizando Digital Ocean, así que acá les dejo mi referral link por si les interesa aportarme con algo :D igual no hace falta, esto debería funcionar en cualquier otro VPS.

Suelo utilizar Ubuntu Server para este tipo de instalaciones, el último fue en el 16.04 pero es aplicable a 14.04 o cualquier otro, seguramente mejorará el soporte para futuros ubuntus, pero con estos se tiene una plataforma actualizada y estable (son versiones LTS de soporte largo).

Requisitos previos



Los requisitos básicos son un VPS con capacidades mínimas, podemos comenzar en 512MB de RAM y 10GB de disco que sobrará para un mini-hosting, el sistema operativo no ocupará más de 1GB. Recomendado 1GB de RAM y 30GB de disco si vamos a tener varios sitios porque entre espacio para cada uno, backup y margen extra es ideal que sobre y no que falte.

  • Ubuntu 16.04
  • Un dominio base para empezar (ej: ejemplo.com)
  • Configurar los DNS
  • Un registro A apuntando a ejemplo.com en el IP del servidor
  • Un registro A apuntando a ns1.ejemplo.com
  • Un registro A apuntando a ns2.ejemplo.com
  • Un registro A apuntando a panel.ejemplo.com
  • Un registro CNAME apuntando de wwww.ejemplo.com a ejemplo.com
  • Un terminal SSH (Putty.exe si estan en Windows, la consola si estan en Linux o MacOS)
  • Un cliente de FTP como Filezilla
  • Un usuario en el servidor que no sea root pero con permisos de sudo


Si no podés cumplir con estos requerimientos básicos es que este tutorial está por encima de tus posibilidades, podés seguir adelante pero mi consejo es que no comprometas ningún trabajo o cliente a nada que no sepas exactamente cómo solucionar, hacelo, en cambio, para experimentar y aprender.

Instalar Vesta CP



Vesta CP es un control panel que se encargará de administrar todo como los paneles que vemos en cualquier hosting. Lo interesante de este paquete es que se encarga de instalar todo, Apachem NGINX, MySQL, PHP, Dovecot, y todo lo que hace falta para un hosting completo. No es tan Pro como Cpanel y WHM pero esos son pagos, este es completamente libre.

Primero, desde terminal, lo descargamos:

curl -O http://vestacp.com/pub/vst-install.sh


Luego pasamos a root con sudo su y ejecutamos:

bash vst-install.sh


Obviamente te irá preguntando cosas, la primera si lo instala, le darás "Y" y seguirás. En un punto te va a pedir el dominio y aquí vamos a usar el que preparamos para el panel (el registro A) con panel.ejemplo.com.

Esto nos permitirá tener el dominio ejemplo.com disponible para un sitio y el subdominio panel para entrar al Vesta, la URL final quedará como https://panel.ejemplo.com:8083

Luego empieza la descarga e instalación de paquetes que, dependiendo del VPS, tarda entre 5 y 15 minutos. Si, es bien rapidito e instala lo siguiente:

  • Nginx Web Server
  • Apache Web Server (as backend)
  • Bind DNS Server
  • Exim mail server
  • Dovecot POP3/IMAP Server
  • MySQL Database Server
  • Vsftpd FTP Server
  • Iptables Firewall + Fail2Ban
  • Roundcube mail client


Y lo mejor de la última versión, soporte para SSL provisto por Let's Encrypt que te da certificados SSL completamente gratuitos, duran tres meses pero se renuevan constantemente y de forma automática. Con esto todos tus sitios estarán funcionando seguros.

Una vez terminado mostrará una pantalla como la siguiente:

=======================================================

 _|      _|  _|_|_|_|    _|_|_|  _|_|_|_|_|    _|_|   
 _|      _|  _|        _|            _|      _|    _| 
 _|      _|  _|_|_|      _|_|        _|      _|_|_|_| 
   _|  _|    _|              _|      _|      _|    _| 
     _|      _|_|_|_|  _|_|_|        _|      _|    _| 


Congratulations, you have just successfully installed Vesta Control Panel

    https://panel.ejemplo.com:8083
    username: admin
    password: blablabla


Desde ya que deben guardar ese dato de admin como tesoro :D porque será la entrada al panel de control.

Vesta



Una vez instalado ya pueden entrar desde el panel https://panel.ejemplo.com:8083 en donde notarán que el browser les dirá que el certificado es inseguro y que no es un sitio seguro. Esto sucede porque la firma digital utilizada es local, no es un certificado validado por nadie.

Esto es completamente normal porque, efectivamente, es un certificado creado por cuenta propia, le pueden indicar al browser que quieren seguir adelante, es completamente seguro.

En el panel que verán primero se encuentra el usuario (se pueden crear más usuarios si queremos "revender") y desde aquí podemos controlar todos los servidores.



Tengan en cuenta que en muchos VPS los dominios hay que configurarlos primero en el servidor de DNS del hosting antes que aquí, por ejemplo en Digital Ocean, lo que no es un problema pero hay que acordarse o no siempre funcionará. También se pueden configurar los DNS que ya definimos antes y que se encargue nuestro servidor de todo. Prefiero configurarlos en Digital Ocean y, si tengo que mover de droplet en droplet, es instantáneo.

Podemos crear fácilmente una cuenta web, asignarle el espacio, sistemas de estadísticas, certificados seguros de Lets Encrypt, proxys, lo que sea.



Una genialidad es que ya viene preconfigurado el sistema de correo electrónico y hasta un webmail (Roundcube) por lo que tenemos resuelto algo que usualmente configurar a mano es un quilombo. En este sentido es muy sencillo.

También tenemos phpmyadmin y podemos controlar fácilmente las bases de datos.

Tengan en cuenta que el sistema de backup te va dejando archivos en el mismo servidor, para que tenga sentido deberíamos tener un segundo VPS sólo para almacenar archivos de backup y no perder todo en caso de catástrofe, si lo dejamos en el mismo VPS hasta podemos quedarnos sin espacio rápidamente (3 backups por semana implica 3 veces el espacio que ocupan tus sitios web disponible como libre).



Podemos configurar el Firewall, el cron, la lista de Fail2Ban, actualizar el servidor, hasta ver qué procesos hay en ejecución, espacio en disco, uso de red, etc.

También provee de gráficos para ver cómo está funcionando en cada momento.

Conclusión



La velocidad de un servidor armado así es MUY superior a cualquier hosting, nunca fallará un Wordpress o algo semejante, tira y tira y no afloja, es maravilloso para un sitio productivo, si esto se combina con varias instancias más, una de backup, otra de un vagrant, percona, master-slave, o algo así, siempre se puede mejorar y todo por un costo que no llega ni a 10 USD por mes por instancia (droplets en Digital Ocean).

Pero al mismo tiempo suma una obligación más, la de darse mantenimiento uno mismo a un nivel que no es sencillo para todos. Una cosa es darse maña y otra rescatar un servidor uno mismo, por eso, como decía al principio, que todo esto lo haga una empresa dedicada al hosting tiene todo el sentido del mundo, ese extra que pagás es el soporte y el backup que así solo no tendrías.

No es un sistema perfecto, a veces falla, por ejemplo si uno usa la config default de Ubuntu Server puede encontrarse con el disco lleno ya que el ciclo de compresión de los archivos de Log lo hace cuando se le canta, tuve que tocar eso en la config (ni me acuerdo dónde) para que fuese más seguido y no masacrarme el espacio con absurdos logs de un mes atrás en un servidor de tamaño limitado (si sobra almacenamiento no sería un problema).

Pero las ventajas para aquellos que tenemos proyectos independientes y necesitamos alta disponiblidad a un bajo coste son geniales, te obliga a aprender, no serás un sysadmin pero al menos vas a poder entenderlos a ellos cuando te digan que lo que estás pidiendo es una pelotudez :D y no los vas a volver tan locos con pedidos ridículos, al mismo tiempo te das cuenta que la mayoría de los servicios de hosting que te venden son una porquería que sólo quieren servir páginas que nadie va a ver.

Si tenés un sitio con un buen tráfico pero todavía lo querés manejar todo, esta es una excelente opción.

Sitio oficial del paquete: VestaCP.com, ellos te venden el soporte, me parece un poco caro a USD 60 la hora para nuestros presupuestos sudacas :D además tienen varios plugins comerciales para un File Manager y uno de SFTP limitado. También se puede instalar con otros soportes como PostreSQL, phpfpm, sobre RedHat o Debian, etc.

Volver al inicio Ver original