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

リポジトリを有効にすると、次のようにApacheWebサーバーと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拡張機能が正しくインストールされたら、ファイアウォールでApacheHTTPおよび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ユーザーを作成し、次のように付与特権を設定します。

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 ファイルに追加し、次のようにWeb経由で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]

CentOS7.xおよびFedora22 +ディストリビューションでは、次の行を変更して 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 の形式で正しい文字セットエンコーディングを設定します。まず、次のコマンドを実行して、システムの現在の文字セット言語を確認します。

# 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:PydioWebインストーラーウィザードを起動する

10.次に、Webブラウザーを開き、URLを入力してWebインストーラーをロードします。

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

「スタートウィザード」をクリックし、画面インストーラーの指示に従います…。

結論

クラウドストレージは増加傾向にあり、多くの企業がPydioなどのWebファイル共有ソフトウェアソリューションの設計に着手しています。このチュートリアルがお役に立てば幸いです。使用した他のソフトウェアを知っている場合、またはインストールやセットアップ中に問題が発生した場合は、コメントを残してお知らせください。読んでいただきありがとうございます。Tecmintとの接続を維持してください。

参照:https://pyd.io/