ホームHTMLに役立つヒントADSLでMACサーバ・実験室 > fileget.acgi解説

fileget.acgi解説

 外にあるwebサーバからファイルを任意の場所にダウンロードするためのCGI。web共有ではファイルのアップロードがなかなかうまくいかないので、いったん外のサーバ(たとえば無料のホームページ領域を提供しているところや無料blog)にアップして、そのファイルを自宅Macサーバにとってくる、という仕組み。


■ 目次 ■


特徴 ▲ページトップ

●このCGIの前提としている使い方。

 下のような順番で、いったんファイルを外のwebサーバにアップロードし、そのファイルをCGIでMacのweb共有サーバに取ってきます。

 外のwebサーバというワンクッションが必要。 外のwebサーバは、無料で使えるホームページスペース(ADSLなどの契約にはよく無料スペースがついてくる。たとえばgeocities)、無料blog(Yahoo/goo/googleのBlogger/Exciteなど)でよい。

 でも、無料ホームページには画像置き場にするなとか規約がありますから、利用規約違反にならないようにご注意。

 無料ホームページならFTPをサポートしているので、.htmlや.css、.jsなどのファイルをアップ/転送できます。blogではFTPをサポートしていないことが多いようですので、任意のファイルをアップできません。したがって、blogを利用した場合は無料ホームページよりも転送できるファイルの種類が少なくなるでしょう。実質、blogスペースを利用した場合は、画像ファイルのみと考えた方がいいと思います。

●web共有で使えるファイル転送CGIです。

●ファイル転送できるファイルの種類(拡張子)を指定できる。

●すでに同名ファイルが存在する場合、上書きするかどうか指定可能。

●(一応)管理者名/パスワードによる認証をしている。

●POSTメソッドでないと許可しない。

○外にwebサーバが必要である。


必要なシステム ▲ページトップ

●web共有。サーバソフトです。動作チェックはweb共有ver1.5.1で行っています。

●classic OS 8.1以降が必要です。これはMacPerlがOS 8.1以降を必要としているため。

●MacPerl 5.2r4/5.6.1r2で動作を確認しています。

●メール送信する場合は田中求之さんのUVJ Mailerが必要です。


ダウンロード ▲ページトップ

fileget.acgi012.txt CGIスクリプトです。クリックしてテキストファイルとしてダウンロードしてください。後でファイル名を変更します。


設定 ▲ページトップ

●CGIファイル名

 セキュリティには十分気をつけてください。

 他の人に使われないように、類推しにくいCGI名をつけてください。あくまで例ですが、「kichijyouji.acgi」とか「mataka.acgi」とか「chuuousen.acgi」とか、わけわかんない名前の方がいいです。

 なお、このCGIはwebのルートディレクトリ直下である必要があります。

●file_get_ftp.acgi.txtの設定

 EUC/CRで編集します。

 次の赤い部分を変更します。

# ====================================================
#  変数の設定
# ====================================================
# 管理者の設定
$adminname = "admin"; # 管理者名。必ず変更すること。
$passwd = "0123"; # 管理者パスワード。必ず変更すること。

$cginame = "fileget.acgi"; # このCGIの名前。必ず変更すること。

# ダウンロードを許可するファイルの拡張子を半角スペースで区切って指定
# .txtや.htmlも必要に応じて追加できる。「.」を忘れずに。
$suffix = ".jpg .jpeg .gif .png .html .htm .shtml .txt .js .css .cgi .acgi";

# メール送信するならUVJ Mailerに登録してあるニックネームを書く。
# 空にすると送信しない。
# また、UVJ Mailerはあらかじめ立ち上がっている必要がある。
$mailto = "ニックネーム" ;

# メール送信するときの発信元メールアドレス。送信しないなら空でOK。
$frommail = "name\@xxxx.ne.jp";

# ログファイルの名前。空なら出力しない。
$logfile = "fileget.log";

※メール送信やログ出力は、知らない間に勝手に使われていた、なんてことがないように、お知らせしたり(メール)、記録を取ったり(ログ)するものです。少なくともログは取っておきましょう。


ファイルの保存 ▲ページトップ

●acgiの保存と移動。

 xxxx.acgi.txtをMacPerlで開き、CGI Scriptとして保存します。メモリの割り当ては1000kb位でいいでしょう。それをwebのルートディレクトリにおきます。くどいですが、名前は変更して下さい。

●アクセスする

 後は設置したCGIにブラウザでアクセスして下さい。こちらに操作画面の見本をおきます。


UVJ Mailerについて ▲ページトップ

 メール送信には田中求之さんのUVJ Mailerを使っています。

 デフォルトでは「UVJ Mailer 3.1 PPC」となっています。異なるバージョンをお使いの場合は、CGIの次の箇所を変更してください。

tell application "UVJ Mailer 3.1 PPC"

 また、CGIが呼び出す以前に、UVJ Mailerが立ち上がっている必要があります。自動的には立ち上がりませんのでご注意下さい。


変更履歴 ▲ページトップ

ver0.12 2005/11/5

ver0.11 2005/11/3

ver0.1 2005/11/2


著作権など ▲ページトップ

 フリーウェアです。私用・商用を問わず自由に使えます。改造や改造品の再配布も御自由にどうぞ。

 ただし、このスクリプトを使用して被ったいかなる損害も補償されません。


ホームHTMLに役立つヒントADSLでMACサーバ・実験室 > fileget.acgi解説