Instalar CloudPanel en un VPS

CloudPanel es un Gestor de Hosting. Una alternativa al antiguo cPanel.

Usualmente cPanel venía preconfigurado para funcionar con Apache, MySQL y PHP, y debido a la popularidad con la que ha contado PHP durante años, cPanel ha estado ahí siempre hasta tal punto que muchos usuarios confunden hosting con cPanel.

CloudPanel incluye: PHP, MariaDB, PhpMyAdmin, npm, Let’s Encrypt y corre un servidor Nginx.

A lo que venimos

Instalaremos CloudPanel que es gratis en un VPS de clouding.io. Esto funciona igual con cualquier otro proveedor de servicios de maquinar virtuales como: Digital Ocean, AWS, Google Cloud, Etc.

Porqué contratar Clouding.io

Francamente, es el precio y estabilidad. Puede ser que existan servicios aun más económicos, pero llevo un año desde que uso clouding y lo recomiendo abiertamente. No los recomiendo bajo patrocinio y ojalá tuvieran un programa de afiliados.

Como no he necesitado más que un VPS; A AWS y GCP me parece que le sobran opciones. Exploré opciones como Linode y DigitalOceal, aunque sus costos no son altos, tampoco estaba satifecho. Al final vi publicidad de clouding.io y no me arrepiento.

Otros proveedores

Decidas lo que decidas, lo que necesitas es un VPS con debian.

Instalación

Paso 1: contratar un VPS

Elegimos crear un servidor y le asignamos un nombre para identificarlo. Elegiremos como sistema operativo Debian 10.

El sistema operativo y paquetes usarán unos 5Gb. Recomiendo asignar al menos 10Gb de disco para empezar, luego podrás incrementarlo.

Ahora veremos abajo un resumen de costos, y le damos CLICK en ENVIAR.

Esperamos durante un momento a que se construya nuestro servidor, hasta que tengamos disponible los datos (IP y contraseña) y se muestra como «activo».

Iniciaremos sesión a través de SSH, así que escribimos lo siguiente en consola, para el ejemplo estamos usando la IP 185.166.213.102

ssh [email protected] -p 22

Actualizar paquetes

Antes de iniciar la instalación vamos a actualizar los paquetes del sistema. Para ello, ejecutaremos los siguientes comandos en la consola tras haber iniciado sesión.

sudo apt-get update
sudo apt-get upgrade

Debian, a diferencia de ubuntu no necesita un reinicio o reboot, así que continuamos.

Instalar WGET

Solo por si al caso WGET no está instalado en nuestro sistema, ejecutamos este comando. En caso de que ya esté instalado, no sucedería nada.

apt -y install curl wget sudo

Paso 2: Descargar e instalar CloudPanel

curl -sSL https://installer.cloudpanel.io/ce/v1/install.sh | sudo bash

Pegamos este comando y le damos ENTER. A continuación iniciará la descarga e instalación de CloudPanel. Esta instalación incluye la instalación de paquetes que serán necesarios, además también instalará la base de datos. Este paso tomará varios minutos, deberás esperar hasta que se compete.

Fin de la instalación

Veremos una pantalla similar a esta; cuando la instalación finalice y no hayan errores. En la consola veremos que nos indica que ha finalizado la instalación y también nos aparece la ruta para iniciar sesión.

La ruta o URL para iniciar sesión es https://93.189.94.155:8445 y vamos a copiar y pegar en el navegador. Es necesario que realices este paso de inmediato, ya que el registro del super admin espera.

Lo primero que veremos es una pantalla de alerta, debido a que no hay un certificado SSL para nuestra IP. Pero no hay ningun riesgo, es un servidor que creamos desde cero. Procedemos a «Configuración Avanzada» y accedemos.

Ingresamos los datos que sean necesarios. Aunque este formulario nos solicita un email, realmente nunca recibiremos correos desde CloudPanel, debido a que no cuenta con un servicio de email.

Nota: CloudPanel no brinda un servicio de correo electrónico. Recomienda opciones de tercemos como: Zoho, Google WorkSpace, Outlook, etc.

Registro CloudPanel

Paso 3: Ingresar con dominio propio

Si deseamos iniciar sesión desde un dominio o subdominio, seguimos los siguientes pasos.

Crear registro DNS tipo A

En nuestro gestor de DNS agregamos el registro A y ponemos los datos: Subdomino + IP

Agregamos el dominio en CloudPanel

Vamos al panel de dominios en el menú izquierdo. Elegimos Dominios y veremos esta pantalla. Como no hemos agregado ningún dominio, aparecería vacía.

dominios de CloudPanel

A continuación registramos un nuevo dominio, si usas un subdominio, lo escribes completo así: cloud.1futurista.com, elegimos la Plantilla Vhost Generic y la versión más reciente de PHP.

Si deseas ingresar con www, debes especificarlo. Ya que www es en realidad un subdominio.

Agregar un dominio en CloudPanel

Falta un ultimo paso, debemos reemplazar la pantilla de Vhost. Ingresamos al dominio (haz click en el dominio). Copia el siguiente código y pegalo en Vhost.

Copia este código y reemplaza el que ya existe en la Plantilla Vhost del dominio/subdominio. No olvides que debes personalizar el campo «server_name» con tu dominio/subdominio.

Copia este código si no usas CloudFlare

server {
  listen 80;
  listen [::]:80;
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  {{ssl_certificate_key}}
  {{ssl_certificate}}
  server_name cloud.1futurista.com;
  {{root}}

  {{nginx_access_log}}
  {{nginx_error_log}}

  if ($bad_bot = 1) {
    return 403;
  }

  if ($scheme != "https") {
    rewrite ^ https://$host$uri permanent;
  }

  #if ($http_x_forwarded_proto != https) {
  #  return 301 https://$host$request_uri;
  #}
  
  #if ($http_x_forwarded_proto ~ https) {
  #  set $fastcgi_https on;
  #}

  location ~ /.well-known {
    auth_basic off;
    allow all;
  }

  location / {
    proxy_set_header Host $http_host; 
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Host $http_host;
    proxy_pass https://127.0.0.1:8443/;
    proxy_max_temp_file_size 0;
    proxy_connect_timeout 7200;
    proxy_send_timeout 7200;
    proxy_read_timeout 7200;
    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;
    proxy_temp_file_write_size 256k;
 }
}

Copia este código SI estás usando CloudFlare

server {
  listen 80;
  listen [::]:80;
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  {{ssl_certificate_key}}
  {{ssl_certificate}}
  server_name cloud.1futurista.com;
  {{root}}

  {{nginx_access_log}}
  {{nginx_error_log}}

  if ($bad_bot = 1) {
    return 403;
  }

  #if ($scheme != "https") {
  #  rewrite ^ https://$host$uri permanent;
  #}

  if ($http_x_forwarded_proto != https) {
    return 301 https://$host$request_uri;
  }
  
  if ($http_x_forwarded_proto ~ https) {
    set $fastcgi_https on;
  }

  location ~ /.well-known {
    auth_basic off;
    allow all;
  }

  location / {
    proxy_set_header Host $http_host; 
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Host $http_host;
    proxy_pass https://127.0.0.1:8443/;
    proxy_max_temp_file_size 0;
    proxy_connect_timeout 7200;
    proxy_send_timeout 7200;
    proxy_read_timeout 7200;
    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;
    proxy_temp_file_write_size 256k;
 }
}

Hemos terminado. Ahora puedes agregar tantos dominios como quieras. Si necesitas mas capacidad, agrega mas núcleos al procesador. O prueba otras opciones como OpenLiteSpeed.

Notas finales

El servidor que se usó en este ejemplo, fue creado y destruido el mismo día. Por lo que las la IP y contraseña no estaría disponible, ni el servidor estaría en línea siguiendo esta IP.

Escribe tus dudas en los comentarios. Si deseas tener asistencia para configurar un servidor, haz click aquí.


Publicado

en

, , ,

Comentarios

Una respuesta

Deja una respuesta

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