Especificaciones vps de ovh
Partimos de la siguiente servidor VPS cuya configuración previamente ha sido contratada en OVH:
Y la distribución ha de ser una versión estable LTS de Ubuntu Server, a ser posible la última versión que soporte Runcloud. A fecha de hoy es la versión 22.04,
Acceso ssh al servidor
Una vez contratado, tendremos todos los datos necesarios para administrar el servidor (IP, nombre usuario, contraseña, etc).
Vamos a acceder vía protocolo ssh al servidor para comprobar que todo va bien. En este caso desde windows podemos usar el cliente putty, desde Linux lo detallo en otro artículo. Enlace de descarga de Putty.
En el campo Host Name (or Ip address), introducimos la ip o el host name, que nos proporciona el proveedor ovh. En port, 22,
A continuación se nos abre un aviso que siempre se lanza cuando se intenta acceder por primera vez a un servidor mediante ssh. Le damos al botón SI, para confirmar que si estamos seguros de acceder a dicho sevidor,
Y ya tenemos acceso al servidor,
Conexión a Runcloud
Desde la opción Servers a la izquierda, hacemos clic en el botón Connect a New Server,
A continuación runcloud nos ofrece una serie de proveedores de vps, pero ovh al no estar incluído en la lista, optamos por la opción other,
Requisitos para la conexión a Runcloud
A continuación, en el tipo de provisión (Provision Type), escogemos la opción –> Connect via IP Address.
A continuacón nos muestra básicamente unos requisitos que tenemos que cumplir para que se pueda ejecutar la conexión satisfactoriamente, entre los cuales nos dice:
- Debemos tener contratado un VPS previamente.
- Asegurarnos que la instalación limpia de Ubuntu server 20.04 ó 22.04 LTS (las versiones LTS ó long time support, cambiarán según la fecha en que estemos, siguiendo la cronología de actualizaciones de las versiones de Ubuntu server LTS).
- La conexión no se puede realizar a un servidor ya en producción (sólo instalaciones limpias)
- Runcloud no soport NAT VPN y OpenVZ.
- Y hemos de habilitar los puertos 80/tcp, 443/tcp and 34210/tcp.
Apertura de los puertos 80, 443, 34210 por tcp con ufw
Para comprobar si los puertos mencionados en el último punto están abiertos o no, lo hacemos mediante el siguiente comando,
nc -zv IP-DEL-SERVIDOR 80
Con el comando anterior chequeamos si el puerto 80 está abierto, y la respuesta que nos arroja es,
Observamos Connection refused, luego dicho puerto no está abierto. Si intentamos hacer la conexión con runcloud será imposible. Compruebo lo mismo con los demás puertos, y ninguno está abierto. Por lo tanto, es necesario abrir los puertos, y para ello hacemos uso del cortafuegos UFW, que suele estar instalado por defecto en ubuntu server.
En primer lugar compruebo el estado de ufw,
sudo ufw status
Y vemos que está inactivo,
Procedemos a activar ufw, observamos como nos pide un paso previo de confirmación advirtiendo que se pueden interrumpir conexiones actuales, igualmente aceptamos tecleando y,
sudo ufw enable
ubuntu@vps-b4ad29e0:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
A continuación vamos a abrir los puertos que nos pide runcloud,
sudo ufw allow número_puerto/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 34210/tcp
A continuación para a hacer una configuración óptima de ufw, para un buen manejo de los puertos,
sudo ufw default deny incoming
sudo ufw default allow outgoing
ubuntu@vps-b4ad29e0:~$ sudo ufw default deny incoming
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)
ubuntu@vps-b4ad29e0:~$ sudo ufw default allow outgoing
Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)
Comprobamos de nuevo el estado de los puertos con ufw ,
ubuntu@vps-b4ad29e0:~$ sudo ufw status
Status: active
To Action From
-- ------ ----
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
34210/tcp ALLOW Anywhere
22 ALLOW Anywhere
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
34210/tcp (v6) ALLOW Anywhere (v6)
22 (v6) ALLOW Anywhere (v6)
Y comprobamos que ya están los puertos requeridos abiertos,
También vamos a configurar la zona horaria del servidor,
Vamos a cambiar la contraseña por defecto de root y del usuario ubuntu que viene por defecto. Primero nos hacemos superusuario, entrando como root, cambiamos el passwd y por último hacemos reboot del sistema posteriormente,
//Primero con root
ubuntu@vps-b4ad29e0:~$ sudo su
root@vps-b4ad29e0:/home/ubuntu# passwd
New password:
Retype new password:
passwd: password updated successfully
root@vps-b4ad29e0:/home/ubuntu# sudo reboot
//Segundo con el usuario ubuntu
ubuntu@vps-b4ad29e0:~$ passwd
Changing password for ubuntu.
Current password:
New password:
Retype new password:
passwd: password updated successfully
A continuación ya tenemos el vps listo para conectar a runcloud, y seguimos con el siguiente paso en la interfaz del propio panel de control.
Marcamos los siguientes botones,
- Connect via IP Address, ya que lo vamos a conectar al servidor con la ip.
- Installation type: Native
- Configure server for: Nginx
- Server Name: Podemos poner el nombre que queramos
- Ip Address: La ip propia del servidor
El siguiente paso, nos permite dos opciones,
- Direct Installation, no es necesario volver a la linea de comandos del servidor
- Manual Installation, a través de comandos
Aquí tenemos el modo Manual, el cual consiste en pegar una serie de comandos que nos arroja runcloud en la terminal del servidor,
Para este ejemplo, lo voy a probar en modo Direct,
Y vemos que el propio runcloud nos advierte, que el modo directo solo está habilitado para determinados proveedores de vps, y en efecto, no es posible.
Por lo tanto procedemos ha hacerlo en modo Manual,
Para ello nos logueamos como root, y procedemos a copiar el comando,
ubuntu@vps-b4ad29e0:~$ sudo su
root@vps-b4ad29e0:/home/ubuntu#export DEBIAN_FRONTEND=noninteractive; echo 'Acquire::ForceIPv4 "true";' | tee /etc/apt/apt.conf.d/ ................................................ etc etc etc etc
Finalmente el terminal nos dará usuario y contraseña tanto de root y mysql,
Por último, felizmente podemos comprobar como se ha conectado correctamente a Runcloud,