Cómo instalar Pydio en Debian 11

Pydio es una aplicación gratuita, de código abierto y basada en la nube para compartir archivos. Está escrita en el lenguaje Golang y se utiliza para compartir archivos con el cliente. Te permite compartir y acceder a varios documentos como archivos, imágenes y vídeos desde cualquier lugar utilizando una aplicación móvil, un software de escritorio o un navegador web. Tiene clientes nativos para Linux, Windows y macOS, y clientes móviles para Android e iOS.

En este tutorial, te mostraré cómo instalar la aplicación Pydio en Debian 11.

Requisitos previos

  • Un servidor que ejecute Debian 11.
  • Una contraseña de root configurada en el servidor.

Instalar y configurar MariaDB

Pydio utiliza MariaDB como base de datos, por lo que debes instalar el servidor de base de datos MariaDB en tu servidor. Puedes instalarlo ejecutando el siguiente comando:

dnf install mariadb-server -y

Una vez instalado MariaDB, asegura la instalación de MariaDB mediante el siguiente comando:

mysql_secure_installation

Este script establecerá una contraseña de root, eliminará los usuarios anónimos, no permitirá el inicio de sesión de root de forma remota y eliminará la base de datos de prueba, como se muestra a continuación:

Set root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

Una vez asegurada MariaDB, inicia sesión en el shell de MariaDB:

mysql -u root -p

Una vez que hayas iniciado sesión, crea una base de datos y un usuario con el siguiente comando:

CREATE DATABASE pydiodb;
CREATE USER 'pydiodb'@'localhost' IDENTIFIED BY 'password';

A continuación, concede todos los privilegios al Pydio con el siguiente comando:

GRANT ALL PRIVILEGES ON pydiodb.* to 'pydiouser'@'localhost';

A continuación, vacía los privilegios y sal del intérprete de comandos MariaDB con el siguiente comando:

FLUSH PRIVILEGES;
EXIT;

Instala las Células Pydio

Por defecto, el paquete Pydio no está incluido en el repositorio de Debian 11. Así que tendrás que descargarlo de su sitio web oficial.

Puedes descargar la última versión de Pydio cells utilizando el siguiente comando:

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

Una vez completada la descarga, establece el permiso de ejecutable en el archivo descargado y enlázalo al puerto HTTP utilizando el siguiente comando:

chmod +x /usr/bin/cells
setcap 'cap_net_bind_service=+ep' /usr/bin/cells

A continuación, verifica la versión de Pydio cells utilizando el siguiente comando:

cells version

Obtendrás la siguiente salida:

Warning: no private IP detected for binding broker. Will bind to 209.23.9.181, which may give public access to the broker.
Pydio Cells Home Edition
 Version: 	3.0.6
 Built: 	22 Mar 22 06:06 +0su - pydio 
cells configure000
 Git commit: 	2165523347d2b9860d9c86236b7a518456d9cef3
 OS/Arch: 	linux/amd64
 Go version: 	go1.15.14

Configurar células Pydio

A continuación, tendrás que configurar las Células Pydio. Puedes configurarlo con el siguiente comando:

cells configure

Se te pedirá que elijas entre los modos de instalación basado en navegador y basado en línea de comandos.

Welcome to Pydio Cells Home Edition installation 
Pydio Cells Home Edition (v3.0.3) will be configured to run on this machine.
Make sure to prepare access and credentials to a MySQL 5.6+ (or MariaDB equivalent) server.
Pick your installation mode when you are ready.

Selecciona la instalación basada en navegador y pulsa la tecla Intro. Una vez configurado Pydio Cells, obtendrás la siguiente salida:

Use the arrow keys to navigate: ↓ ↑ → ← 
? Installation mode: 
  ? Browser-based (requires a browser access)
    Command line (performed in this terminal)

? Browser-based (requires a browser access)
2022-04-02T11:16:18.544Z        INFO    pydio.gateway.rest      Started
2022-04-02T11:16:18.685Z	INFO	pydio.rest.install	Started
2022-04-02T11:16:22.010Z	INFO		

Installation Server is starting...
Listening to: 0.0.0.0:8080

2022-04-02T11:16:22.366Z	INFO		? Created a new local CA at "/root/.config/pydio/cells/certs/rootCA.pem" ????
2022-04-02T11:16:22.366Z	INFO		? Created a new certificate valid for the following names ???? - "127.0.0.1" - "209.23.9.181" - "localhost"
2022-04-02T11:16:22.366Z	INFO		? The certificate is at "/root/.config/pydio/cells/certs/e6de382e6f121a9072d77b25ba622a36.pem" 
2022-04-02T11:16:22.366Z	INFO		 and the key at "/root/.config/pydio/cells/certs/e6de382e6f121a9072d77b25ba622a36-key.pem"
2022-04-02T11:16:22.366Z	INFO		
2022-04-02T11:16:22.366Z	INFO		???? If you are behind a reverse proxy, you can either install the RootCA on the proxy machine trust store, or configure your proxy to `insecure_skip_verify` for pointing to Cells.
2022-04-02T11:16:22.367Z	INFO		???? If you are developing locally, you may install the RootCA in your system trust store to see a green light in your browser!
2022-04-02T11:16:22.367Z	INFO		????  To easily install the RootCA in your trust store, use https://github.com/FiloSottile/mkcert. Set the $CAROOT environment variable to the rootCA folder then use 'mkcert -install'
2022-04-02T11:16:22.367Z	INFO		
2022-04-02T11:16:22.367Z	INFO		Activating privacy features... done.
2022-04-02T11:16:22.367Z	INFO		https://0.0.0.0:8080
2022-04-02T11:16:22.367Z	INFO		WARNING: File descriptor limit 1024 is too low for production servers. At least 8192 is recommended. Fix with "ulimit -n 8192".
2022-04-02T11:16:24.365Z	INFO	pydio.gateway.proxy	Restarting proxy	{"caddyfile": "\n\n0.0.0.0:8080  {\n\troot \"/root/.config/pydio/cells/static/install\"\n\tproxy /install [::]:38327\n\n\t\n\ttls \"/root/.config/pydio/cells/certs/e6de382e6f121a9072d77b25ba622a36.pem\" \"/root/.config/pydio/cells/certs/e6de382e6f121a9072d77b25ba622a36-key.pem\"\n}\n\n\n\n\t "}
2022-04-02T11:16:24.868Z	INFO	pydio.gateway.proxy	Restart done

Opening URL https://0.0.0.0:8080 in your browser. Please copy/paste it if the browser is not on the same machine.

Acceder al Asistente de Instalación Web de Pydio Cells

En este punto, Pydio Cells se ha iniciado y está a la escucha en el puerto 8080. Puedes acceder a él utilizando la URL https://your-server-ip:8080. Deberías ver la página del acuerdo de Licencia de Pydio Cells:

Bienvenido a la instalación de pydio

Acepta el Contrato de Licencia y pulsa el botón SIGUIENTE. Deberías ver la página de configuración de la base de datos.

Configuración de la base de datos

Proporciona la configuración de tu base de datos y pulsa el botón SIGUIENTE. Debes ver la página de creación del usuario administrador:

Células de Pydio

Proporciona tu nombre de usuario admin, tu contraseña y pulsa el botón SIGUIENTE. Deberías ver la siguiente página:

Configuración avanzada de Pydio

Ahora, haz clic en el botón INSTALAR AHORA. Deberías ver la página de inicio de sesión de Pydio Cells:

Inicio de sesión en Pydio

Proporciona tu nombre de usuario admin, contraseña, y haz clic en el botón ENTRAR. Deberías ver el panel de control de Pydio en la siguiente página:

Pydio

Crear Fiel de Servicio Systemd para Pydio Cells

A continuación, tendrás que crear un archivo de servicio systemd para gestionar el servicio Pydio. Primero, pulsa CTRL+C para detener el servicio Pydio y luego crea un archivo de servicio systemd con el siguiente comando:

nano /etc/systemd/system/cells.service

Añade las siguientes líneas:

[Unit]
Description=Pydio Cells
Documentation=https://pydio.com
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/bin/cells

[Service]
User=root
Group=root
PermissionsStartOnly=true
AmbientCapabilities=CAP_NET_BIND_SERVICE
ExecStart=/usr/bin/cells start
Restart=on-failure
StandardOutput=journal
StandardError=inherit
LimitNOFILE=65536
TimeoutStopSec=5
KillSignal=INT
SendSIGKILL=yes
SuccessExitStatus=0
WorkingDirectory=/root

[Install]
WantedBy=multi-user.target

Guarda y cierra el archivo y vuelve a cargar el demonio systemd para aplicar los cambios:

systemctl daemon-reload

A continuación, inicia y activa el servicio Pydio con el siguiente comando:

systemctl enable cells
systemctl start cells

También puedes comprobar el estado de Pydio con el siguiente comando:

systemctl status cells

Obtendrás la siguiente salida:

? cells.service - Pydio Cells
     Loaded: loaded (/etc/systemd/system/cells.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-04-02 11:34:24 UTC; 6s ago
       Docs: https://pydio.com
   Main PID: 25764 (cells)
      Tasks: 119 (limit: 2341)
     Memory: 421.6M
        CPU: 4.114s
     CGroup: /system.slice/cells.service
             ??25764 /usr/bin/cells start
             ??25769 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.jobs$
             ??25775 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.search$
             ??25781 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.gateway.websocket$
             ??25783 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.pydiods1$
             ??25787 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.personal$
             ??25790 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.cellsdata$
             ??25802 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.versions$
             ??25805 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.thumbnail>
             ??25816 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.tasks$
             ??25819 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.objects.local1$
             ??25847 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.pydiods1$
             ??25848 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.personal$
             ??25849 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.cellsdat>
             ??25850 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.versions$
             ??25851 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.thumbnai>

Apr 02 11:34:29 debian11 cells[25764]: 2022-04-02T11:34:29.294Z        INFO        pydio.test.objects        Started
Apr 02 11:34:29 debian11 cells[25764]: 2022-04-02T11:34:29.307Z        INFO        pydio.gateway.grpc        Activating self-signed configura>
Apr 02 11:34:29 debian11 cells[25764]: 2022-04-02T11:34:29.308Z        INFO        pydio.gateway.grpc        Started
Apr 02 11:34:30 debian11 cells[25764]: 2022-04-02T11:34:30.191Z        INFO        pydio.grpc.data.index.pydiods1        Warning: no private >
Apr 02 11:34:30 debian11 cells[25764]: 2022-04-02T11:34:30.194Z        INFO        pydio.grpc.data.index.personal        Warning: no private >
Apr 02 11:34:30 debian11 cells[25764]: 2022-04-02T11:34:30.195Z        INFO        pydio.grpc.data.index.cellsdata        Warning: no private>
Apr 02 11:34:30 debian11 cells[25764]: 2022-04-02T11:34:30.204Z        INFO        pydio.grpc.data.index.thumbnails        Warning: no privat>
Apr 02 11:34:30 debian11 cells[25764]: 2022-04-02T11:34:30.212Z        INFO        pydio.grpc.data.index.versions        Warning: no private >
Apr 02 11:34:30 debian11 cells[25764]: 2022-04-02T11:34:30.326Z        INFO        pydio.gateway.proxy        Restarting proxy        {"caddy>

Conclusión

Enhorabuena! has instalado y configurado correctamente Pydio Cells en Debian 11. Ahora puedes subir tus archivos, documentos e imágenes desde el panel de Pydio y acceder a él desde cualquier móvil o navegador web. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...