Cómo instalar el servidor de compartición de archivos Pydio Cells en Ubuntu 22.04

Pydio Cells también conocido como Pydio es una aplicación de código abierto para compartir y sincronizar archivos escrita en lenguaje Golang. Se ejecuta en un servidor o en la nube y se utiliza para compartir archivos con el cliente. Es una herramienta de colaboración y compartición de documentos autoalojada que te permite compartir y acceder a diversos documentos como archivos, imágenes y vídeos desde cualquier lugar mediante una aplicación móvil, un software de escritorio o un navegador web. Ofrece clientes nativos para Linux, Windows y macOS, y clientes móviles para Android e iOS.

Esta guía explicará cómo instalar la aplicación para compartir archivos Pydio en Ubuntu 22.04.

Requisitos previos

  • Un servidor con Ubuntu 22.04.
  • Una contraseña de root configurada en el servidor.

Instalar y configurar MariaDB

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

apt install mariadb-server -y

después de instalar el servidor MariaDB, puedes asegurar 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

A continuación, inicia sesión en MariaDB como usuario root:

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;

Instalar Células Pydio en Ubuntu 22.04

Por defecto, el paquete Pydio no está disponible en el repositorio de Ubuntu 22.04. 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 adecuado 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:

Pydio Cells Home Edition
 Version: 	4.0.5
 Built: 	01 Dec 22 04:24 +0000
 Git commit: 	406762a4b5bff7b60189291ad4ee16c69a94ecd7
 OS/Arch: 	linux/amd64
 Go version: 	go1.19.3

Configurar células Pydio

A continuación, configura las celdas Pydio utilizando el siguiente comando:

cells configure

Se te pedirá que selecciones los distintos tipos de instalación.

Welcome to Pydio Cells Home Edition installation 
Pydio Cells Home Edition (v4.0.5) 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.

? Browser-based (requires a browser access)

Selecciona la instalación basada en navegador y pulsa la tecla Intro. Una vez configuradas las Células Pydio, 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)
Installation Server is starting...
Listening to: https://0.0.0.0:8080

2022-12-13T05:43:12.641Z	INFO	pydio.rest.config	starting	{"service": "pydio.rest.config", "hook router to": "/a/config"}
2022-12-13T05:43:12.659Z	INFO	pydio.rest.install	starting	{"service": "pydio.rest.install", "hook router to": "/a/install"}
Open a browser window to: [https://0.0.0.0:8080]
2022-12-13T05:43:14.741Z	INFO	pydio.server.caddy	? Created a new local CA at "rootCA.pem" ????
2022-12-13T05:43:14.858Z	INFO	pydio.server.caddy	? Created a new certificate valid for the following names ????
2022-12-13T05:43:14.858Z	INFO	pydio.server.caddy	 - "127.0.0.1"
2022-12-13T05:43:14.858Z	INFO	pydio.server.caddy	 - "139.84.138.121"
2022-12-13T05:43:14.859Z	INFO	pydio.server.caddy	 - "localhost"
2022-12-13T05:43:14.859Z	INFO	pydio.server.caddy	? The certificate is at "5b92168f4e3239411477f1f5f42539f4.pem" 
 and the key at "5b92168f4e3239411477f1f5f42539f4-key.pem"
2022-12-13T05:43:14.859Z	INFO	pydio.server.caddy	
2022-12-13T05:43:14.859Z	INFO	pydio.server.caddy	
2022-12-13T05:43:14.859Z	INFO	pydio.server.caddy	???? 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-12-13T05:43:14.860Z	INFO	pydio.server.caddy	???? If you are developing locally, you may install the RootCA in your system trust store to see a green light in your browser!
2022-12-13T05:43:14.860Z	INFO	pydio.server.caddy	????  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-12-13T05:43:14.860Z	INFO	pydio.server.caddy	
2022-12-13T05:43:14.862Z	WARN	pydio.server.caddy	admin - admin endpoint disabled
2022-12-13T05:43:14.862Z	INFO	pydio.server.caddy	tls.cache.maintenance - started background certificate maintenance{"cache": "0xc0002bdab0"}
2022-12-13T05:43:14.863Z	INFO	pydio.rest.install	ready
2022-12-13T05:43:14.864Z	INFO	pydio.web.install	ready
2022-12-13T05:43:14.865Z	INFO	pydio.rest.config	ready
2022-12-13T05:43:14.865Z	WARN	pydio.server.caddy	tls - stapling OCSP{"error": "no OCSP stapling for [localhost 127.0.0.1 139.84.138.121]: no OCSP server specified in certificate"}
2022-12-13T05:43:14.865Z	WARN	pydio.server.caddy	http - automatic HTTP->HTTPS redirects are disabled{"server_name": "srv0"}
2022-12-13T05:43:14.866Z	INFO	pydio.server.caddy	autosaved config (load with --resume flag) - {"file": "/root/.config/pydio/cells/caddy/autosave.json"}
2022-12-13T05:43:14.866Z	INFO	pydio.server.caddy	tls - cleaning storage unit{"description": "FileStorage:/root/.config/pydio/cells/caddy"}
2022-12-13T05:43:14.866Z	INFO	pydio.server.caddy	tls - finished cleaning storage units

En este punto, Pydio Cells está instalado y configurado. Ahora puedes pasar al siguiente paso.

Acceder a la Interfaz Web de Pydio Cells

Ahora puedes acceder a Pydio Cells utilizando la URL https://your-server-ip:8080. Deberías ver la página del acuerdo de Licencia de Pydio Cells:

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.

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:

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

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

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:

Crear archivo 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-12-13 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>

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

Ahora puedes acceder al panel de Pydio Cells utilizando la URL https://your-server-ip:8080

Conclusión

Enhorabuena! has instalado y configurado correctamente Pydio Cells en Ubuntu 22.04. Ahora puedes desplegar Pydio Cells en tu propio servidor, subir tus archivos, documentos e imágenes desde el tablero 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...