本页内容
- 前置条件
- 安装依赖项
- 配置 Firewalld
- 配置 MariaDB 服务器
- 添加 Pydio 用户
- 下载 Pydio Cells
- 通过命令行安装 Pydio Cells
- 以 Systemd 服务方式运行 Pydio Cells
- 配置 httpd 反向代理
- 结语
Pydio Cells 是一个面向组织的开源文档共享与协作平台。它让你能够在组织内部共享文档和文件,并对文档共享环境拥有完全的控制权。Pydio Cells 性能优异,能够处理超大文件传输,并提供高级工作流自动化能力。
在本指南中,我们将演示如何在 Rocky Linux 9 服务器上安装 Pydio Cells,并搭配 MariaDB 服务器以及 Apache(即 httpd)Web 服务器。你还将使用 Letsencrypt 提供的 SSL/TLS 来加固你的安装。
前置条件
在开始之前,请确保你已具备:
- 一台 Rocky Linux 9 服务器。
- 一个拥有 sudo 权限的非 root 用户。
- 一个指向服务器 IP 地址的域名。
- SELinux 状态为 permissive(宽松)。
安装依赖项
Pydio Cells 是一个文档共享与协作平台,你可以配合 Apache Web 服务器和 MariaDB 服务器一起运行。因此,首先你需要在 Rocky Linux 机器上安装并启动 Apache 和 MariaDB。
开始之前,请先安装 EPEL 仓库,然后使用以下命令安装 MariaDB 服务器和 Apache Web 服务器。同时,你还将安装 certbot 用于生成 SSL/TLS 证书。
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 处于活动状态。因此,你现在必须在 firewalld 上开放 HTTP 和 HTTPS 服务,并允许访问你的 httpd Web 服务器。
运行以下命令在 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 root 密码?输入 y 确认,然后输入 MariaDB 服务器部署的新密码。
- 删除匿名用户?输入 y 确认。
- 从部署中删除默认的 test 数据库?输入 y 确认。
- 禁止 MariaDB root 从远程连接登录?输入 y 确认。
- 重新加载表权限并应用更改?输入 y 并按 ENTER。
既然你已经加固了 MariaDB 并配置了 root 密码,接下来为 Pydio Cells 创建一个新数据库和用户。
使用以下命令登录 MariaDB 服务器。出现提示时输入你的 MariaDB root 密码。
sudo mariadb -u root -p
运行以下查询,为 Pydio Cells 创建一个新的 MariaDB 数据库和用户。本示例中,你将创建一个名为 cells 的数据库,用户为 pydio。同时,请务必将下列密码替换为你自己的密码。
CREATE DATABASE cells;
CREATE USER 'pydio'@'localhost' IDENTIFIED BY 'p4ssw0rd';
GRANT ALL PRIVILEGES ON cells.* to 'pydio'@'localhost';
FLUSH PRIVILEGES;

接下来,运行以下查询验证用户 pydio 的权限。确保用户 pydio 能够访问 cells 数据库。
SHOW GRANTS FOR 'pydio'@'localhost';
最后,输入 quit 退出 MariaDB 服务器。

添加 Pydio 用户
在本节中,你将创建一个用于运行 Pydio Cells 的新的 Linux 用户。这也将为 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.howtoforge.local
完成后,保存并退出文件。
以下是 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 程序绑定并运行在特权端口。然后,为 Pydio Cells 在系统 bin 路径下创建一个符号链接。
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

如下图所示,你的 Rocky Linux 系统上已安装 Pydio Cells 4.3.5。
通过命令行安装 Pydio Cells
现在你已经下载了 Pydio Cells,可以继续通过命令行配置 Pydio Cells 的安装。这样,你可以轻松地在终端中完成 Pydio 的安装。
运行以下 cells 命令,通过命令行配置 Pydio Cells 的安装。
cells configure --cli
你将会被询问以下部分配置:
- 数据库连接:选择 TCP 方式,然后输入 MariaDB 数据库的主机、端口、用户和密码信息。
- MongoDB 配置:输入 n 表示否。
- 管理员用户配置:输入你的 Pydio Cells 管理员用户名和密码。
- 默认存储位置:按 ENTER 使用默认值并继续。
所有配置完成后,安装应当开始。完成后,你应该会看到 'Installation Finished'(安装完成)的输出。

以 Systemd 服务方式运行 Pydio Cells
在本节中,你将创建一个新的 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.howtoforge.local [Install] WantedBy=multi-user.target
完成后,保存并退出文件。
现在运行以下命令重新加载 systemd 管理器。
sudo systemctl daemon-reload
然后,使用以下命令启动并启用 cells 服务。
sudo systemctl start cells
sudo systemctl enable cells
最后,使用以下命令验证 cells 服务状态。你应该会看到 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
[email protected]
--no-eff-email --webroot -w /var/www/html/cells/public_html -d cells.howtoforge.local
流程完成后,使用以下 nano 编辑器命令创建新的 httpd 虚拟主机文件 /etc/httpd/conf.d/cells.conf。
sudo nano /etc/httpd/conf.d/cells.conf
插入以下配置,并务必将域名替换为你的目标安装域名。
<VirtualHost *:80>
ServerName cells.howtoforge.local
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{SERVER_NAME} =cells.howtoforge.local
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
ServerName cells.howtoforge.local
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.howtoforge.local/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/cells.howtoforge.local/privkey.pem
#Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
完成后,保存文件并退出。
现在,运行以下命令验证你的 httpd 语法。然后,重启 httpd 服务以应用更改。
sudo apachectl configtest
sudo systemctl restart httpd
如果你的 httpd 语法正确,你应该会看到 Syntax OK 的输出。

最后,打开你的网页浏览器并访问 Pydio Cells 域名,例如 https://ceels.howtoforge.local/ 。如果安装成功,你应该会看到 Pydio Cells 的登录页面。
输入你创建的管理员用户名和密码,然后点击 ENTER。

登录后,你应该会看到如下所示的 Pydio Cells 用户仪表盘:

结语
恭喜!你已成功在 Rocky Linux 9 服务器上安装了 Pydio Cells。你已使用 MariaDB 数据库服务器和 httpd 反向代理安装了 Pydio Cells。同时,你还使用了 Letsencrypt 提供的 SSL/TLS 证书加固了你的安装。