Ubuntu Weekly Recipe

第405回 Pydioで自分専用オンラインストレージ

この記事を読むのに必要な時間:およそ 5 分

サーバー上でDropboxライクなオンラインストレージサービスを立ち上げるためのソフトウェアとしては「ownCloud」が人気です。今回はそのownCloudとは別の案として,マルチユーザー関連の機能が充実した「Pydio」を紹介します。

Pydioとは

DropboxやGoogleドライブのようなオンラインストレージサービスを利用していると,最初に遭遇する不満が「容量問題」でしょう。無料枠は軽く使う分にはそれなりの容量ではあるものの,いろいろな用途に使い出すと途端に足りなくなります。有料枠を使うことである程度増やすことはできますが,それでもどこかに上限が存在します※1)。いわゆる「容量無制限」は他にさまざまな条件を課すことでようやく実現できるサービスなのです。

※1
とはいえ最近は1TBが月千数百円で借りられるため,足りないということはあまりないかもしれません。

他にもサービスの継続性,速度,各種ログや統計の取得,プライバシーの保護やセキュリティのリスクなどを考えると,冗長性や可用性を下げてでも自前でストレージサービスを運用したいという要望もあるはずです。そんな事情もあってか,自前のオンラインストレージサービスを構築できるownCloudは個人用途でもビジネス用途でも人気を博しています。

そしてそのownCloudと並んで最近人気が出てきているのが,今回紹介するPydioです※2)。ウェブブラウザから操作できるオンラインストレージサービスを構築でき,AGPLv3ライセンスのコミュニティエディションがあること,Android/iOS用のアプリがあること,プラグインで機能を拡張できることなど,ほぼownCloudと同じような機能を備えています。名前に「Py」がついていますが,ownCloudと同じくPHP製のソフトウェアです。人によっては重要なことなのでもう一度述べておきますが,PHP製のソフトウェアです。Python製ではありません※3)。

※2
以前はAjaXplorerという名前でした。
※3
Python製のオンラインストレージサービスがほしい場合,第393回で紹介したUbuntu One File Syncサーバーのクローンである Magicicadaに期待しましょう。

ownCloudと異なる点として,Pydioには「ワークスペース」という機能があります。ownCloudは原則としてユーザー毎にフォルダーが割り当てられます。他のユーザーとフォルダーを共有する場合はサブフォルダーに対して他のユーザーにアクセス権を与えることで実現しているのです。

Pydioの「ワークスペース」は個々のユーザーの割り当て領域とは独立した領域として作成されます。このワークスペースに複数のユーザーを参加させることで,作業スペースの共有を実現しています。ワークスペースはローカルファイルシステムだけでなく,Amazon S3やSamba,SFTP経由でアクセスする 領域にも作成できます。ユーザーの個人領域とは別に,ワークスペース毎にリソースの制限をかけることも可能です。

Pydioのインストール

では,さっそくPydioをインストールしましょう。Pydioを動作するために最低限必要なものはウェブサーバーとPHPです。つまりほとんどすべてのLinuxシステムでPydioを動かせます。今回はUbuntu 14.04 LTS上で構築していますが,PydioにはRHEL/CentOSやDebian用のパッケージリポジトリが用意されていますし,ソースアーカイブからインストールすることも可能です。

PydioにはFLOSSなライセンスのコミュニティ版と有償のエンタープライズ版が存在します。今回はコミュニティ版の6.2.1をインストールする方法を紹介しましょう。

Pydioの公式サイトからたどれるドキュメントは原則としてエンタープライズ版に言及しています。エンタープライズ版ではまずAPIキーを入手し,それを元にソースアーカイブをダウンロードしたりリポジトリを登録しているようです。

コミュニティ版のインストールを含む管理者向けのガイドを読みたい場合は,PydioのDOCSページからAdministration Guideをまず開いてください。そしてその下のほうにあるCOMMUNITY ADMIN GUIDEのリンクをたどると,コミュニティ版の情報にたどり着けます。

コミュニティ版のインストール方法として,SourceForgeからソースアーカイブをダウンロードする方法と パッケージリポジトリを追加する方法の2種類が存在します。今回は,より簡単な後者の方法でインストールします。

$ sudo apt-get install apt-transport-https
$ wget -qO - https://download.pydio.com/pub/linux/debian/key/pubkey | sudo apt-key add -
$ echo "deb https://download.pydio.com/pub/linux/debian/ jessie main" | sudo tee /etc/apt/sources.list.d/pydio.list
$ sudo apt-get update
$ sudo apt-get install pydio

リポジトリのスイートが「jessie」になっていますが,Ubuntuであってもインストール可能です。pydioパッケージをインストールしようとすると約145個のパッケージがインストールされます。これはpydioの各プラグインが個別にパッケージ化されていることと,Apache2やPHP,データベース関連のモジュールをたくさんインストールするためです。他にもApache2やClamAV,画像処理関連のライブラリも一緒にインストールします。

Pydioの初期設定

pydioパッケージをインストールしたら,「http://サーバーのアドレス/pydio/」にアクセスしましょう。最初にシステムの診断結果が表示されます。

図1 システムの診断結果

画像

ERRORは修正が必要です。WARNINGは必要に応じて修正してください。上図の場合,MCrypt関連のエラーが出ています。これは,PHPのMCryptモジュールが有効化されていないことが原因です。php-mcryptパッケージはpydioインストール時に一緒にインストールされているはずなので,次のコマンドで有効化しましょう。

$ sudo php5enmod mcrypt

さらにWARNINGとして,Pydioの動作効率をあげるために,「PHP Output Buffer」を無効化することを推奨しています。無効化する場合は,/etc/php5/apache2/php.iniの「output_buffering = 4096」「output_buffering = Off」に変更してください※4)。UbuntuのApache2パッケージの場合,「Server charset encoding」のWARNINGも出るはずです。これは/etc/apache2/envvarsにおいて「LANG = C」としているためで,正しく動作させるためにUTF-8を含むロケールを設定することを推奨しています。システム標準のロケールを使うのであれば,/etc/apache2/envvarsにある 「. /etc/default/locale」を有効化しておいてください。

※4
もちろん「.htaccess」を使って変更する方法でもかまいません。

また,PHPのファイルのアップロードサイズの上限が2MBなのはいろいろと不便なので,上限を増やしておきましょう。/etc/php5/apache2/php.iniで,以下のそれぞれの行を 適当なサイズに設定してください。ここでは100MBにしています。

upload_max_filesize = 100M
post_max_size = 100M

最後にログディレクトリをwww-dataでも書き込めるようにした上で,Aapache2を再起動します。

$ sudo chown -R www-data: /var/log/pydio
$ sudo service apache2 restart

その後,初期設定画面をリロードしてERRORやWARNINGが一通り消えていることを確認してください。ちなみに今回は暗号化は使わないため,SSL関連の警告は無視しています。問題なさそうなら「CLICK HERE TO CONTINUE TO PYDIO」をクリックして,次に進みましょう。

「Main options」では管理者のアカウント名とパスワードを設定します。

図2 管理者のアカウント名とパスワードの設定

画像

次の「Database Connexion」ではユーザーアカウントや各種設定の保存先を指定します。ユーザーがアップロードするファイルの保存先とは関係ありません。保存先としてsqlite3やMySQLといったデータベースを指定できます。sqlite3を使う場合は,sqlite3パッケージをインストールしてください。データベースファイルは,既定の設定だと「/var/lib/pydio/data/plugins/conf.sql/pydio.db」となります。

図3 設定データベースの指定

画像

MySQLを利用する場合はmysql-serverパッケージをインストールした上で,データベースを作成する必要があります。:

$ sudo apt-get install mysql-server
(DBのルートパスワードを設定)
$ mysql -u root -p
(上記で設定したルートパスワードを入力)
mysql> create database pydio;
Query OK, 1 row affected (0.00 sec)

mysql> grant all on pydio.* to 'pydiouser'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit;
Bye

ここで「pydio」がデータベース名,「pydiouser」がユーザー名,「password」がパスワードになります。いずれも任意の値を指定できますので,環境に合わせて変更しておきましょう。データベースを作成したら,設定画面にデータベース名,ユーザー名,パスワードを入力した上で,「User MYSQL」「Yes」にし「Test Connection」ボタンを押します。「Connexion established!」が表示されれば問題ありません。

「Advanced Options」ではその他の設定を行います。日本語ファイル名を扱いたい場合は,「Default encoding」「ja_JP.UTF-8」にしておきましょう。

図4 Default encodingを設定しておく

画像

最後に「Install Pydio」を押すことで,これまでの設定が反映されます。しばらくお待ちください。「http://サーバーのアドレス/pydio/index.php」に,ページ遷移すれば設定完了です。ただ,このページは見た目空白のページなので,改めて「http://サーバーのアドレス/pydio/」に移動してください。

図5 Pydioのログイン画面

画像

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member株式会社 創夢所属。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。

コメント

コメントの記入