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.
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.
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.
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 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;
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.
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
Por último, puedes verificar la versión de Pydio Cells con el siguiente comando.
cells version
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’.
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
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.
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.
Una vez conectado, deberías ver el panel de usuario de Pydio Cells como el siguiente:
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.