Pydio - 在Linux中创建自己的文件共享和同步门户,如Dropbox


Pydio 是一个开源,安全且功能强大的在线文件共享和同步软件解决方案,可以替代许多在线云存储系统。它可以从Web,桌面或移动平台访问,托管是私有的,因此您可以实施自己的安全措施。

Pydio提供以下功能:

  1. Secure links with passwords with an expiration date.
  2. Integration with LDAP/AD server for user authentication.
  3. Monitor user activities in real time on the system.
  4. Creation of workspace from shared folders among different users.
  5. Notify users of file or folder modifications.
  6. Supports SSO with many Content Management Systems (CMS) such as WordPress, Joomla, Drupal, Xibo and many others including custom designed CMS.
  7. Preview user files such as audio, video and documents such as Office documents, PDFs and many more.

在本教程中,我将带您完成在 RHEL / CentOS Fedora 上设置Pydio文件共享和同步门户的过程。

第1步:安装Web服务器和依赖项

1. Pydio只需要一个PHP 5.1或更高版本的Web服务器(Apache,Nginx或Lighttpd)以及一些依赖项,如GD,MCrypt,Mbstring,DomXML等。在今天的大多数发行版中,这些库是在标准PHP安装上预安装的。如果没有,让我们使用以下一系列命令安装它们。

在安装依赖项之前,首先需要在Linux系统下启用EPEL存储库并使用yum包管理器更新存储库数据库:

# yum install epel-release
# yum update

启用存储库后,您现在可以安装Apache Web服务器和php库,如下所示:

# yum -y install httpd
# yum -y install php php-gd php-ldap php-pear php-xml php-xmlrpc php-mbstring curl php-mcrypt* php-mysql

--------------- On Fedora 22+ ---------------
# dnf -y install php php-gd php-ldap php-pear php-xml php-xmlrpc php-mbstring curl php-mcrypt* php-mysql

2。一旦正确安装了所有必需的PHP扩展程序,就可以在防火墙上打开Apache HTTP HTTPS 端口。

--------------- On FirewallD for CentOS 7 and Fedora 22+ ---------------
# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload
--------------- On IPtables for CentOS 6 and Fedora ---------------
# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
# /etc/init.d/iptables save

第2步:创建Pydio数据库

3. 要创建pydio数据库,必须在系统上安装MySQL/MariaDB服务器,如果没有安装它。

# yum install mysql mysql-server            [On CentOS/RHEL 6 and Fedora]                 
# yum install mariadb mariadb-server        [On CentOS 7]
# dnf install mariadb mariadb-server        [On Fedora 22+]

使用命令 mysql_secure_installation 进行下一步安全mysql安装,并按照屏幕说明进行操作,如图所示。

现在连接到MySQL并创建一个新的pydio用户并设置grant权限,如下所示:

create database pydio;
create user [email protected] identified by 'tecmint';
grant all privileges on pydio.* to [email protected]'localhost' identified by 'tecmint';

第3步:安装Pydio文件托管服务器

4. 在这里,我们将使用官方Pydio存储库在以下一系列命令的帮助下安装最新版本的Pydio软件包。

# rpm -Uvh http://dl.ajaxplorer.info/repos/pydio-release-1-1.noarch.rpm
# yum update
# yum --disablerepo=pydio-testing install pydio

第4步:配置Pydio文件托管服务器

5. 接下来打开并将以下配置添加到 .htaccess 文件,以启用对网络的Pydio访问,如下所示:

# vi /var/lib/pydio/public/.htaccess

添加以下配置。

Order Deny,Allow
Allow from all
<Files ".ajxp_*">
deny from all

RewriteEngine on
RewriteBase pydio_public
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)\.php$ share.php?hash=$1 [QSA]
RewriteRule ^([a-zA-Z0-9_-]+)--([a-z]+)$ share.php?hash=$1&lang=$2 [QSA]
RewriteRule ^([a-zA-Z0-9_-]+)$ share.php?hash=$1 [QSA]

CentOS 7.x Fedora 22 + 发行版中,您需要修改以下行并将其添加到 pydio.conf 文件中。

Alias /pydio /usr/share/pydio
Alias /pydio_public /var/lib/pydio/public

<Directory "/usr/share/pydio">
        Options FollowSymLinks
        AllowOverride Limit FileInfo
	Require all granted
      	php_value error_reporting 2
</Directory>


<Directory "/var/lib/pydio/public">
        AllowOverride Limit FileInfo
	Require all granted
      	php_value error_reporting 2
</Directory>

6. 接下来配置 php.ini 以允许最大文件上传,禁用php输出缓冲并增加memory_limit以提升Pydio的性能,如下所示:

# vi /etc/php.ini
post_max_size = 1G
upload_max_filesize = 1G
output_buffering = Off
memory_limit = 1024M

7。现在在语言环境定义中设置正确的字符集编码,格式为: en_us.UTF-8 。首先通过运行以下命令找出系统的当前charset lang。

# echo $LANG

接下来打开 /etc/pydio/bootstrap_conf.php 文件并添加以下行。

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

8 即可。建议使用 SSL 加密来保护通过安全 HTTPS 网络的所有Pydio数据连接。为此,首先安装 mod_ssl 包并打开以下文件并进行修改,如下所示:

# yum install mod_ssl
# vi /etc/pydio/bootstrap_conf.php

现在取消注释文件底部的以下行。这将通过HTTPS自动重定向所有连接。

define("AJXP_FORCE_SSL_REDIRECT", true);

9 即可。最后重启Apache Web服务器以使新的更改生效。

# systemctl restart httpd.service       [On CentOS 7 and Fedora 22+]
# service httpd restart                 [On CentOS 6 and Fedora]

第5步:启动Pydio Web安装程序向导

10 即可。现在打开Web浏览器并键入URL以加载Web安装程序。

http://localhost/pydio/
OR
http://ip-address/pydio/

单击“启动向导”,然后按照屏幕安装程序说明进行操作....

结论

云存储正在崛起,许多公司正在着手设计Pydio等网络文件共享软件解决方案。希望您觉得本教程有用,如果您知道您使用过的任何其他软件,或者如果您在安装或设置过程中遇到问题,请通过发表评论告诉我们。感谢您阅读并与Tecmint保持联系。

参考:https://pyd.io/