Cómo instalar Pydio Cells File Sharing en Rocky Linux 9

Pydio Cells es una plataforma de colaboración e intercambio de documentos de código abierto para tu organización. Te permite compartir documentos y archivos en toda tu organización y te da el control total de tu entorno de intercambio de documentos. Las Células Pydio tienen un rendimiento rápido, pueden gestionar transferencias de archivos de gran tamaño y proporcionan una automatización avanzada del flujo de trabajo.

En esta guía, te mostraremos cómo instalar las Células Pydio en un servidor Rocky Linux 9 con servidor MariaDB y servidor web Apache o httpd. También asegurarás tu instalación con SSL/TLS de Letsencrypt.

Requisitos previos

Antes de empezar, asegúrate de que tienes

  • Un servidor Rocky Linux 9.
  • Un usuario no root con privilegios sudo.
  • Un nombre de dominio apuntando a una dirección IP del servidor.
  • SELinux con estado permisivo.

Instalación de dependencias

Pydio cells es una plataforma de colaboración e intercambio de documentos que puedes ejecutar con un servidor web Apache y un servidor MariaDB. Así que primero, instalarás y arrancarás tanto Apache como MariaDB en tu máquina Rocky Linux.

Para empezar, instala el repositorio EPEL, luego instala el servidor MariaDB y el servidor web Apache con el siguiente comando. Además, instalarás certbot para generar certificados SSL/TLS.

sudo dnf install epel-release
sudo dnf install mariadb-server httpd certbot wget

Introduce Y para confirmar la instalación.

instalar deps

Una vez finalizada la instalación, inicia y habilita el servicio httpd con el siguiente comando.

sudo systemctl start httpd
sudo systemctl enable httpd

A continuación, verifica el servicio httpd para asegurarte de que el servicio funciona y está habilitado.

sudo systemctl status httpd

Como puedes ver a continuación, el servicio httpd se está ejecutando.

verificar httpd

A continuación, inicia y habilita el servidor mariadb con el siguiente comando.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Por último, verifica el servicio mariadb con el siguiente comando para asegurarte de que se está ejecutando.

sudo systemctl status mariadb

A continuación puedes ver que el servicio mariadb también se está ejecutando.

verificar mariadb

Configurar Firewalld

Por defecto, firewalld está activo en Rocky Linux. Así que ahora debes abrir ambos servicios HTTP y HTTPS en firewalld y permitir el acceso a tu servidor web httpd.

Ejecuta el siguiente comando para abrir ambos servicios HTTP y HTTPS en firewalld. A continuación, recarga firewalld para aplicar los cambios.

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

Ahora verifica el estado de firewalld utilizando el comando que aparece a continuación. Asegúrate de que tanto el servicio HTTP como el HTTPS están añadidos a firewalld.

sudo firewall-cmd --list-all

configurar firewalld

Configurar el servidor MariaDB

Por defecto, el servidor MariaDB viene sin autenticación de contraseña. Para asegurar y configurar la contraseña, puedes utilizar la utilidad mariadb-secure-installation. Después, también tienes que crear una nueva base de datos y un nuevo usuario para tu instalación de Pydio Cells.

Para asegurar la instalación del servidor MariaDB, ejecuta el siguiente comando.

sudo mariadb-secure-installation

Una vez ejecutado el comando, se te pedirán algunas de las configuraciones de MariaDB que se indican a continuación:

  • ¿Cambiar la autenticación local a unix_socket? Introduce n.
  • ¿Establecer la nueva contraseña raíz de MariaDB? Introduce y para confirmar, luego 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.

Ahora que has asegurado MariaDB y configurado la contraseña de root, pasa a crear una nueva base de datos y un nuevo usuario para Pydio Cells.

Accede al servidor MariaDB con el siguiente comando. Escribe tu contraseña raíz de MariaDB cuando se te solicite.

sudo mariadb -u root -p

Ejecuta las siguientes consultas para crear una nueva base de datos MariaDB y un nuevo usuario para Pydio Cells. En este ejemplo, crearás una nueva base de datos Células con el usuario pydio. Además, asegúrate de cambiar la siguiente contraseña por la tuya.

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

crear usuario db

A continuación, ejecuta la siguiente consulta para verificar los privilegios del usuario pydio. Asegúrate de que el usuario pydio puede acceder a las celdas de la base de datos.

SHOW GRANTS FOR 'pydio'@'localhost';

Por último, escribe quit para salir del servidor MariaDB.

mostrar usuario

Añadir el usuario pydio

En esta sección, crearás un nuevo usuario Linux que se utilizará para ejecutar las Celdas Pydio. También cargarás algunas variables de entorno globales para Pydio.

Para crear un nuevo usuario pydio, ejecuta el siguiente comando.

sudo useradd -m -s /bin/bash pydio

Ahora ejecuta el siguiente comando para crear los directorios necesarios /opt/pydio/bin y /var/cells que serán utilizados por Pydio Cells.

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

Crea un nuevo script de perfil bash /etc/profile.d/cells-env.sh y hazlo ejecutable utilizando el siguiente comando. Este archivo será cargado automáticamente por los usuarios.

sudo touch /etc/profile.d/cells-env.sh
sudo chmod +x /etc/profile.d/cells-env.sh

Abre el archivo /etc/profile.d/cells-env.sh utilizando el comando editor nano.

sudo nano /etc/profile.d/cells-env.sh

Añade la siguiente configuración para crear variables de entorno para Pydio Cells.

export CELLS_WORKING_DIR=/var/cells
export CELLS_BIND=127.0.0.1:8080
export CELLS_EXTERNAL=https://cells.hwdomain.io

Cuando hayas terminado, guarda y sal del archivo.

A continuación se detallan las variables de entorno para Pydio Cells:

  • CELLS_WORKING_DIR: el directorio de trabajo por defecto para Pydio.
  • CELLS_BIND: dónde se ejecutarán las Células de Pydio. En este ejemplo, Pydio se ejecutará en 127.0.0.1:8080.
  • CELLS_EXTERNAL: un nombre de dominio externo que el cliente puede visitar para acceder a tu instalación de Pydio Cells.

Descarga de Pydio Cells

Ahora que ya has instalado y configurado las dependencias, y también has creado un nuevo usuario para Pydio. Ahora puedes proceder a descargar Pydio en tu sistema Rocky Linux.

Descarga e instala Pydio Cells en /opt/pydio/bin/cells utilizando el siguiente comando. El Pydio Cells es un único programa binario que puedes instalar en la ruta binaria.

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

Una vez descargado, hazlo ejecutable con el comando siguiente.

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

Ahora ejecuta el comando siguiente para permitir que el programa /opt/pydio/bin/cells se enlace y se ejecute en el puerto privilegiado. A continuación, crea un enlace simbólico de Pydio Cells en la ruta bin del sistema.

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

A continuación, inicia sesión como usuario pydio y comprueba las variables de entorno disponibles con el siguiente comando. Asegúrate de que cada variable de entorno apunta al valor adecuado como en el archivo /etc/profile.d/cells-env.sh.

su - pydio

echo $CELLS_WORKING_DIR
echo $CELLS_BIND
echo $CELLS_EXTERNAL

comprobar entorno

Por último, puedes verificar la versión de Pydio Cells con el siguiente comando.

cells version

comprobar versión

Como se muestra a continuación, Pydio Cells 4.3.5 está instalado en tu sistema Rocky Linux.

Instalación de Pydio Cells a través de la línea de comandos

Ahora que has descargado Pydio Cells, puedes seguir configurando la instalación de Pydio Cells mediante la línea de comandos. De esta forma, puedes instalar Pydio fácilmente desde tu terminal.

Ejecuta el siguiente comando cells para configurar la instalación de Pydio Cells a través de la línea de comandos.

cells configure --cli

A continuación se te preguntarán algunas configuraciones:

  • Conexión a la base de datos: selecciona vía TCP, e introduce los detalles del host, puerto, usuario y contraseña de tu base de datos MariaDB.
  • Configuración de MongoDB: Introduce n para no.
  • Configuración del usuario administrador: introduce tu usuario administrador y contraseña para Pydio Cells.
  • Ubicación de almacenamiento por defecto: pulsa ENTER para usar la predeterminada y continuar.

Una vez configurado todo, debería iniciarse la instalación. Cuando termine, deberías obtener una salida ‘Instalación Finalizada’.

instalar células

Ejecutar Pydio Cells como servicio Systemd

En esta sección, crearás un nuevo archivo de servicio systemd que se utilizará para ejecutar Pydio Cells. Con esto, podrás gestionar fácilmente Pydio Cells a través de la utilidad de comandos systemctl.

Crea un nuevo archivo de servicio systemd /etc/systemd/system/cells.service utilizando el siguiente comando del editor nano.

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

Añade la configuración que aparece a continuación para configurar Pydio Cells como un servicio systemd. También puedes ver que Pydio se ejecutará dentro del usuario pydio, y asegúrate de ajustar las variables de entorno con tu configuración.

[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=127.0.0.1:8080
Environment=CELLS_EXTERNAL=https://cells.hwdomain.io

[Install]
WantedBy=multi-user.target

Cuando hayas terminado, guarda y sal del archivo.

Ahora ejecuta el siguiente comando para recargar el gestor systemd.

sudo systemctl daemon-reload

A continuación, inicia y habilita el servicio cells con el siguiente comando.

sudo systemctl start cells
sudo systemctl enable cells

Por último, comprueba el estado del servicio de células con el comando siguiente. Deberías tener el servicio cells funcionando en tu sistema.

sudo systemctl status cells

pydio células systemd

Configurar el proxy inverso httpd

Ahora que Pydio Cells se está ejecutando, necesitarás crear una nueva configuración httpd que se utilizará como proxy inverso. Además, necesitas generar un certificado SSL/TLS para asegurar tu instalación.

En primer lugar, crea un nuevo directorio /var/www/html/cells/public_html utilizando el comando que aparece a continuación.

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

Genera certificados SSL/TLS utilizando el comando certbot que aparece a continuación. Asegúrate de cambiar la dirección de correo electrónico y el nombre de dominio de destino de tu instalación de Pydio Cells.

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

Una vez finalizado el proceso, crea un nuevo archivo de host virtual httpd /etc/httpd/conf.d/cells.conf utilizando el siguiente comando del editor nano.

sudo nano /etc/httpd/conf.d/cells.conf

Introduce la siguiente configuración y asegúrate de cambiar el nombre de dominio por el de tu instalación de destino.

<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 /var/log/httpd/error.log
CustomLog /var/log/httpd/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>

Cuando hayas terminado, guarda el archivo y sal.

Ahora, ejecuta el siguiente comando para verificar la sintaxis de httpd. A continuación, reinicia el servicio httpd para aplicar tus cambios.

sudo apachectl configtest
sudo systemctl restart httpd

Si la sintaxis httpd es correcta, deberías ver una salida Sintaxis OK.

verificar httpd

Por último, inicia tu navegador web y visita el nombre de dominio de Pydio Cells, como https://ceels.hwdomain.io/. Si la instalación se ha realizado correctamente, deberías ver la página de inicio de sesión de Pydio Cells.

Introduce el usuario administrador y la contraseña que has creado, y haz clic en INTRO.

página de acceso

Una vez conectado, deberías ver el panel de usuario de Pydio Cells como el siguiente:

salpicadero de células pídicas

Conclusión

¡Enhorabuena! Ya has instalado correctamente Pydio Cells en el servidor Rocky Linux 9. Has instalado Pydio Cells con el servidor de base de datos MariaDB y el proxy inverso httpd. Además, has asegurado tu instalación con certificados SSL/TLS de Letsencrypt.

También te podría gustar...