帮助中心
如何在Rocky Linux 9上安装Pydio Cells文件共享系统

如何在Rocky Linux 9上安装Pydio Cells文件共享系统


Pydio Cells 是适用于企业的开源文档共享和协作平台。它允许您在组织内共享文档和文件,并让您完全控制文档共享环境。Pydio Cells 性能快速,可处理巨大的文件传输量,并提供先进的工作流程自动化。


在本指南中,我们将向您介绍如何在配备 MariaDB 服务器和 Apache 或 httpd 网络服务器的 Rocky Linux 9 服务器上安装 Pydio Cells。您还将使用 Letsencrypt 的 SSL/TLS 加密安装。


前提条件


开始之前,请确保您拥有:


  • 一台 Rocky Linux 9 服务器
  • 拥有 sudo 权限的非 root 用户
  • 指向服务器 IP 地址的域名
  • 状态为允许的 SELinux


安装依赖项


Pydio cells 是一个文档共享和协作平台,可与 Apache 网络服务器和 MariaDB 服务器一起运行。因此,首先要在 Rocky Linux 机器上安装并启动 Apache 和 MariaDB。


首先,安装 EPEL 资源库,然后用以下命令安装 MariaDB 服务器和 Apache 网络服务器。此外,还要安装用于生成 SSL/TLS 证书的 certbot。

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

输入 Y 确认安装。



安装完成后,使用下面的命令启动并启用 httpd 服务。

sudo systemctl start httpd
sudo systemctl enable httpd

然后,验证 httpd 服务,确保服务正在运行并已启用。

sudo systemctl status httpd

如下所示,httpd 服务正在运行。




接下来,使用以下命令启动并启用 mariadb 服务器:

sudo systemctl start mariadb
sudo systemctl enable mariadb

最后,使用以下命令验证 mariadb 服务,确保其正在运行:

sudo systemctl status mariadb

下面可以看到 mariadb 服务也在运行:



配置防火墙


默认情况下,Firewalld 在 Rocky Linux 上处于激活状态。因此,现在必须在 firewalld 上同时打开 HTTP 和 HTTPS 服务,并允许访问 httpd 网络服务器。


运行下面的命令在 firewalld 上同时打开 HTTP 和 HTTPS 服务。然后,重新加载 firewalld 以应用更改。

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

现在使用下面的命令验证 firewalld 的状态。确保 HTTP 和 HTTPS 服务都已添加到 firewalld。

sudo firewall-cmd --list-all




配置 MariaDB 服务器


默认情况下,MariaDB 服务器不带密码验证。要确保密码安全并设置密码,可以使用 mariadb-secure-installation 工具。之后,还需要为安装的 Pydio Cells 创建一个新数据库和用户。


要确保 MariaDB 服务器安装安全,请运行下面的命令:

sudo mariadb-secure-installation

执行命令后,系统会提示你进行以下 MariaDB 配置:


  • 将本地验证切换为 unix_socket?输入 n。
  • 设置新的 MariaDB 根密码?输入 y 确认,然后键入 MariaDB 服务器部署的新密码。
  • 删除匿名用户?输入 y 确认。
  • 从部署中删除默认数据库测试?输入 y 加以确认。
  • 禁止 MariaDB root 从远程连接登录?输入 y 加以确认。
  • 重新加载表权限并应用更改?输入 y 并按 ENTER 键。


现在你已经确保了 MariaDB 的安全并配置了根密码,继续为 Pydio Cells 创建新数据库和用户。


用下面的命令登录 MariaDB 服务器。出现提示时,键入你的 MariaDB 根密码:

sudo mariadb -u root -p

运行下面的查询,为 Pydio Cells 创建一个新的 MariaDB 数据库和用户。在本例中,将创建一个新的数据库 cell,用户名为 pydio。此外,请确保将下面的密码改为你自己的密码。


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




接下来,运行以下查询验证用户 pydio 的权限。确保用户 pydio 可以访问数据库单元格:

SHOW GRANTS FOR 'pydio'@'localhost';

最后,键入 quit 退出 MariaDB 服务器。



添加 Pydio 用户


本节将创建一个新的 Linux 用户,用于运行 Pydio 单元。这也将为 Pydio 加载一些全局环境变量。


要创建新的 pydio 用户,请运行以下命令:

sudo useradd -m -s /bin/bash pydio

现在运行以下命令创建 Pydio Cells 所需的 /opt/pydio/bin 和 /var/cells 目录。

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

创建新的 bash 配置文件脚本 /etc/profile.d/cells-env.sh,并使用下面的命令使其可执行。用户将自动加载该文件。

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

使用 nano 编辑器命令打开 /etc/profile.d/cells-env.sh

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

添加以下配置,为 Pydio Cells 创建环境变量。

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

完成后,保存并退出文件。


下面是 Pydio Cells 的详细环境变量:

  • CELLS_WORKING_DIR:Pydio 的默认工作目录。
  • CELLS_BIND:Pydio Cells 的运行位置。在本例中,Pydio 将运行在 127.0.0.1:8080。
  • CELLS_EXTERNAL:客户端访问 Pydio Cells 的外部域名。


下载 Pydio Cells


现在,您已经安装并配置了依赖项,还为 Pydio 创建了一个新用户。现在就可以将 Pydio 下载到 Rocky Linux 系统中了。


使用以下命令将 Pydio Cells 下载并安装到 /opt/pydio/bin/cells。Pydio Cells 是一个二进制程序,可以安装在二进制路径上。

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

下载完成后,使用以下命令使其可执行。

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

现在运行下面的命令,允许 /opt/pydio/bin/cells 程序绑定并在特权端口运行。然后,在系统 bin 路径下创建 Pydio Cells 的符号链接。

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

接下来,以用户 pydio 的身份登录,并使用以下命令验证可用的环境变量。确保每个环境变量都指向了 /etc/profile.d/cells-env.sh 文件中的正确值。

su - pydio

echo $CELLS_WORKING_DIR
echo $CELLS_BIND
echo $CELLS_EXTERNAL




最后,你可以用下面的命令验证 Pydio Cells 的版本。

cells version




如下图所示,Pydio Cells 4.3.5 已安装在 Rocky Linux 系统中。


通过命令行安装 Pydio Cells


现在你已经下载了 Pydio Cells,可以继续通过命令行配置 Pydio Cells 的安装。这样,你就可以从终端轻松安装 Pydio 了。


运行下面的 cells 命令,通过命令行配置 Pydio Cells 的安装。

cells configure --cli

下面会询问你一些配置:

  • 数据库连接:选择通过 TCP,然后输入 MariaDB 数据库主机、端口、用户和密码的详细信息。
  • MongoDB 配置: 输入 n 表示否。
  • 管理用户配置:输入 Pydio Cells 的管理用户和密码。
  • 默认存储位置:按 ENTER 键使用默认值并继续。

一切配置完成后,就可以开始安装了。安装完成后,会出现 "Installation Finished(安装完成)"的提示。



将 Pydio Cells 作为 Systemd 服务运行


在本节中,你将创建一个新的 systemd 服务文件,用于运行 Pydio Cells。有了它,你就可以通过 systemctl 命令工具轻松管理 Pydio Cells。


使用以下 nano 编辑器命令创建新的 systemd 服务文件 /etc/systemd/system/cells.service

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

添加以下配置,将 Pydio Cells 设置为 systemd 服务。你还可以看到,Pydio 将以用户 pydio 的身份运行,请务必根据自己的设置调整环境变量。

[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

完成后,保存并退出文件。


现在运行下面的命令重新加载 systemd 管理器。

sudo systemctl daemon-reload

然后,使用以下命令启动并启用细胞服务。

sudo systemctl start cells
sudo systemctl enable cells

最后,使用以下命令验证细胞服务状态。细胞服务应该正在系统中运行。

sudo systemctl status cells


配置 httpd 反向代理


现在,Pydio Cells 已经运行,你需要创建一个新的 httpd 配置,用作反向代理。此外,你还需要生成 SSL/TLS 证书,以确保安装安全。


首先,使用下面的命令创建一个新目录 /var/www/html/cells/public_html。

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

使用下面的 certbot 命令生成 SSL/TLS 证书。确保更改 Pydio Cells 安装的电子邮件地址和目标域名。

sudo certbot certonly --agree-tos --email user@email.com --no-eff-email --webroot -w /var/www/html/cells/public_html -d cells.hwdomain.io

完成该过程后,使用以下 nano 编辑器命令创建新的 httpd 虚拟主机文件 /etc/httpd/conf.d/cells.conf

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

插入以下配置,并确保根据目标安装更改域名。

<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>

完成后,保存文件并退出。


现在,运行下面的命令来验证你的 httpd 语法。然后,重启 httpd 服务以应用您的更改。

sudo apachectl configtest
sudo systemctl restart httpd

如果你的 httpd 语法正确,应该会看到输出语法 OK。



最后,启动浏览器访问 Pydio Cells 域名,如 https://ceels.hwdomain.io/。如果安装成功,你会看到 Pydio Cells 登录页面。


输入你创建的管理员用户和密码,然后点击回车。




登录后,您将看到如下的 Pydio Cells 用户仪表板:



结论


恭喜你 你已经在 Rocky Linux 9 服务器上成功安装了 Pydio Cells。您已经在 Pydio Cells 上安装了 MariaDB 数据库服务器和 httpd 反向代理。此外,您还使用了来自 Letsencrypt 的 SSL/TLS 证书,确保了安装的安全性。

购物车