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

前書き

クラウドの採用が増加すると、ますます多くのデータがリモートに保存されます。 音楽から写真、個人文書まで、多くの人が管理していないサーバーにファイルをアップロードしています。 制御するサーバーにファイルを保存したい場合は、https://pydio.com/ [Pydio](以前のAjaXplorer)を使用して、独自のDropboxのようなファイル共有サーバーをホストできます。

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

目標

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

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

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

前提条件

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

  • sudo non-root userを持つUbuntu 14.04ドロップレット。

  • Apacheがインストールされています。これはhttps://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-14-04#stepに従って実行できます-1-install-apache [このLAMPチュートリアルのステップ2]。

  • FQDN(完全修飾ドメイン名)。これはhttps://www.digitalocean.com/community/tutorials/how-to-set-up-a-host-name-with-digitalocean [このホスト名前チュートリアル]。

  • https://www.digitalocean.com/community/tutorials/how-to-install-and-setup-postfix-on-ubuntu-14-から「Configure Postfix」の手順に従ってセットアップできるPostfixがインストールされている04 [このPostfixインストールチュートリアル]。 インストール中にプロンプ​​トが表示されたら、インターネットサイト*構成を選択し、ドメイン名を入力します(例: ++)*システムメール名

また、Let’s Encryptを使用してドメインのSSL証明書を設定します。 https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-14-04 [このApacheの暗号化チュートリアル]をフォローします。 、ただし、セットアップを簡素化するために、ステップ3でPydioがインストールされるまでセットアップを行いません。

SSL / TLS証明書の機能の詳細については、https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-andをご覧ください。 -csrs [このOpenSSLの基本記事]。

ステップ1-Pydioのインストール

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

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

sudo apt-get update

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

sudo apt-get install php5 libapache2-mod-php5

次に、Pydio tarファイルをダウンロードして、Webサーバーで解凍する必要があります。 Pydioのダウンロードは、http://sourceforge.net/projects/ajaxplorer/files/pydio/stable-channel/ [SourceForge]でホストされています。 クリックして地理的に最も近いミラーを見つけるか、下のリンクを使用して英国のミラーを使用することができます。

公開時点で、Pydioはバージョン6.2.2です。 Pydioが更新されているかどうかを確認し、更新されている場合はSourceForgeから最新バージョンを取得できます。

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

wget -P ~/

tarballを解凍します。

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

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

sudo mv ~/pydio-core- /var/www/pydio

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

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

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

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

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

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

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

sudo php5enmod mcrypt

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

sudo a2enmod rewrite

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

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

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

更新された/etc/php5/apache2/php.ini

; Default Value: Off
; Development Value: 4096
; Production Value: 4096
; http://php.net/output-buffering
output_buffering =

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

更新された/etc/php5/apache2/php.ini

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize =

最後に、「+ 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 =

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

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

このファイルで上記と同じ3つの変更を行い、保存して閉じます。

ステップ3-Apacheの構成

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

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

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

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

/etc/apache2/sites-available/pydio.conf

<VirtualHost *:80>
   ServerAdmin @
   ServerName
   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 +`に貼り付ける前に、その中身を見てみましょう。

  • `+ <VirtualHost *:80> +`は_virtual host_を定義します。これにより、単一のサーバーで複数のサイトをホストできます。 この行は、この仮想ホストをこのサーバーのデフォルトサイトとして明確に定義し、ポート80を介して接続します。

  • `+ ServerAdmin +`は、エラー処理がそのように設定されている場合、エラーを送信するApacheの電子メールアドレスを定義します。

  • `+ ServerName `は、PydioサーバーまたはサーバーのIPのDNS名です。 IPから始めて後で変更する場合は、そのIPをそのままにして、新しいDNS名で「 ServerAlias +」行を追加できます。両方とも機能します。

  • `+ DocumentRoot +`は、Apacheがサーバーを起動する必要のあるDroplet上のWebサイトが保存されている場所です。

  • `+ ErrorLog `と ` CustomLog +`はApacheログを保存する場所を定義します。 非常にカスタムのログ設定が必要な場合、これらのログオプションはかなり複雑になる可能性がありますが、これらのデフォルトは目的に合わせて機能します。

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

sudo a2dissite 000-default

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

sudo a2ensite pydio

前提条件で、Let’s EncryptをセットアップしてSSL / TLS暗号化を有効にすることを述べました。 これにより、ローカルネットワークまたはインターネット経由でパケットを傍受できる人からログイン情報とデータを保護します。 ApacheをWebサーバーとして使用しているため、Let’s EncryptはApacheを自動的に構成するためのサポートを提供しています。 作業を簡単にするために、SSLを使用しないApacheをセットアップしたため、自動Let’s Encryptスクリプトを実行すると、すべて自動でセットアップされます。

https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-14-04 [Apacheで暗号化するチュートリアル]をフォローする時間です。 。 Let’s Encryptのセットアップ中に選択したFQDNを使用すると、インストーラースクリプトがApache構成を確認し、SSLバージョンを作成します。

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

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

sudo service apache2 restart

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

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

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

sudo nano /etc/postfix/main.cf

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

/etc/postfix/main.cf

. . .
recipient_delimiter = +
inet_interfaces =
inet_protocols = all
. . .

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

sudo service postfix restart

ステップ5-Pydioセットアップの完了

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

お気に入りのブラウザで「+ https:// +」にアクセスします。 最初に表示されるページには、* Pydio Diagnostic Tool というラベルが付けられます。 そのページのリストで、一番上の項目は Server charset encoding に関する警告です。 すぐに修正します。 それが唯一の警告であり、残りの項目が OK である限り、ボタンをクリックして PYDIOに進むにはここをクリックします*。

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

  • アプリケーションのタイトル。ブラウザのタイトルバーに表示されます

  • ようこそメッセージ、ログイン画面に表示されます

  • 管理者ログイン、管理者ユーザー名

  • 管理者表示名

  • 管理者パスワード

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

image:https://assets.digitalocean.com/articles/pydio/H6sSWHv.png [Pydioインストーラーのメインオプション]

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

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

  • *メールを有効にする*の場合、プルダウンメニューから*はい*を選択します

  • * Php Mailer の場合、 Mail *を選択します

  • *管理者のメールアドレス*のメールアドレスを入力してください

[設定されたデータを含むメールを送信してみてください]ボタンをクリックして、すべてが機能していることを確認します。

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

ステップ6-Pydioの使用

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

ログインすると、左側に* Common Files My Files の2つのオプションが表示されます。 これらの2つのオプションは_workspaces_と呼ばれ、基本的にはファイルを保存できるファイル共有またはフォルダーです。 * My Files *はあなた専用で、 Common Files *はこのPydioインストールのすべてのユーザーの共有フォルダーです。

他のワークスペースを作成し、希望する人と共有できます。 Pydioがインストールされたら、クリックして動作を確認し、他のユーザーを招待してファイルを保存してもらいます。

ウェブインターフェースは便利で、データをアップロード、ダウンロード、整理、共有できますが、おそらくネイティブクライアントから直接Pydioでファイルをアップロードします。 https://pydio.com/en/products/downloads/pydiosync-desktop-app [デスクトップクライアントはこちら](Mac / Win / Linux)、https://itunes.apple.com/fr/appをダウンロードできます。 / pydio / id709275884 [ここにiOSクライアント]およびhttps://play.google.com/store/apps/details?id=com.pydio.android.Client [ここにAndroidクライアント]。

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

画像:https://assets.digitalocean.com/articles/pydio/uljFNvX.png [Pydio Syncウィザード]

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

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

結論

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

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

  • PydioをSqliteではなくMySQLまたはPostgreSQLバックエンドと結合します。

  • Apacheの代わりにhttps://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-14-04-lts[Nginx]をWebサーバーとして使用します。

  • サーバーをアップグレードして、RAMとCPUを増やします

  • サーバー上のhttps://pydio.com/en/docs/v6/setup-webdav-server-access[WebDAVアクセスを有効にする]で、WebDAV対応のサードパーティアプリの同期を行うこともできます。

Related