FileSystem (連装型)
FileSystem (連装型)は、unix/linuxのWebサーバ上(apache)にてPerlで動作するファイルアップローダであるFileSystemを複数運用するためのスクリプトと、それを使用したシステム。
目次 |
運用条件
- .htacess/.htpasswd によるをアクセス制限を実施できること。
- apache動作ユーザ以外のユーザにてファイルを設置できること。
- bashないし類似するものを動作させることができること。
導入方法
ファイル設置
ベースとなるディレクトリ(例ではfilesys/)と、スクリプトを格納するディレクトリ(例ではfilesys/scripts/)を作成し、ファイルを設置する。アクセス権の設定はセキュリティにかかわる問題で必須、ユーザ名はapache動作ユーザ以外であれば何でもよい。
/filesys/ ←変更可能
.htaccess
index.cgi
scripts/
.htaccess root
download.cgi root 755
edit.cgi root 755
upload.cgi root 755
setting.pm.org root 644
setupfs.sh root 700
d01/ ←作成されたアップローダディレクトリ
d02/ ←作成されたアップローダディレクトリ
index.txt ←ファイルサーバの説明文(任意で設置)
初期設定
設置用スクリプトの setupfs.sh を編集する。ディレクトリごとに設置される.htpasswdの初期状態を設定する必要がある。.htaccess/.htpasswdについてはここでは説明しない。
echo 'username:encodepasswordstring' >> ./.htpasswd
また、設置したディレクトリを記入する必要がある。上記ディレクトリ例では「BaseDirectory」を「filesys」と書き換える。
echo 'AuthUserFile /BaseDirectory/'$TARGET'/.htpasswd' >> ./.htaccess ↓ echo 'AuthUserFile /filesys/'$TARGET'/.htpasswd' >> ./.htaccess
増設方法
増設時にはスクリプトを動作させる必要がある。shないしbashにて動作可能。ディレクトリ名を指定することが必要で、ディレクトリ名は任意のものが使用できるが、スクリプト設置ディレクトリと同名を指定してはいけない。
./setupfs.sh <ディレクトリ名>
指定されたディレクトリ名が作成され、使用可能になる。上記例では、以下のURLがアップローダ用URLとなる。
http://hostname/filesys/<ディレクトリ名>/
設置したディレクトリで一般公開用に静的ダウンロードHTML生成機能を有効にする場合、当該ディレクトリ内のsetting.pmを編集し、変数fnHに出力ファイル名を設定する。
$fnH = "./download.html";
一覧表示機能
ブラウザからindex.cgiを表示させることで、管理下の全てのディレクトリへのリンクを付与したディレクトリ名を表示する。この際に各ディレクトリ内に index.txtが存在する場合、そのテキストの内容を添えて表示するので、必要に応じて作成する。不要であればindex.cgiを削除すること。
個別の設定
個別の設定についてはFileSystemを参照。
運用方法
運用方法についてはFileSystemを参照。
ダウンロードと履歴
- Version 2.00m
- 2009/2/21
- Version 2.10m
- 2009/2/24
- インデックス機能追加
- 複数アップローダへのリンクを自動生成するスクリプトを追加。
- 静的ダウンロードHTML生成制限
- 静的ダウンロードHTML名のデフォルトを削除。ファイル名が指定されていない場合は生成不可能とした。