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.
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.
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.
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;
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.
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
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.
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.
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:
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
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).
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.
Si todo va bien, deberías ver el panel de usuario de Pydio Cells de la siguiente manera:
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.
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.