AjaXplorerの環境設定
グループでファイルを共有するのにDropboxを使っています。大きなファイルをメール添付で送る代わりに利用すると便利です。別のグループでもクラウドストレージを使いたいと考えました。
ホームページに利用しているレンタルサーバーがあるので、これの空きスペースをDropboxの代わりにファイル共有に使ってみたいと思いましたが、自作するだけの知識はありません。そこで、いろいろWeb上で調べた結果、この目的にはAjaXplorerが一番良さそうだと判断しました。AjaXplorerは海外製のフリーソフトですが、日本語も使えます。
ところが、AjaXplorerをインストールしてみたところ、アップロードできるファイルサイズが制限される問題が発生し、2日間悩まされました。その原因がやっと分かったので、ここにまとめておきます。
結論を言えば、PHP.iniの設定変更を先に実行しなかったためでした。インストール後AjaXplorerを最初に実行したとき、その時点の環境条件が取り込まれるため、後でPHP.iniを変えてもそれが反映されないという現象でした。
またAjaXplorerは2013年3月現在、Ver4.2.3ですが、Web上ではVer3.x.xの説明が多く、インストール前の設定にかなり違いが生じています。
2013年3月29日記
発生した現象
最新のVersion 4.2.3をダウンロードし、インストールしました。
注意点としてはPHP.iniでアップロードできるファイルのサイズがデフォルトでは2MBとか5MBに制限されているので、これを20MB程度に変更することと、日本語を使用する設定にすることがあちこちで指摘されていました。一部のフォルダーのパーミッションを777にするべきことも分かっていました。
さくらインターネットではPHP.iniの設定をサーバーコントロールの管理画面で変更できます。その変更結果をPHPini_check.PHPというファイルを作ってPHPの設定状態を見たところ、予定通り許容サイズが20MBに大きくなっていました。ところが、AjaXplorerで5MBを超えるファイルをアップロードしようとすると、サイズが大きすぎるという窓が出て、アップロードしてくれません。
原因がどうしても分からないので、ロリポップにも同じようにインストールしてみました。ロリポップもPHPの設定をユーザーが変更できます。ただし、アップロードファイルサイズは2Mか、20Mのいずれかを選択するしか設定できません。結果は、さくらインターネットと同じ内容でインストールしたはずですが、こちらは2MBまでしかアップロードできません。
同じものをインストールしてもレンタルサーバーの違いでアップロードできる最大サイズが変わります。しかし、サーバーのPHPの設定値より小さいサイズが限界になるとはどういうことか?
どうやら、インストール後の最初の実行時に行なわれる環境テストで環境条件を取り込むようになっており、事前にPHP.iniの制限値を変更しておかないと、小さい限界値が取り込まれるらしいと気づきました。先にphp.iniを変更しておけば、その値が取り込まれます。後からでも変更できるのですが、どこで変更できるのかが なかなか分かりません。
実は、AjaXplorerのプログラム構成がVer3とVer4ではかなり変わっています。Ver3ではconf.phpにアップロードファイルサイズのパラメータ設定があり、設定を変えるにはconf.phpの中を変更しなければなりません。Ver4では、インストール時にプログラム自体を変更するような特殊作業をできるだけ減らそうとしています。
Ver4では実行後、ログインして左上方にあるメニューに設定メニューが隠れています。「Default Files」と表示されている部分を開くと「設定」があり、これを開くと「Global Configurations」があり、その中に「Core Configs」があります。これを開くと「Common’Uploader’plugins Options」があり、これをダブルクリックすると、窓が現れ、「Limitations」を開くと「File Size」の設定値が現れます。
インストール手順Ver4.2.3場合
①PHP.iniの変更(さくらインターネットの場合を書きます。)
memory_limit=128M
最初からこの値でしたのでなくてもかまいません。ロリポップでは変更できません。
post_max_size=100M ロリポップは自動設定です。
upload_max_filesize=20M ロリポップは20Mか2Mのいずれかの選択になります。
②(このステップは省略可能です。)次の一行を書いた一行スクリプトをPHPini_check.phpなどの名称でインストール先に保存し、これを呼び出すと、PHPの設定パラメータ一覧が表示されます。iniの変更結果をこれで確認します。
<?php phpinfo() ?>
③conf/bootstrap_conf.phpを修正
説明文があるのでその後に1行追加します。
define(“AJXP_LOCALE”,”ja_J.UTF-8″);
④ajxpフォルダーを作って、全部のファイルをアップロード
⑤http://****.com/ajxp/にアクセスして、AjaXplorerを起動させます。
⑥実行環境テスト結果が表示されるので、エラーでなければ、adminでログイン
⑦右端のメニューを開き、パスワードを変更
⑧画面表示が英語なら、右端のメニューで言語を日本語に変更
①の設定を⑤より後回しにするとすると、アップロードサイズの上限値はiniの変更前の値が取り込まれ、アップロードできるはずのサイズのファイルでもアップロードの際のチェックではじかれるようになります。
ログイン後、設定を修正することは可能ですが、最初は原因不明ではまってしまいました。
HTTPS(SSL)でアクセスするにはサーバーを共有SSLを利用する設定にしてHTTPS://xxxx.sakura.ne.jp/ajxp/を強制すればよい。
Ver4ではbootstrap_conf.phpの最後の行のコメントアウト//を外せば、強制的にHTTPSにしてアクセスさせることができます。
インストール手順Ver3.2.5の場合
①PHP.iniの変更 サーバー側の変更であり、Ver4と同じ。
②次の一行を書いた一行スクリプトをPHPini_check.phpなどの名称で
インストール先に保存し、これを呼び出すと、PHPの設定パラメータ一覧が
表示されます。iniの変更結果をこれで確認します。
<?php phpinfo() ?>
(Ver3では、これ無しでも最初の実行後やログイン後にDiagnos診断を実行すると設定値が表示されます。)
③server/conf/conf.phpを修正
2行目にsetlocale(LC_ALL,”ja_J.UTF-8″);を追加
214行目あたりの$default_language=”en”を”ja”に変更
248行あたりの$upload_max_size_per_file=20971520;
253行あたりの$upload_max_size_total=104857600;
Ver3はconf.phpファイルの修正箇所が多いのですが、Ver4はbootstrap_conf.phpの一行だけです。
Ver4はインストール時にプログラムを直接編集するという特殊な作業をできるだけ無くそうとしています。設定の変更はログイン後のGUIのメニューからほとんどできるようになっています。
しかし、Ver3の方がさくさく動きます。
AjaXplorer4.2.3から5.0へのアップデート
Ver4.2.3からVer5.0.0へのアップデートは、AjaXplorerにログインし、upgradeボタンでAuto Updateできます。
Ver4.2.3からかなりデザインが変わり、動作も速く感じます。(Lolipopでphpを5.3に設定して使用した場合です。)
Ver5.0.0ではphp5.3以上が条件になっており、php5.2では使用できません。ところがその後、AjaXplorerのVerが5.0.2まで上がり、phpの条件が5.1以上に緩和されています。
以上2013年7月記
さくらインターネットではphp5.2.17+AjaXplorer3.2.5を使用していました。これを削除し、php5.2.17の環境で 試しに5.0.2を最初からアップロードしてインストールしようとしましたが、環境チェックが相変わらずphp5.3以上を条件としており、エラーが表示されました。「5.1以上」は誤記なのかもしれませんが、一時的にPHPを5.3.27にしてインストールし、インストール完了後PHPを5.2.17に戻したところ、エラーが出ることなく一応動作しています。
さくらインターネットでphpを5.2.17にしているのは、別項のNetCommonsが問題なく動くことが理由です。NetCommonsは間もなく(8月末か、9月初めに)アップデートされ、php5.4に対応するとのことなので、phpを5.4まで上げて使ってみたいと期待しています。
以上2013年8月23日追記
AjaXplorerはその後PYDIOと名称変更されています。