2009/06/09

AjaXplorerを使ってみる

webを管理する時に面倒なのがファイル管理。
アップロードとダウンロード、そしてユーザIDとパスワード。
ftpツールを使えば良いが、それすら面倒。

それならファイル管理プログラムを探そうってことで
PHP4も5にも対応でAjaxな美しいインターフェイス。

AjaXplorer

ダウンロードソースはこちら=>

オンラインストレージサービスのような感じのものを自前のサーバで構築するためのWebアプリケーションといったところでしょうか。

1.AjaXplorer のアーカイブをダウンロードして展開。
2./var/www/html/axとしてコピー。
3.chownでaxのフォルダの所有者を(サブフォルダも含めて)apacheに。
とりあえず、上記3点を行えば使えるようになります。

外部サーバと組み合わせて使用したりする場合、server/conf/conf.phpファイルを編集する必要がありそうですが、単体で使用する場合はデフォルトのままでもOKのようです。

なお、.htaccessでアクセス制限を行っているため、Apacheの設定でAllowOverride noneなんてしていると、予期せぬファイルが閲覧されたりするので注意が必要。

ちなみに、日本語化に関して。
フォルダ構成は変更されていますが、

http://www.chrysaor.org/wiki/index.php?Ajaxplorer

にまとめられている内容+αで対応できました。

1.client/i18n フォルダ内にja.phpを作成。なお、ファイルのエンコードをutf8で作成しておくと、server/classes /class.ConfService.php ファイルの編集が不要になります(mb_convert_variablesの処理が不要になる)。

2.server/conf/conf.php の $available_languages に、"ja"=>"Japanese" を追加。これで、設定画面で「Japanese」を選択できるようになります。

3.client/html/fancy_tpl.html、client/html/admin.html の2つのhtmlファイルのcharset=iso-8859-1charset=utf-8に。

4.以下のファイルから、utf8_decode,utf8_encodeを除去する。
 ・content.php
 ・index.php
 ・server/classes/class.AJXP_XMLWriter.php
 ・server/classes/class.HTMLWriter.php
 ・server/classes/class.UserSelection.php
 ・server/classes/class.AJXP_ClientDriver.php
 ・server/classes/class.AbstractDriver.php
 ・plugins/ajxp.fs/class.fsDriver.php

なお、AJXP_ClientDriver.phpにおいては、$mess = array_map("utf8_encode", $mess);という部分の除去(コメント化)も必要となるので注意。

ちなみに、アップロード可能なファイルサイズは、/etc/php.ini内のupload_max_filesizeおよびpost_max_sizeの値に準拠します(デフォルトでは2MB)。