Pydioの構築(apache2編)

前回のPydioの構築では、Nginxを使用したマニュアルインストールで試みたところ、パブリックリンク設定でどうしても"404 not found"が出てしまい、ネットを探してもApache関連の設定しかないのと、Pydioのドキュメントがイマイチ貧弱で分からなかったので断念。

パッケージインストールを使って、Apache2で再構築しました。ただし前回の続きなので、PHP7とMariaDB(MySQL)はすでにインストール済みです。

> sudo echo "deb https://download.pydio.com/pub/linux/debian/ xenial main" > /etc/apt/sources.list.d/pydio.list
> sudo wget -qO - https://download.pydio.com/pub/linux/debian/key/pubkey | sudo apt-key add -
sudo apt-get update
> sudo apt-get install pydio-all
> sudo apt-get install php-xml

まず、インストールでハマったのは、すでに80番ポートが稼働しているとpydio-allの途中でインストールスクリプトが失敗して、aptインストールが"half-installded"になって、詰んでしまいました。

apt install -d apache2でapache2のパッケージをダウンロードさせて、dpkg -iでapache2だけインストールを完了させて、ポート番号を使ってないポートに変更させることによって、pydio-allのインストールスクリプトが続行できるようになりました。

Pydioのインストール構成

Pydioはプログラムとデータ部でインストール先が分かれていました。プログラムはこのままで、データ部だけをサイズの大きいパーティションへ移動しました。

  • Pydioプログラム本体
/usr/share/pydio
  • Pydioデータフォルダ
/var/lib/pydio/data
# 以下に移動
/home/pydio/data
  • PHPの設定ファイル
/etc/php/7.0/apache2/php.ini

変更点だけ抜粋

> diff php.ini php.ini.bak
230c230
< output_buffering = Off
---
> output_buffering = 4096
656c656
< post_max_size = 5G
---
> post_max_size = 8M
805c805
< ;upload_tmp_dir = /home/share/Temp/nginx_cache/
---
> ;upload_tmp_dir =
809c809
< upload_max_filesize = 5G
---
> upload_max_filesize = 2M
812c812
< max_file_uploads = 2000
---
> max_file_uploads = 20
1619c1619
< mbstring.language = Japanese
---
> ;mbstring.language = Japanese
1626c1626
< mbstring.internal_encoding = UTF-8
---
> ;mbstring.internal_encoding =
1634c1634
< mbstring.http_input = auto
---
> ;mbstring.http_input =
1644c1644
< mbstring.http_output = UTF-8
---
> ;mbstring.http_output =
1652c1652
< mbstring.encoding_translation = On
---
> ;mbstring.encoding_translation = Off
1657c1657
< mbstring.detect_order = auto
---
> ;mbstring.detect_order = auto
  • Apache2の設定

デフォルトポートはports.confを直接変更して80番以外に変更。apacheのコンフィグ設定は、シンボリックリンクで、pydioの設定フォルダ内のapache2.confを参照していただけで、こちらは変更なし。

PHPやREWRITEモジュールが必須ですが、デフォルトで利用可能になっていたのでそのまま。

/etc/apache2/ports.conf
/etc/apache2/conf-enabled/pydio.conf -> ../conf-available/pydio.conf
/etc/apache2/conf-available/pydio.conf -> /etc/pydio/apache2.conf
  • Pydioの設定
/etc/pydio/bootstrap_context.php
/etc/pydio/bootstrap_conf.php
/etc/pydio/apache2.conf

Localeをja_JP.UTF-8に変更

> diff bootstrap_conf.php bootstrap_conf.php.bak
32c32
< define("AJXP_LOCALE", "ja_JP.UTF-8");
---
> define("AJXP_LOCALE", "en_EN.UTF-8");

データフォルダを/home/pydio/dataに移動

> diff bootstrap_context.php bootstrap_context.php.bak
31d30
< setlocale(LC_ALL, 'ja_JP.UTF-8');
45c45
< define("AJXP_DATA_PATH", "/home/pydio/data");
---
> define("AJXP_DATA_PATH", "/var/lib/pydio/data");

/home/pydioのディレクティブとログを追加

> diff apache2.conf apache2.conf.bak
6,8d5
< ErrorLog "/home/pydio/error.log"
< CustomLog "/home/pydio/access.log" common
<
26,32d22
<
< <Directory /home/pydio>
<         Options FollowSymLinks MultiViews
<         AllowOverride Limit FileInfo
<         Order allow,deny
<         Allow from all
< </Directory>

MariaDB(MySQL)の設定

基本的に前回の設定と同じ。再構築するため、pydioのデータベースを削除&再作成しました。

Pydioの初期設定

Pydioの構築の後半参照

共有設定について

Application Coreの設定に共有設定がある。基本的に以下のデフォルトのままで変更なし。

pydio_options01

テスト用に何かしらのファイルをまず登録する。以下の例だとshare_file.txtを登録。
share01

画面右側の公開リンクを選択する。
share02

Enable Public Linkを有効にする。
share03

公開用のURLが生成されて、ドキュメントに割り当てられる。変更することも可能。また、このファイルに対してのパーミッションも設定できる。ほかには、パスワード保護して特定の人だけアクセスできるようにしたり、期限を設定することもできるようである。

share04

実際にアクセスしてみる。テキストを公開すると、専用のエディタ画面が表示される。Editを許可すると変更できそう。Edit不許可だと、編集できても保存アイコンを押してもエラーになる。押せないようにしたほうが良いと思うが。。

share05