如何在 Debian 9 上安装 Pydio Web 文件管理器如何在 Debian 9 上安装 Pydio Web 文件管理器如何在 Debian 9 上安装 Pydio Web 文件管理器如何在 Debian 9 上安装 Pydio Web 文件管理器
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Debian 9 上安装 Pydio Web 文件管理器

在此页

  1. 要求
  2. 先决条件
  3. 安装 Apache 和 PHP
  4. 配置防火墙
  5. 安装 MariaDB
  6. 调整 PHP 设置
  7. 下载并安装 Pydio

Pydio 是一个功能强大的开源网络文件同步和文件共享解决方案软件,用于在线协作,类似于 Gdrive 或其他在线文件共享服务。 Pydio 主要使用 PHP 编程语言和 Ajax 编写,可以安装在 Apache/Nginx 网络服务器、PHP 和 MySQL/MariaDB 数据库管理系统(也称为 LAMP 或 LEMP 堆栈)下的 Linux 虚拟专用服务器或物理服务器上,或者它可以也可以部署在云端。

在本教程中,我们将介绍在 LAMP 堆栈之上从 Debian 9 版本的源代码安装和配置 Pydio 社区版的过程。我们将涵盖从头开始的整个安装过程,以及您需要在 Debian 服务器上执行的所有必要步骤,以便构建用于共享文档、电影、音乐或任何其他类型文件的私有在线云。

要求

您需要满足以下要求才能在您的场所部署 Pydio 文件共享云解决方案:

  • 专用物理服务器或虚拟机或 VPS,内存至少为 2Gb,并安装了最新版本的 Debian 9。
  • 其中一个服务器网络接口卡必须配置静态 IP 地址,或者 DHCP 服务器必须配置为为服务器的 NIC 租用相同的 IP 地址
  • 通过 SSH 远程或本地或本地或 LDAP 用户通过 sudo 实用程序对系统具有 root 权限的服务器控制台 root 权限。
  • 通过您自己的 DNS 服务器在您的场所配置的公开注册域名或私有本地域名。域名应配置所有必需的 DNS 记录,例如 A 和 CNAME 记录以指向 www。但是,如果您没有域名,您仍然可以部署 Pydio 并通过您的服务器 IP 地址访问网络云。
  • 在您的场所配置的电子邮件服务器,以便使用 Pydio 注册或其他功能。在这种情况下,您还可以使用公共邮件服务,例如 Gmail 或 Yahoo!

先决条件

首先,使用 root 帐户或具有 root 权限的帐户登录到您的服务器控制台并发出以下命令以确保您的 Debian 系统是最新的,具有最新的安全补丁、软件、存储库和内核更新。

apt update
apt upgrade

在下一步中,使用以下命令为您的机器主机名设置一个描述性名称(相应地替换您的主机名变量)。

hostnamectl set-hostname www.mysharedfiles.com

通过发出以下命令验证计算机主机名和系统主机文件中应用的记录。

hostnamectl
cat /etc/hostname
hostname –f
hostname –s

最后,重新启动服务器以应用内核更新并正确更改主机名。

systemctl reboot

在下一步中,以 root 权限重新登录系统并安装以下系统实用程序,例如 zip、unzip(解压缩 zip 存档)、curl 和 wget(下载在线文件)和 bash-completion 命令行自动完成。

su -
apt install bash-completion zip unzip curl wget  imagemagick unoconv

为了通过 Pydio Web 界面编辑、合成或转换不同的图像格式和转换文档,请通过执行以下命令安装 ImageMagick 软件和 unoconv - Universal Office Converter 实用程序。

apt install imagemagick unoconv

如果您有需要在 Pydio 工作区中挂载的 Samba 共享,请使用以下命令在 Debian 中安装 samba 客户端。

apt-get install smbclient

安装 Apache 和 PHP

在下一步中,我们将首先安装 Pydio 网络共享文件云所需的 LAMP 堆栈的服务器端组件:Apache HTTP 服务器和 PHP 编程语言解释器。我们还将安装所有必需的 Pydio PHP 模块和扩展。发出以下命令以安装我们刚刚讨论的所有描述的软件组件。

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-gd php7.0-opcache php7.0-json php7.0-mbstring php7.0-xml  php7.0-cli php7.0-curl php7.0-zip php7.0-xmlrpc php7.0-intl php-imagick php-smbclient

接下来,检查系统中是否启用了所有已安装的 PHP 模块,您可以通过执行以下命令来执行此操作。

php7.0 –m

在下一步中,启用 Apache HTTP 服务器重写和 SSL 模块,这将允许在 Web 服务器文档根路径中使用 .htaccess 文件,这样我们就可以强制访问者通过 HTTPS 协议安全地浏览网站。 SSL 模块将使用 Apache 自动颁发的自签名证书来保护服务器和客户端浏览器之间的流量。启用 Apache SSL 配置文件以使 SSL 模块正常工作。执行以下命令以激活所有必需的配置。

a2enmod ssl rewrite
a2ensite default-ssl.conf

接下来,使用文本编辑器打开 Apache 默认 SSL 站点配置文件,并在 DocumentRoot 指令之后添加 URL 重写规则代码行,如下例所示。

nano /etc/apache2/sites-enabled/default-ssl.conf

SSL站点配置文件摘录:

DocumentRoot  /var/www/html
<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

保存并关闭 SSL Apache conf 文件,同时打开默认的 vhost conf 文件进行编辑。在这里,添加与 SSL 配置文件相同的 URL 重写规则。在 DocumentRoot 语句之后插入代码行,如下例所示。

nano /etc/apache2/sites-enabled/000-default.conf

000-default.conf 文件摘录:

DocumentRoot  /var/www/html
<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

为了应用到目前为止所做的所有更改,您需要通过发出以下命令来重新启动 Apache 守护进程。

systemctl restart apache2

配置防火墙

在通过您所在地的计算机打开的网络浏览器访问您的域名或服务器 IP 地址之前,请先添加所需的防火墙规则以允许网络流量通过防火墙。如果您的 Debian 服务器附带 UFW 防火墙应用程序,您应该通过发出以下命令添加一些新规则以允许 HTTP/S 流量通过防火墙。

ufw allow 'WWW Full'

或者

ufw allow 80/tcp
ufw allow 443/tcp

如果远程连接到服务器,您还应该允许 SSH 流量通过 UFW 防火墙。

ufw allow 22/tcp

如果您的 Debian 服务器位于 iptables 防火墙后面,请添加以下 iptables 原始规则以允许端口 80 和 443 入站流量通过防火墙,以便外部访问者可以浏览该应用程序。

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent
systemctl status netfilter-persistent
systemctl enable netfilter-persistent.service

如果您通过 SSH 远程连接到 Debian 服务器,您应该首先添加以下规则以允许 SSH 流量通过 iptables 防火墙。否则,您将被锁定,因为防火墙将开始丢弃所有进入端口 22 的流量。

iptables -I INPUT -p tcp --destination-port 22 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent

最后,要测试您是否可以从局域网中的远程计算机访问 Apache HTTP 服务器,请打开浏览器并通过 HTTPS 协议访问服务器的域名或 IP 地址。要显示服务器 IP 地址,请在终端中执行 ifconfig 或 ip 命令。如果您的机器是内部基础设施网络的一部分并且隐藏在 NAT 网络之后,请执行以下命令以获取公共 IP 地址。

curl ipinfo.io/ip

因为您在安装时使用 Apache 自动颁发的自签名证书对,证书将被浏览器标记为不受信任,并且应该在浏览器中显示错误警告。点击继续绕过此警告,接受不受信任的证书并继续重定向到 Apache 默认网页。

https://您的域名.tld

到目前为止,我们只在 Debian 服务器上安装了 Apache Web 服务器和 PHP 解释器。为了完成安装 Pydio 文件共享解决方案所需的 LAMP 堆栈,我们需要安装最后一个缺少的组件:RDBMS 数据库后端。

安装 MariaDB

在本教程中,我们将安装以 MariaDB 数据库服务器为后端的 Pydio。在 MariaDB 数据库中,Pydio 应用程序将存储用户、网站配置和其他各种数据。为了在 Debian 9 中安装 MariaDB 数据库服务器和客户端以及 PHP MySQL 扩展,请发出以下命令。

apt install mariadb-server mariadb-client php7.0-mysql

默认情况下,可以通过在 Debian 9 中提供密码来访问数据库 root 帐户。要克服此安全问题并保护数据库服务器,请首先登录 MySQL 控制台并执行以下命令以保护 MariaDB root 帐户。

mysql -h localhost

欢迎使用 MariaDB 监视器。命令以 ; 结尾或 \g.

您的 MariaDB 连接 ID 是 2

服务器版本:10.1.26-MariaDB-0+deb9u1 Debian 9.1

版权所有 (c) 2000、2017,Oracle、MariaDB Corporation Ab 等。

键入帮助;或 \h 寻求帮助。类型

MariaDB [(none)]> use mysql;

读取表信息以完成表名和列名

您可以使用 -A 关闭此功能以更快地启动

数据库已更改

MariaDB [mysql]> update user set plugin='' where user='root';

查询正常,1 行受影响(0.00 秒)

行匹配:1 更改:1 警告:0

MariaDB [mysql]> flush privileges;

查询正常,0 行受影响(0.00 秒)

MariaDB [mysql]> exit

在下一步中,通过执行脚本 mysql_secure_installation 开始保护 MariaDB 服务器。此脚本将询问旨在保护 MariaDB 数据库的一系列问题。对所有问题回答“是”:删除匿名用户,禁用远程根登录并删除测试数据库。此外,请确保为数据库根帐户设置强密码,如下面的摘录所示。

mysql_secure_installation
==========================================================================================
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
 
You already have a root password set, so you can safely answer 'n'.
Change the root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
 
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
 
Remove anonymous users? [Y/n] y
 ... Success!
 
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
 
Disallow root login remotely? [Y/n] y
 ... Success!
 
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
 
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
 
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
 
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
======================================================================================

脚本完成后,尝试使用没有 root 密码的控制台登录数据库。如果没有为 root 帐户提供密码,则应拒绝对数据库的访问,如以下命令摘录所示:

mysql -h localhost -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

如果提供了密码,则应将登录过程授予 MySQL 控制台,如命令示例所示。键入 exit 离开数据库控制台。

mysql -h localhost -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 15
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> exit
Bye

调整 PHP 设置

接下来,打开 PHP 默认配置文件进行编辑并更改以下 PHP 变量,如下所述。设置 PHP 时区设置以匹配您的系统地理位置。 PHP date.timezone 变量可以通过以下链接 http://php.net/manual/en/timezones.php 查阅 PHP 文档提供的时区列表找到

首先,备份 PHP 配置文件。

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

在 php.ini 配置文件中搜索、编辑和更改以下变量:

file_uploads = On
memory_limit = 128M
post_max_size = 80M
upload_max_filesize = 80M
output_buffering = 0
date.timezone = Europe/London

您应该增加 PHP 配置文件中的 upload_max_file_size 变量以支持大文件附件。

您还应该为 PHP7 添加 OPCache 插件配置,以提高 Web 应用程序的加载速度。编辑 php.ini 文件并在文件底部的 [opcache] 语句下附加以下代码行,详情如下:

nano /etc/php/7.0/apache2/php.ini
[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1         

添加下面描述的所有代码行后,关闭 php.ini 配置文件并通过发出以下命令检查 OPCache 变量是否已正确添加。

grep opcache  /etc/php/7.0/apache2/php.ini

为了通过 PHP 编码加密和保护 Pydio 文件,请通过发出以下命令在您的 Debian 服务器上安装 Ioncube 软件:

wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar xfz ioncube_loaders_lin_x86-64.tar.gz
cp ioncube/ioncube_loader_lin_7.0.so /usr/lib/php/20151012/

然后,编辑 ioncube 配置文件并添加以下行。

nano /etc/php/7.0/apache2/conf.d/00-ioncube.ini

00-ioncube.ini 文件摘录:

zend_extension=ioncube_loader_lin_7.0.so

重新启动 Apache 服务器以应用 Ioncube 扩展。

systemctl restart apache2

作为配置 LAMP 堆栈的最后一步,通过执行以下命令在 Web 服务器 webroot 路径中创建一个 PHP 信息文件。

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php

从浏览器访问以下 URL 的 PHP 信息脚本文件,检查 Ioncube Zend 是否已成功加载,同时向下滚动到日期设置以检查 PHP 时区配置。时区设置应反映您之前配置的 PHP 地理位置。

https://domain.tld/info.php

下载并安装 Pydio

现在已经满足安装 Pydio 社区软件的所有系统要求,打开浏览器并导航到 Pydio 官方下载页面 https://pydio.com/en/community 并复制下载链接以获取最新的 zip 存档您的系统通过 wget 实用程序。

wget https://download.pydio.com/pub/core/archives/pydio-core-8.0.2.zip

Pydio zip 存档下载完成后,将 zip 存档文件解压缩到当前工作目录,并使用 ls 命令列出解压缩的文件。

unzip pydio-core-8.0.2.zip
ls

接下来,删除 Apache Web 服务器默认安装到 webroot 路径的 index.html 文件,并删除之前创建的 info.php 文件。

rm /var/www/html/index.html
rm /var/www/html/public/info.php

将位于当前工作目录中的 Pydio 安装文件复制到 pydio-core-8.0.2/ 目录中。发出 ls 命令以列出此目录文件中的隐藏文件。通过发出以下命令,将提取目录的所有内容复制到您的 Web 服务器文档根路径。另外,确保将隐藏文件 .htaccess 复制到 webroot 路径。

ls -al pydio-core-8.0.2
cp -rf pydio-core-8.0.2/* /var/www/html/
cp pydio-core-8.0.2/.htaccess /var/www/html/

接下来,通过执行以下命令授予 Apache 运行时用户对文档根路径的完全写入权限。使用 ls 命令列出 /var/www/html/ 目录下应用程序安装文件的权限。

chown -R www-data:www-data /var/www/html/
ls -al /var/www/html/

接下来,打开位于 webroot 路径中的 Pydio bootstrap_conf.php 配置文件并修改以下行,如以下文件摘录所示:

nano /var/www/html/conf/bootstrap_conf.php

bootstrap_conf.php 文件示例:

setlocale(LC_ALL, "en_US.UTF-8");
define("AJXP_LOCALE", "en_EN.UTF-8");

在下一步中,登录到 MariaDB 数据库控制台并创建 Pydio 应用程序数据库。此外,添加一个新的 MySQL 用户来管理 Pydio 数据库并为该用户设置一个强密码。发出以下命令来创建数据库和用户,并确保将本指南中使用的数据库名称、用户和密码替换为您自己的设置。

mysql –u root -p
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 305
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE pydio_db;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on pydio_db.* to 'pydio_user'@'localhost' identified by 'mypass123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec) 
MariaDB [(none)]> exit

创建数据库后,打开浏览器并通过 HTTPS 协议导航到您的服务器 IP 地址或域名,以便开始 Pydio 网络安装过程。在第一个安装屏幕上,选择您的语言并点击启动向导按钮开始安装过程。

在下一个安装屏幕上,为 Pydio 应用程序添加一个应用程序标题和欢迎消息,然后点击下一步按钮以移动到下一个配置屏幕。

接下来,添加您的 Pydio 应用程序管理员名称和全名。为管理员帐户提供并确认一个强密码,然后点击下一步按钮移动到下一个配置屏幕。

在下一个屏幕中,配置数据库连接设置。选择 MySQL 作为数据库类型,使用 localhost 作为数据库主机并添加之前创建的 Pydio 数据库名称、用户和密码以连接到数据库。点击 Test DB Connection 按钮登录 Pydio 数据库并继续安装过程。

在高级选项屏幕中,如果未正确检测到应用程序编码数据集和服务器 URL 地址,请更改它们,启用缓存设置,添加您的电子邮件地址和默认语言,然后点击安装 Pydio 按钮开始安装。

安装过程完成后,安装向导会自动将您重定向到 Pydio 登录页面表单。提供在安装过程中配置的应用程序管理员用户名和密码,以登录 Pydio 仪表板。

您也可以通过 HTTPS 协议访问您的域名或服务器 IP 地址来登录 Pydio 网络共享应用程序。

https://www.yourdomain.tld

登录 Pydio 管理仪表板后,您可以按照弹出的向导教程快速了解如何通过 Web 管理面板管理应用程序。

某些访问者可能会通过 HTTP 协议以不安全的方式浏览 Pydio 应用程序。为了强制所有访问者通过 HTTPS 协议安全地浏览 Pydio 界面,请返回服务器的控制台并通过发出以下命令编辑位于 Web 根目录中的 .htaccess 文件。

nano /var/www/html/public/.htaccess

打开 .htaccess 文件进行编辑后,搜索以 RewriteEngine on 开头的行,并在此行下添加以下重定向规则。

# Redirect to HTTPS
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

此外,如果您想更改 PHP 服务器设置,以便可以增加文件上传大小或其他 PHP 变量,请将以下行附加到 .htaccess 文件的底部,如以下摘录所示。

php_value upload_max_filesize 50M
php_value post_max_size 50M

恭喜!您已经在 Debian 9 服务器上成功安装了 Pydio 文件同步和共享应用程序。有关应用程序的其他特殊类型的安装过程和配置,请访问以下地址的 Pydio 文档页面:https://pydio.com/en/docs/administration-guides

©2015-2025 艾丽卡 support@alaica.com