安装nginx/certbot/mariadb:
apt -y update
apt -y install nginx python3-certbot-nginx mariadb-server wget unzip初始化mariadb:
mysql_secure_installation登录mariadb:
mysql -u root -p创建数据库和用户:
CREATE DATABASE cells;
CREATE USER 'pydio'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON cells.* to 'pydio'@'localhost';
FLUSH PRIVILEGES;
exit新建一个名为pydio的普通用户:
useradd -m -s /bin/bash pydio创建需要用到的目录给予正确的所有者权限:
mkdir -p /opt/pydio/bin /var/cells
chown -R pydio: /opt/pydio /var/cells配置CELLS_WORKING_DIR环境变量,使其使用/var/cells目录存储数据:
echo 'export CELLS_WORKING_DIR=/var/cells' > /etc/profile.d/cells-env.sh
source /etc/profile.d/cells-env.sh
printenv登录到pydio用户:
su - pydio下载对应的二进制文件:
cd /opt/pydio/bin/
wget https://download.pydio.com/latest/cells/release/%7Blatest%7D/linux-amd64/pydio-cells-%7Blatest%7D-linux-amd64.zip
unzip pydio-cells-\{latest\}-linux-amd64.zip
rm -rf pydio-cells-\{latest\}-linux-amd64.zip
chmod a+x cells退出pydio用户:
exit[可选]让cells可以绑定低位端口,例如80、443。由于后续我们使用反向代理,这步骤可以省略,如果你使用内置的web服务器则需要执行此命令:
setcap 'cap_net_bind_service=+ep' /opt/pydio/bin/cells做一个软链接方便使用:
ln -s /opt/pydio/bin/cells /usr/local/bin/cells重新登录到pydio用户:
su - pydio执行如下命令:
cells version如果之前的配置一切正常将可以显示cells版本信息:
Pydio Cells Home Edition
Version: 4.2.6
Built: 08 Sep 23 14:32 +0000
Git commit: b8c970d06b15c30a8f8c3879c8e86f6823867bfa
OS/Arch: linux/amd64
Go version: go1.19.12现在开始配置cells:
cells configure选择通过浏览器进行配置:

同意软件许可协议:

配置数据库连接:

创建管理员账户:

使用本地存储,确认数据存储的目录是之前我们通过CELLS_WORKING_DIR环境变量配置的值:

等待安装完成,之后使用键盘组合键CTRL + C退出运行。
接下来我们需要配置cells站点,执行如下命令开始配置:
cells configure sites你需要设置绑定端口为8080、监听地址为127.0.0.1、使用自签名证书、填写你的反向代理域名,你可以参考下图步骤进行配置:

新建systemd服务文件:
nano /etc/systemd/system/cells.service写入如下配置:
[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
Environment=CELLS_WORKING_DIR=/var/cells
[Install]
WantedBy=multi-user.target新建nginx站点配置文件:
nano /etc/nginx/sites-available/pydio写入如下配置:
server {
listen 80;
listen [::]:80;
server_name pydio.5950x.lol;
client_max_body_size 0;
proxy_buffering off;
location / {
if ($http_content_type = "application/grpc") {
grpc_pass grpcs://127.0.0.1:8080;
}
proxy_pass https://127.0.0.1:8080;
}
location /ws/ {
proxy_pass https://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location /cool/ {
proxy_pass https://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
error_log /var/log/nginx/cells-proxy-error.log;
access_log /var/log/nginx/cells-proxy-access.log;
}启用站点:
ln -s /etc/nginx/sites-available/pydio /etc/nginx/sites-enabled/pydio签发ssl证书:
certbot --nginx再次编辑nginx站点配置文件:
nano /etc/nginx/sites-available/pydio如果你需要使用客户端进行文件同步,则必须启用http2:
listen [::]:443 ssl http2 ipv6only=on; # managed by Certbot
listen 443 ssl http2; # managed by Certbot重载nginx:
systemctl reload nginx