mod_uploader は,よくあるアップローダを lighttpd のモジュールとして 実装したものです.以下のような特長があります.
mod_uploader は,UNIX 系 OS で動作します.詳細を以下に示します.
開発は, Gentoo Linux kernel 2.6.10 ,GCC 3.3.5 ,lighttpd 1.4.6 ,ImageMagick 6.1.8.8 ,ffmpeg 0.4.9 で行っています.
下記のようにすることで check out できます.(パスワードは空)
$ cvs -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/mod-uploader login $ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/mod-uploader co mod_uploader
また, ViewCVS 経由で参照 することもできます.
GNU Compiler Collection でコンパイルする場合は,
$ ./configure --lighttpd-src=/path/to/lighttpd/sources --lighttpd-plugin=/path/to/lighttpd/plugins $ make lighttpd-module
とします. Intel C++ Compiler でコンパイルする場合は,
$ env CC=icc ./configure --lighttpd-src=/path/to/lighttpd/sources --lighttpd-plugin=/path/to/lighttpd/plugins $ make lighttpd-module
とします.
configure は次のオプションを受け付けます.エラーがでた場合は, --with-aprconf や`--enable-iconv-const`_ を試してみてください.
$ ./configure $ make lighttpd-module
$ env CPPFLAGS="-I/usr/local/include -L/usr/local/lib" ./configure --enable-iconv-const --with-libtool=/usr/local/bin/libtool15 $ gmake lighttpd-module
$ env CPPFLAGS="-I/sw/include" ./configure --enable-iconv-const --disable-rwlock $ env MACOSX_DEPLOYMENT_TARGET=10.4 make lighttpd-module
設定は, lighttpd の設定ファイルに,以下のように記述します. ( * 印がついているものは必須)
テンプレートは,tmpl/lighttpd ディレクトリに入っている view.htm , progress.htm , download.htm , thumbnail.htm , error.htm を利 用してください.
uploader.path = アップローダを設置する場所 * uploader.url = アップローダの URL(RSS の生成に利用) uploader.file-directory = アップロードファイルを保存するディレクトリ * uploader.thumb-directory = サムネイル画像を保存するディレクトリ * uploader.tmp-directory = 一時ファイルを保存するディレクトリ * uploader.max-file-size = 一回にアップロードできるファイルの最大サイズ(KB) uploader.total-file-size-limit = ファイルの合計サイズの上限値(KB) uploader.total-file-number-limit = ファイルの個数の上限値 uploader.per-page-item-number = 1 ページあたりに表示するアイテム数 uploader.view-template-file = トップページのテンプレートファイル * uploader.progress-template-file = アップロード状況表示画面のテンプレートファイル * uploader.download-template-file = DL pass 入力画面のテンプレートファイル * uploader.thumb-template-file = サムネイルページのテンプレートファイル * uploader.error-template-file = エラーページのテンプレートファイル * uploader.activate = mod_uploader を有効化するかどうか *
http://foo/up/ に設置する場合の設定例は以下のようになります.(これは あくまでも例です.ディレクトリやファイルのパスは環境よって違ってきます)
uploader.path = "/up" uploader.url = "http://foo/up/" uploader.file-directory = "/home/kimata/prog/Apache/Uploader/file" uploader.thumb-directory = "/home/kimata/prog/Apache/Uploader/thumb" uploader.tmp-directory = "/home/kimata/prog/Apache/Uploader/tmp" uploader.max-file-size = "1024" uploader.total-file-size-limit = "10240" uploader.total-file-number-limit = "1000" uploader.per-page-item-number = "20" uploader.view-template-file = "/home/kimata/prog/Apache/Uploader/tmpl/lighttpd/view.htm" uploader.progress-template-file = "/home/kimata/prog/Apache/Uploader/tmpl/lighttpd/progress.htm" uploader.download-template-file = "/home/kimata/prog/Apache/Uploader/tmpl/lighttpd/download.htm" uploader.thumb-template-file = "/home/kimata/prog/Apache/Uploader/tmpl/lighttpd/thumbnail.htm" uploader.error-template-file = "/home/kimata/prog/Apache/Uploader/tmpl/lighttpd/error.htm" $HTTP["url"] =~ "^/up/" { uploader.activate = "enable" }
UNIX 系 OS の場合,次のコマンドを入力して,http://127.0.0.1:9090/up/ に アクセスすることですることでインストールせずに動作を確認できます.(他の ホストからアクセスする場合は, 127.0.0.1 の部分を適当に置き換えてくだ さい)
$ su - # make -f GNUmakefile.lighttpd start
もし, LoadModule 関連のエラーが出た場合は,conf/apache.conf を適宜修 正してください.
停止は,次のようにします.
# make -f GNUmakefile.lighttpd stop
下記のように, LD_PRELOAD に libunwind.so.5 を指定しながら lighttpd を起動したら症状が改善する場合,ICC のインストール方法に問題があります. もう一度設定を見直してください.
$ env LD_PRELOAD=/opt/intel_cc_81/lib/libunwind.so.5 "Apache の起動コマンド"
Comming soon...
プログラムの作成にあたってお世話になった文献を紹介します.