ISP WAKWAK / 画像アップローダーを設置する

このコラムは、ISPであるWAKWAKが無料貸与するホームページ領域において、
アップローダー設置時に設定が必要となるパス表記について記した物です。
WAKWAKでは、セキュリティの兼ね合いからから、CGIなどのプログラムを実行する物と、
画像やhtmlを設置するディレクトリが違っており、なかなかにややこしい事になっています。
特にアップローダーを設置する場合など、相対パスの表記が分かりづらい場合が多く、
画像置き場の構造で結構躓いている人が多いようなので、作成してみました。
とりわけ、SnUploaderなどのアップロード系に有効だと思われます。
上記のスクリプトなら、実際のパスの書き方を交えていますので設置も楽です。
それ以外でも転用できる部分は多いかと思いますので、参考にして頂ければ幸いです。
現在のhttp://park**.wakwak.com/~xxx/のようなURLになるサーバに対応しています。


前提の知識として

パーミッションやディレクトリの構造、perlのパスの指定方法などは分かっておいて下さい。
ここで説明するのは、あくまでも相対パスの書き方であって、それ以外はノーサポートです。
また、URLが http://park**.wakwak.com/~xxx/ という仮定で記していきます。
**とxxxの部分には、各々違った物が入りますので、読み替えて下さい。

サーバの構成

一般的に、WAKWAKへFTPソフトを介し接続すると、以下のようなディレクトリ構造が現れ、
それぞれのディレクトリへと移動できるといった感じになると思います。
なお、名前順の種類順でソートしてあります。
・bbs
・bin
・cgi-bin
・counter
・dev
・etc
・lib
・public_html
・usr
今回使用するのは、"cgi-bin"と"public_html"のみですが、この構成を忘れないで下さい。

SnUploaderを設置してみる

SnUploaderは、動作が軽く、安定しているので使っている方も多いかと思います。
特にシンプルなUIが好かれるのか、簡易なアップロードには非常に向くと思います。
これを設置するためには、パスを合わせる必要があるのですが、
はじめに言いました通り、WAKWAKでは、画像やhtmlを置くディレクトリが決まっています。
具体的には、上で記したpublic_htmlにおかなければ、表示されません。
そこで、画像のアップ先、及び表示先の表記をpublic_html以下にする必要があります。

今回は、配布されているSnUploaderの中でもNoCGI.pmを使用します。
2006/10/14現在、配布されているzipファイルの中身はこんな感じかと思います。
snup_051010d / readme.txt
      |   / snfaq.txt
      |
      +-- uploader / upload.cgi
      |
      +-- uploader+cgipm / upload.cgi
ですので、uploader 内にある upload.cgi のパスを合わせます。
最終的なサーバ側のディレクトリ構造はこうなる感じで設定していきます。
home_directory [755]
     |
     +-- cgi-bin [755]
   |    |
   |      +-- upload [755] / upload.cgi [755]
   | 
     +-- public_html [755]
        |
          +-- up [755]
            |
              +-- src [755]
変更箇所は、以下の通りです。はじめの数字は行数を表します。
TeraPadなどで調節すると、行数表示が出来便利です。
1 | #!/usr/bin/perl
 → #!/usr/local/bin/perl
当然ですが、perlへのパスを合わせます。
23 | $set{'html_dir'} = './';
  → $set{'html_dir'} =
   '../../public_html/up/';

24 | $set{'src_dir'} = './src/';
  → $set{'src_dir'} =
   '../../public_html/up/src/';

25 | $set{'base_cgi'} = './upload.cgi';
  → $set{'base_cgi'} = 
     'http://park**.wakwak.com/~xxx/cgi-bin/upload/upload.cgi';

26 | $set{'http_html_path'} = './';
  → $set{'http_html_path'} =
   'http://park**.wakwak.com/~xxx/up/';

27 | $set{'http_src_path'} = './src/';
  → $set{'http_src_path'} =
   'http://park**.wakwak.com/~xxx/up/src/';
他にもパスワードやら、投稿サイズやらありますので、必要に応じて変更して下さい。
終わったら上に書いた構成の通りにアップロードし、パーミッション変更を行います。
あとは http://park**.wakwak.com/~xxx/cgi-bin/upload/upload.cgi にアクセス。
相対パスのディレクトリの上がり方と、絶対パスの表記の仕方がキーです。
WAKWAKのサポートにも一部書いてありますが、あの通り書いたのでは通りません。

©2000-2006 Kaede Kannagi. All rights reserved.