Cómo instalar Pydio Cells en Debian 12

Pydio Cells es una plataforma de colaboración y compartición de documentos autoalojada. También te da el control total de tu entorno de intercambio de documentos. Pydio Cells tiene un rendimiento rápido, puede gestionar transferencias de archivos de gran tamaño y proporciona una automatización avanzada del flujo de trabajo.

En la siguiente guía, te guiaré a través de la instalación de Pydio Cells como herramienta de colaboración y compartición de archivos en un servidor Debian 12. Instalarás Pydio Cells con el servidor de base de datos MariaDB y el proxy inverso Apache2. También asegurarás la instalación con certificados SSL/TLS que generarás mediante Certbot y Letsencrypt.

Requisitos previos

Antes de seguir adelante, reúne lo siguiente

  • Un servidor Debian 12.
  • Un usuario no root con privilegios de administrador.
  • Un nombre de dominio apuntando a la dirección IP del servidor.

Instalación de dependencias

Pydio Cells es un sistema de código abierto para compartir, gestionar y colaborar con archivos. Antes de instalarlo, debes instalar dependencias como MariaDB para el servidor de base de datos y Apache2 para el proxy inverso. También instalarás Certbot para generar certificados SSL/TLS para asegurar tu instalación.

En primer lugar, actualiza el índice de paquetes de Debian mediante el siguiente comando apt update.

sudo apt update

Ahora instala las dependencias mediante el siguiente comando apt install. Instalarás el servidor MariaDB que se utilizará como base de datos para Pydio Cells, el servidor web Apache2 como proxy inverso, y Certbot para generar certificados SSL/TLS desde Letsencrypt.

sudo apt install mariadb-server apache2 certbot wget

Escribe y para confirmar la instalación y pulsa ENTER.

instalar dependencias

Una vez instaladas las dependencias, verifica el servicio apache2 mediante el siguiente comando systemctl. Asegúrate de que el servicio apache2 está habilitado y en ejecución.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

La siguiente salida indica que apache2 está habilitado y en ejecución.

comprobando apache2

Por último, verifica el servicio mariadb mediante el siguiente comando systemctl.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

La salida debería ser similar, lo que indica que el servicio mariadb se está ejecutando y está habilitado.

comprobando mariadb

Configurar el servidor MariaDB

En el siguiente paso, asegurarás la instalación de tu servidor MariaDB mediante la utilidad mariadb-secure-installation. A continuación, crearás una nueva base de datos y un nuevo usuario para Pydio Cells.

Ejecuta el comando mariadb-secure-installation que aparece a continuación para empezar a configurar el servidor MariaDB.

sudo mariadb-secure-installation

El proceso de configuración te pedirá que introduzcas Y para confirmar la nueva configuración o n para no. A continuación se indican algunas de las configuraciones del servidor MariaDB que se te pedirán:

  • ¿Cambiar la autenticación local a unix_socket? Introduce n.
  • ¿Configurar la nueva contraseña raíz de MariaDB? Introduce y para confirmar, a continuación escribe la nueva contraseña para la implementación de tu servidor MariaDB.
  • ¿Eliminar el usuario anónimo? Introduce y para confirmar.
  • ¿Eliminar la prueba de base de datos por defecto del despliegue?. Introduce y para confirmar.
  • ¿Deshabilitar el inicio de sesión root de MariaDB desde conexiones remotas? Introduce y para confirmar.
  • ¿Recargar los privilegios de tabla y aplicar los cambios? Introduce y y pulsa ENTER.

Una vez asegurada la MariaDB, crearás una nueva base de datos y un nuevo usuario para la instalación de Pydio Cells. Para ello, debes iniciar sesión en el servidor MariaDB.

Ejecuta el siguiente comando mariadb para iniciar sesión en el servidor MariaDB. Introduce tu contraseña de root de MariaDB cuando se te solicite.

sudo mariadb -u root -p

Una vez conectado, ejecuta las siguientes consultas para crear una nueva célula de base de datos, un usuario pydio con la contraseña p4ssw0rd. A continuación, permite que el usuario pydio acceda a las celdas de la base de datos.

CREATE DATABASE cells;
CREATE USER 'pydio'@'localhost' IDENTIFIED BY 'p4ssw0rd';
GRANT ALL PRIVILEGES ON cells.* to 'pydio'@'localhost';
FLUSH PRIVILEGES;

crear base de datos y usuario

A continuación, ejecuta la siguiente consulta para asegurarte de que el usuario pydio puede acceder a las celdas de la base de datos.

SHOW GRANTS FOR 'pydio'@'localhost';

La siguiente salida te muestra que el usuario pydio tiene privilegios para acceder y gestionar las celdas de la base de datos.

comprobar subvenciones

Escribe quit para salir del servidor MariaDB.

Instalación de las celdas Pydio

Después de configurar el servidor MariaDB, instalarás las Células Pydio mediante un archivo binario estático. Y antes de eso, debes preparar tu sistema creando un nuevo usuario dedicado, configurando un directorio de datos y creando algunas variables de entorno del sistema que necesita Pydio Cells.

Configurar el usuario y las variables de entorno

En primer lugar, crea un nuevo usuario pydio utilizando el siguiente comando.

sudo useradd -m -s /bin/bash pydio

Ahora crea un nuevo directorio de datos /var/cells para tu instalación de Pydio Cells y cambia la propiedad al usuario pydio.

sudo mkdir -p /opt/pydio/bin /var/cells
sudo chown -R pydio: /opt/pydio /var/cells

A continuación, ejecuta el siguiente comando para crear una nueva configuración de variables de entorno /etc/profile.d/cells-env.sh y cambia el permiso a 0755 para que sea ejecutable. La variable de entorno CELLS_WORKING_DIR para el directorio de datos, CELLS_BIND para determinar qué dirección IP y puerto ejecutará Pydio Cells, y CELLS_EXTERNAL es el nombre de dominio de tu instalación de Pydio Cells.

sudo tee -a /etc/profile.d/cells-env.sh << EOF
export CELLS_WORKING_DIR=/var/cells
export CELLS_BIND=https://127.0.0.1:8080
export CELLS_EXTERNAL=https://cells.hwdomain.io
EOF
sudo chmod 0755 /etc/profile.d/cells-env.sh

sistema de configuración

Ahora inicia sesión como usuario pydio y verifica las variables de entorno CELLS_WORKING_DIR, CELLS_BIND y CELLS_EXTERNAL.

su - pydio
echo $CELLS_WORKING_DIR
echo $CELLS_BIND
echo $CELLS_EXTERNAL

Si tienes éxito, deberías ver que cada variable de entorno coincidirá con el archivo /etc/profile.d/cells-env.sh.

comprobación del entorno

Descarga e instalación de Pydio Cells

Ejecuta el siguiente comando para descargar el archivo binario estático de Pydio Cells a /opt/pydio/bin/cells.

export distribId=cells
wget -O /opt/pydio/bin/cells https://download.pydio.com/latest/${distribId}/release/{latest}/linux-amd64/${distribId}

Una vez descargadas las Células Pydio, hazlas ejecutables utilizando el siguiente comando. A continuación, escribe exit para cerrar la sesión del usuario pydio.

chmod a+x /opt/pydio/bin/cells
exit

Ahora ejecuta el siguiente comando para permitir que las celdas se enlacen en los puertos privilegiados. A continuación, crea un enlace simbólico para el comando /opt/pydio/bin/cells a /usr/local/bin/cells.

sudo setcap 'cap_net_bind_service=+ep' /opt/pydio/bin/cells
sudo ln -s /opt/pydio/bin/cells /usr/local/bin/cells

Ahora vuelve a conectarte como usuario de pydio y comprueba el archivo binario de cells. A continuación, comprueba tu versión actual de cells.

su - pydio
which cells
cells version

Deberías ver que el archivo binario de cells se encuentra en /usr/local/bin/cells y que la versión de cells que se instaló es la 4.2.5.

comprobación de la versión de pydio

Configurar Pydio Cells

Con el archivo binario Pydio Cells instalado, empezarás a configurarlo, lo que puede hacerse mediante CLI (interfaz de línea de comandos) o navegador web. En este caso, configurarás Pydio Cells desde el terminal de línea de comandos, configurarás la base de datos, crearás el usuario admin y, a continuación, crearás un nuevo archivo de servicio systemd para ejecutar Pydia Cells en segundo plano.

Ejecuta el siguiente comando cells para empezar a configurar la instalación de Pydio Cells. El parámetro –cli te permite configurar Pydio Cells desde tu terminal con un entorno interactivo.

cells configure --cli

A continuación se muestran algunas configuraciones que se te pedirán:

  • Para la configuración de la base de datos, selecciona vía TCP e introduce el host de la base de datos como localhost, el puerto por defecto 3306, el nombre de la base de datos cells, el usuario pydio y la contraseña.
  • Introduce n cuando se te pregunte sobre la configuración de MongoDB para la instalación de Cells de alta disponibilidad.
  • Introduce el nuevo usuario administrador y la contraseña para tu instalación de Pydio Cells.
  • Para la configuración del almacenamiento, selecciona la opción /var/cells/data.

Cuando finalice el proceso de configuración, deberías obtener una salida Instalación Finalizada como la siguiente:

configurar celdas

Ahora que ya has configurado Pydio Cells, el siguiente paso será configurar las células para que se ejecuten en segundo plano como un servicio systemd. Esto te facilita la gestión de las células mediante la utilidad de comandos systemctl.

Utiliza el siguiente comando del editor nano para crear un nuevo archivo de servicio systemd /etc/systemd/system/cells.service.

sudo nano /etc/systemd/system/cells.service

Inserta la siguiente configuración y asegúrate de cambiar algunas variables de entorno CELLS_WORKING_DIR, CELLS_BIND y CELLS_EXTERNAL dentro de la configuración siguiente.

[Unit]
Description=Pydio Cells
Documentation=https://pydio.com
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/opt/pydio/bin/cells
[Service]
User=pydio
Group=pydio
PermissionsStartOnly=true
AmbientCapabilities=CAP_NET_BIND_SERVICE
ExecStart=/opt/pydio/bin/cells start
Restart=on-failure
StandardOutput=journal
StandardError=inherit
LimitNOFILE=65536
TimeoutStopSec=5
KillSignal=INT
SendSIGKILL=yes
SuccessExitStatus=0
WorkingDirectory=/home/pydio

# Add environment variables
Environment=CELLS_WORKING_DIR=/var/cells
Environment=CELLS_BIND=https://127.0.0.1:8080
Environment=CELLS_EXTERNAL=https://cells.hwdomain.io

[Install]
WantedBy=multi-user.target

Cuando hayas terminado, guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando systemctl para recargar el gestor systemd y aplicar el nuevo servicio systemd.

sudo systemctl daemon-reload

Inicia y activa el servicio cells utilizando el siguiente comando systemctl. Este comando añadirá el servicio cells para que se inicie automáticamente al arrancar el sistema.

sudo systemctl start cells
sudo systemctl enable cells

celdas systemd

Comprueba el estado del servicio de células utilizando el comando que aparece a continuación. El servicio Pydio Cells debería estar ejecutándose en 127.0.0.1 con el puerto 8080, tal y como se define en la variable de entorno CELLS_BIND.

sudo systemctl status cells

Si se está ejecutando, deberías obtener una salida como activo (en ejecución).

células en funcionamiento

Configurar Apache2 como proxy inverso

En este punto, las Células Pydio están activas y funcionando en segundo plano en localhost con el puerto xxx por defecto. En este paso, configurarás Apache2 como proxy inverso para tu aplicación Células Pydio. Además, generarás nuevos certificados SSL/TLS para tu nombre de dominio, así que asegúrate de que has preparado el nombre de dominio y apuntado a la dirección IP del servidor.

En primer lugar, ejecuta el siguiente comando a2enmod para habilitar algunas extensiones de Apache2 que se utilizarán como proxy inverso.

sudo a2enmod rewrite proxy proxy_http proxy_wstunnel http2 proxy_http2

A continuación, ejecuta el siguiente comando para crear un nuevo directorio /var/www/html/cells/public_html y cambia la propiedad al usuario www-data. Este directorio se utilizará para la verificación al generar los certificados Letsencrypt.

sudo mkdir -p /var/www/html/cells/public_html
sudo chown -R www-data:www-data /var/www/html/cells/public_html

Después, ejecuta el siguiente comando certbot para generar nuevos certificados SSL/TLS para tu dominio Pydio Cells. Asegúrate de cambiar la dirección de correo electrónico y el nombre de dominio con tu información.

sudo certbot certonly --agree-tos --email [email protected] --no-eff-email --webroot -w /var/www/html/cells/public_html -d cells.hwdomain.io

Cuando finalice el proceso, tus certificados SSL/TLS estarán disponibles en el directorio /etc/letsencrypt/live/domain.com.

A continuación, crea una nueva configuración de host virtual Apache2 /etc/apache2/sites-available/cells. conf utilizando el siguiente comando del editor nano.

sudo nano /etc/apache2/sites-available/cells.conf

Introduce la siguiente configuración y asegúrate de cambiar el nombre de dominio y la ruta de los certificados SSL/TLS con tu información.

<VirtualHost *:80>
    ServerName cells.hwdomain.io
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteCond %{SERVER_NAME} =cells.hwdomain.io
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<VirtualHost *:443>
ServerName cells.hwdomain.io
AllowEncodedSlashes On
RewriteEngine On

# be aware of this
# Allow reverse proxy via self-signed certificates
SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off

## The order of the directives matters.
# If Cells is not running with https, consider using ws instead of wss
ProxyPassMatch "/ws/(.*)" wss://localhost:8080/ws/$1 nocanon

## This rewrite condition is required if using Cells-Sync
# RewriteCond %{HTTP:Content-Type} =application/grpc [NC]
# RewriteRule /(.*) h2://localhost:8080/$1 [P,L]

ProxyPass "/" "https://127.0.0.1:8080/"
ProxyPassReverse "/" "https://127.0.0.1:8080/"

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

SSLCertificateFile /etc/letsencrypt/live/cells.hwdomain.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/cells.hwdomain.io/privkey.pem
#Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

Guarda el archivo y sal del editor cuando hayas terminado.

Ahora ejecuta el siguiente comando para activar el archivo de host virtual cells.conf y comprueba si hay errores en la sintaxis de Apache. Si la sintaxis de Apache2 es correcta, deberías obtener una salida Sintaxis OK.

sudo a2ensite cells.conf
sudo apachectl configtest

Por último, ejecuta el siguiente comando systemctl para reiniciar el servicio apache2 y aplicar los cambios. Con esto, tus Pydio Cells deberían ser accesibles a través de una conexión HTTPS segura del proxy inverso Apache2.

sudo systemctl restart apache2

Acceder a la instalación de Pydio Cells

Inicia tu navegador web y visita el nombre de dominio de la instalación de Pydio Cells, como https://cells.hwdomain.io/. Si todo va bien, deberías ser redirigido a la página de inicio de sesión de Pydio Cells.

Introduce el usuario y la contraseña de administrador que has creado durante el proceso de configuración, y haz clic en Intro.

acceder a pydio

Si todo va bien, deberías ver el panel de usuario de Pydio Cells de la siguiente manera:

tablero pydio

Haz clic en el espacio de trabajo Archivos Personales y aparecerá el gestor de archivos de Pydio Cells. Haz clic en el botón Nuevo y sube un nuevo archivo para asegurarte de que puedes subir archivos a Pydio Cells.

prueba de carga

Conclusión

Siguiendo esta guía, has instalado Pydio Cells en el servidor Debian 12. Has instalado Pydio Cells con el servidor de base de datos MariaDB y el proxy inverso Apache2, y además, también has asegurado tu instalación de Pydio Cells con certificados SSL/TLS generados desde Letsencrypt. A partir de aquí, ya puedes utilizar Pydio Cells para gestionar, colaborar y compartir tus documentos y archivos.

También te podría gustar...