Alojar aplicaciones en un servidor es una tarea que suele requerir cierta curva de aprendizaje que varía de una aplicación a otra. Yunohost permite instalar aplicaciones en un servidor de forma sencilla. yunohost incluye
- El servidor web NGINX
- Un servidor de correo con Postfix, Dovecot, Rspamd y DKIM
- Un servidor Jabber/XMPP a través de Metronome
- Un gestor de dominios y certificados SSL apoyado en Let’s Encrypt
- Firewall
- Protección contra ataques de fuerza bruta mediante fail2ban
- Un directorio LDAP para los usuarios
Para instalarlo necesitamos un servidor con las siguientes características
- Una instalación limpia de la última versión estable de Debian (Raspberry Pi OS también nos sirve)
- Un mínimo de 1GB de RAM
- Una partición de Intercambio de 1GB (opcional)
- Una CPU X64 o ARM con 2 núcleos o más (X64 es compatible con más aplicaciones)
- Un nombre de dominio (si no tenemos uno podemos solicitar uno durante la instalación de Yunohost, pero no lo he probado)
- Un proveedor de internet que nos permita abrir el puerto 25 y establecer un registro DNS inverso (si no vamos a usar el servidor de correo podemos ignorar esto)
En caso de usar un hosting nos conectaremos mediante SSH con el nombre de usuario que nos proporcionó el proveedor y obtenemos privilegios de root con “sudo su”. En caso de usar una Raspberry Pi establecemos una contraseña para el usuario root con el comando “sudo passwd” e iniciamos sesión como este usuario de forma local (no sin antes cerrar la sesión del usuario pi)
Una vez que estemos dentro introducimos el siguiente comando
curl https://install.yunohost.org | bash
El instalador actualizará el sistema
Después nos preguntará si queremos sobrescribir la configuración de algunos programas, a lo que responderemos si
Nos preguntará si queremos que Yunohost administre la configuración del servidor SSH, a lo que respondemos si
Después de esto se instalarán los componentes
En caso de usar una Raspberry Pi esta eliminará el usuario pi y se reiniciará. En caso de usar un servidor con Debian debemos reiniciar manualmente al terminar de instalar con el comando “sudo reboot”
Ahora introducimos en el navegador la dirección IP de nuestro servidor y veremos una advertencia de seguridad como la siguiente
Ignoraremos la advertencia por el momento y continuamos. Veremos la siguiente página
El asistente de postinstalación nos pedirá nuestro nombre de dominio principal
Este nombre de dominio se utilizará como nombre de host para el servidor. Si nuestro nombre de dominio es example.com y queremos alojar un blog en el dominio raíz y el resto de aplicaciones en subdominios recomiendo elegir algo como subdominio.example.com para el dominio principal y posteriormente agregar el dominio example.com para el blog y las cuentas de correo.
El asistente nos pedirá una contraseña para el administrador
Una vez establecida la contraseña del administrador se realizará la configuración del sistema y al terminar podremos iniciar sesión
Ahora nos conectamos mediante SSH al servidor con el usuario admin de la siguiente forma
ssh admin@example.com
Introducimos la contraseña que elegimos para el administrador y eliminamos el usuario que nos dio el proveedor de hosting
sudo userdel -r usuario
Si vamos a utilizar el protocolo mosh para administrar el sistema necesitamos abrir los puertos correspondientes de la siguiente forma
sudo yunohost firewall allow UDP 60000:61000
Iniciamos sesión en el portal de administración y nos vamos a la sección de diagnósticos para revisar si nos falta algún paso
En mi caso ya tenía listos los registros A y AAAA para hacer accesible el servidor a través del nombre de host. Para poder utilizar el servidor de correo necesitamos apuntar el registro DNS inverso (también conocido como PTR) de la dirección IP del servidor al nombre de dominio establecido como principal durante el asistente. Este valor también debemos colocarlo como un registro MX con prioridad 10 apuntando al dominio raíz. Si nuestro dominio es example.com y seleccionamos subdominio.example.com como principal, debemos apuntar tanto el registro PTR como el MX a subdominio a subdominio.example.com. El resto de registros DNS se pueden establecer de la forma indicada por el diagnóstico. En mi caso no usaré el correo ni la mensajería XMPP en este servidor, por lo que omitiré los registros DNS asociados a ello.
En caso de no utilizar alguno de estos servicios recomiendo ir a Herramientas/Cortafuegos para desactivar los puertos 25, 587 y 993 en caso de no usar el correo y los puertos 5222 y 5269 en caso de no usar xmpp.
Una vez que tengamos los registros DNS básicos nos vamos a la sección de dominios, seleccionamos el principal, nos vamos a la sección SSL y podremos instalar un certificado con Let’s Encrypt. Una vez activo podremos entrar al panel de administración a través de https://dominio.com/yunohost/admin
Nos vamos a usuarios y crearemos nuestro primer usuario, el cual recibirá notificaciones del sistema por correo (en caso de no poderlo usar no las podremos leer)
Una vez creado el primer usuario podremos comenzar a instalar aplicaciones.
Este software lo recomiendo para uso personal o con amigos, pero no para su uso dentro de empresas debido a que en ese tipo de entornos un cluster de servidores suele hacer mejor las cosas