開発者ドキュメント

Ubuntu14.04でPydioを使用してファイル共有サーバーをホストする方法

序章

クラウドの採用が増えるにつれて、ますます多くのデータがリモートに保存されています。 音楽から写真、個人的なドキュメントまで、多くの人が管理していないサーバーにファイルをアップロードしています。 管理しているサーバーにファイルを保持したい場合は、 Pydio (以前のAjaXplorer)を使用して独自のDropboxのようなファイル共有サーバーをホストできます。

Pydioは、他のファイル同期サービスと同じ機能の多くを提供します。Webインターフェイス、Mac、Windows、Linuxのネイティブクライアント、iOSとAndroidのモバイルクライアント、他のPydioユーザーや一般の人々とファイルを共有する機能です。

目標

この記事では、強力なハードウェアがなくてもうまく動作する簡単なPydioインストールを紹介します。 多くのエンタープライズグレードのオープンソースプロジェクトと同様に、Pydioにはコミュニティエディションとエンタープライズエディションがあります。 コミュニティエディションをインストールします。

ソフトウェアスタックに関しては、メールサポートにPostfixを使用します。 デフォルトでは、PHPはメールを送信できません。 より軽量なソリューションが必要な場合は、ssmtpをインストールできますが、PHPでサポートするために必要な調整が最小限であるため、このセットアップではPostfixを使用します。 電子メールサポートを有効にする必要はありませんが、これにより作業がはるかに簡単になることに注意してください。 これがないと、Pydioはパスワードリセットメールやウェルカムメールを送信できません。

また、Webサーバー(簡単にするため)およびSQLiteデータベース(MySQLの代わりに可動部分を少なくするため)としてApacheを使用します。 この設定は、Pydioを使用しているグループが大きくない場合、または同時に大量のデータをサーバーにプッシュしない場合に最適です。 ただし、もう少し強力なものが必要な場合は、結論としてパフォーマンスを向上させる方法に関するガイドラインがいくつかあります。

前提条件

このチュートリアルに従うには、次のものが必要です。

また、Let’sEncryptを使用してドメインのSSL証明書を設定します。 このLet’sEncrypton Apacheチュートリアルに従いますが、セットアップを簡素化するために、ステップ3でPydioがインストールされるまでセットアップしません。

SSL / TLS証明書がどのように機能するかについて詳しく知りたい場合は、このOpenSSLEssentialsの記事をお読みください。

ステップ1—Pydioをインストールする

このステップでは、Pydioの依存関係とPydio自体をインストールします。

まず、パッケージインデックスを更新します。

  1. sudo apt-get update

次に、PHPをインストールします。

  1. sudo apt-get install php5 libapache2-mod-php5

次に、Pydio tarファイルをダウンロードして、Webサーバーに解凍する必要があります。 PydioのダウンロードはSourceForgeでホストされています。 クリックして地理的に最も近いミラーを見つけるか、以下のリンクを使用してUKミラーを使用できます。

公開時点で、Pydioはバージョン6.2.2です。 Pydioが更新されているかどうかを確認し、更新されている場合はSourceForgeから最新バージョンを入手することをお勧めします。

Pydiotarファイルをホームディレクトリにダウンロードします。

  1. wget -P ~/ http://vorboss.dl.sourceforge.net/project/ajaxplorer/pydio/stable-channel/6.2.2/pydio-core-6.2.2.tar.gz

tarballを解凍します。

  1. tar -xvzf ~/pydio-core-6.2.2.tar.gz

次に、Ubuntuサーバー上のWebサイトのデフォルトの場所/var/wwwに移動します。

  1. sudo mv ~/pydio-core-6.2.2 /var/www/pydio

ディレクトリを配置したら、Apacheがデータを保存し、構成ファイルを更新できるように、そのアクセス許可を変更する必要があります。

  1. sudo chown -R www-data:www-data /var/www/pydio

ステップ2—PHPモジュールのセットアップ

Pydioを配置したら、Pydioを正しく機能させるために、いくつかの依存関係をインストールして設定する必要があります。 このステップでは多くの変更を行い、すべてのステップの後にApacheを再起動するように求められます。 必要に応じてこれを行うことができますが、ここでは、すべてのセットアップの最後まで待機し、Apacheを1回再起動します。

まず、必要な追加のPHPモジュールをインストールして有効にします。

  1. sudo apt-get install php5-mcrypt php5-gd php5-sqlite

これらのPHPモジュールの1つであるmcryptは、デフォルトでは有効になっていません。 phpenmodを使用して有効にできます。

  1. sudo php5enmod mcrypt

一部のPHPモジュールをインストールして有効にすることに加えて、a2enmod Apacheモジュールを有効にする必要があります。そうしないと、同期クライアントが機能しません。

  1. sudo a2enmod rewrite

PHPが完全にインストールされたので、php.iniファイルをいくつか編集する必要があります。 更新する必要がある3行があります。 nanoなどの好みのエディターを使用して、php.iniファイルを編集します。

  1. sudo nano /etc/php5/apache2/php.ini

output_buffering = 4096の行を見つけて、4096Offに変更します。

/etc/php5/apache2/php.iniを更新しました
; Default Value: Off
; Development Value: 4096
; Production Value: 4096
; http://php.net/output-buffering
output_buffering = Off

次に、upload_max_filesize = 2Mを見つけて、2M1Gなどの任意の大きな数字に変更します。 (MはMBの略で、GはGBの略です。)

/etc/php5/apache2/php.iniを更新しました
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 1G

最後に、post_max_size = 8Mを見つけて、upload_max_filesize以上と同じ番号に変更します。 複数の大規模なアップロードを同時に実行したり、複数のユーザーが同時にシステムを使用したりする場合は、より多くの数を使用できます。

/etc/php5/apache2/php.iniを更新しました
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 1G

/etc/php5/apache2/php.iniを保存して閉じることができます。 これはApacheのphp.iniファイルです。 次に、/etc/php5/cli/php.iniにあるコマンドラインアクセスphp.iniファイルを開きます。

  1. sudo nano /etc/php5/cli/php.ini

このファイルに上記と同じ3つの変更を加えてから、保存して閉じます。

ステップ3—Apacheの構成

このステップでは、Apache構成をカスタマイズします。

まず、お気に入りのテキストエディタでpydio.confという名前の新しいファイルを作成して開きます。

  1. sudo nano /etc/apache2/sites-available/pydio.conf

次のApache構成は、000-default構成ファイルのコピーであり、コメントが削除され、ドキュメントルートファイルやログファイルなど、この特定のPydioインストール用にいくつかの追加ブロックが追加されています。

/etc/apache2/sites-available/pydio.conf
<VirtualHost *:80>
	ServerAdmin sammy@your_server_ip
	ServerName your_server_ip
	DocumentRoot /var/www/pydio

	ErrorLog ${APACHE_LOG_DIR}/pydio-error.log
	CustomLog ${APACHE_LOG_DIR}/pydio-access.log combined

	<Directory /var/www/pydio/>
		AllowOverride All
	</Directory>
</VirtualHost>

これをコピーしてpydio.confに貼り付ける前に、その内容を確認しましょう。

この構成をファイルに貼り付けてから、保存して閉じます。 Apache構成ファイルを配置したら、デフォルトのApache構成を無効にする必要があります。

  1. sudo a2dissite 000-default

次に、2つの構成ファイルを有効にします。

  1. sudo a2ensite pydio

前提条件では、SSL/TLS暗号化を有効にするためにLet’sEncryptを設定することを説明しました。 これにより、ローカルネットワークまたはインターネットを介してパケットを盗聴できる人々からログイン情報とデータを安全に保つことができます。 WebサーバーとしてApacheを使用しているため、Let’sEncryptはApacheを自動的に構成するためのサポートを提供しています。 簡単にするために、SSLなしでApacheを設定したので、自動Let’s Encryptスクリプトを実行すると、すべてが設定されます。

次に、Apacheチュートリアルで暗号化しましょう。 Let’s Encryptのセットアップ中に選択したFQDNを使用すると、インストーラースクリプトがApache構成を確認し、SSLバージョンを作成します。

選択する仮想ホストを尋ねられた場合は、必ずpydio.confを選択してください。 接続を常に安全にしたいので、必ず Secureを選択してください— Let’s Encryptスクリプトが要求したときに、すべてのリクエストを安全なHTTPSアクセスにリダイレクトします。

最後に、変更を有効にするためにApacheを再起動できます。

  1. sudo service apache2 restart

ステップ4—PHPメーラーサポートのカスタマイズ

Postfixは前提条件からインストールする必要があります。 次に、ローカルアプリ以外が使用できないように、すばやく変更します。

この変更を行うには、Postfix設定ファイル/etc/postfix/main.cfを編集する必要があります。

  1. sudo nano /etc/postfix/main.cf

inet_interfaces行を検索し、allからlocalhostに更新します。

/etc/postfix/main.cf
. . .
recipient_delimiter = +
inet_interfaces = localhost
inet_protocols = all
. . .

次に、Postfixサービスを再起動して変更を有効にします。

  1. sudo service postfix restart

ステップ5—Pydioのセットアップを終了する

Pydioがインストールされています。 このステップでは、セットアップを完了します。

お気に入りのブラウザでhttps://example.comにアクセスします。 表示される最初のページには、 Pydio DiagnosticToolというラベルが付いています。 そのページのリストの一番上の項目は、サーバー文字セットエンコーディングに関する警告です。 すぐに修正します。 それが唯一の警告であり、残りの項目が OK である限り、ボタンをクリックしてPYDIOに進みます。

プロンプトが表示されたら、ウィザードの開始>ボタンをクリックします。 メインオプションの最初のページで、次のフィールドに入力します。

すべて記入したら、右下の赤い>>ボタンを押します。

Database Connexion の2ページ目で、DatabaseプルダウンメニューからSqlite3を選択します。 SQLiteデータベースが保存される場所にファイル行を変更しないでください。 接続のテストボタンをクリックして、すべてが機能していることを確認します。 テストが成功すると、画面の下部に緑色のボックスが表示されます。 次に、>>ボタンをクリックして続行します。

詳細オプションのステージ3では、ほとんどのものが自動的に検出されるため、それらが正しいことを確認する必要があります。 私たちがしなければならないことの1つは、電子メールサポートを有効にすることです。

設定されたデータボタンを使用してメールを送信してみて、すべてが機能していることを確認できます。

最後に、 InstallPydioボタンをクリックしてインストールを完了します。

ステップ6—Pydioを使用する

Pydioがインストールされたので、カスタムウェルカムメッセージが表示されたログイン画面が表示されます。 これで、前の手順で定義したadminユーザーでログインできます。

ログインすると、左側に共通ファイルマイファイルの2つのオプションが表示されます。 これらの2つのオプションは、ワークスペースと呼ばれ、基本的にファイル共有またはファイルを保存できるフォルダーです。 マイファイルはあなただけのものであり、共通ファイルはこのPydioインストールのすべてのユーザーの共有フォルダーです。

他のワークスペースを作成して、好きな人と共有することができます。 Pydioがインストールされたので、クリックしてどのように機能するかを確認し、他のユーザーを招待してファイルを保存してもらいます。

Webインターフェイスは便利で、データをアップロード、ダウンロード、配置、および共有できますが、おそらくネイティブクライアントを介してPydioを使用してファイルを直接アップロードします。 デスクトップクライアントはこちら(Mac / Win / Linux)、 iOSクライアントはこちらAndroidクライアントはこちらからダウンロードできます。

同期クライアントをインストールしたら、Pydio Syncを起動し、ウィザードに従って最初のワークスペースをローカルで同期します。

(Let’s Encryptの代わりに)自己署名証明書を使用することを選択した場合、証明書に関するエラーが発生します。 その場合は、警告の後に表示される下部の [SSL証明書を信頼する]チェックボックスをオンにして、接続ボタンをもう一度クリックします。

アカウントのすべてのコンテンツを同期する他のファイル共有ツールとは異なり、Pydioでは各ワークスペースを個別に同期することを選択できます。 クライアントを初めて実行するときに、ローカルで同期するワークスペースを選択できます。 最初の同期が設定されたら、職場の同期を追加できます。

結論

Pydioを使用すると、データを制御でき、すべての主要なデスクトップおよびモバイルプラットフォームのネイティブクライアントを使用して、必要なときにいつでもデータにアクセスできます。 しかし、Pydioはファイルをホストするだけではありません。 機能を拡張するためのプラグインのコレクションがあります。

このセットアップでのPydioのパフォーマンスがユースケースに対して少し遅すぎると感じた場合は、それを改善するためのいくつかのヒントを次に示します。

モバイルバージョンを終了