特殊なサーバーでの設置方法

特殊なサーバーでの設置方法

特殊なサーバーでの設置例や注意すべき点を紹介します。説明の便宜上、CGI設置者のアカウントを account としているので、この部分は自分のアカウントに読み替えてください。

CGIが別サーバーになっている場合

CGIを別サーバーにアップロードしなければならない場合の設定方法です。

この場合、CGIと同じディレクトリに画像ファイルをアップロードしても表示できない事があるので、アイコン機能やファイルアップロード機能を持つCGIを設置する場合は注意が必要です。また、画像ファイルを格納するディレクトリを相対パスで指定できない事があります。

その場合、

#アイコン画像保存ディレクトリ(アイコン機能を使用しない場合は無効)
$iconfile_dir = 'http://your.page.addr/~account/icon/';

もしくは

#アイコン画像保存ディレクトリ(アイコン機能を使用しない場合は無効)
$iconfile_dir = '/~account/icon/';

のように、http:// から指定したり、/~account/ から指定すれば参照できる事が多いです。

ファイルアップロード機能のあるCGIの場合はファイルのアップロード先の指定にも注意が必要です。相対パスで指定することができない場合、

#アップロードファイル保存ディレクトリ
$upfile_dir = '/homepage/upfile/';

もしくは

#アップロードファイル保存ディレクトリ
$upfile_dir = '/public_html/upfile/';

と指定すればアップロードできる事が多いです。

また、CGIからの戻り先を指定する場合も注意が必要です。戻り先を相対パスで指定できない場合は以下のように http:// から指定してください。

#リンクの戻り先
$back_url = 'http://your.page.addr/~account/index.html';

詳しいことは各Webスペースのサポートページなどに記されているはずなので、そちらもご覧ください。

Professional版での設定方法

CGIを専用ディレクトリに設置する場合の手順を、Web Diary Professional を例に解説します。(Ver4.10以降対応。)

Web Diary Pro 初期設定の場合、CGI専用ディレクトリに設置できないファイルはアップロードファイル・サムネイル画像ファイル・アイコン画像ファイル・書き出し用HTMLファイルなどです。

サーバーの仕様

この例でのサーバーの仕様は、CGI実行に関するプログラムを cgi-bin 内に置き、公開用のデータを public_html 内に置くサーバーとしています。さらに、cgi-bin 直下のファイルを呼び出す場合は http://your.page.addr/~account/cgi-bin/xxx.cgi とし、public_html 直下のファイルを呼び出す場合は http://your.page.addr/~account/xxx.html とするものとします。

今回は Web Diary Pro のプログラム用データを cgi-bin/diarypro/ に、Web Diary Pro の公開用のデータを public_html/diarypro/ に置くものとします。

ファイルの設置

まずはPerlのパスを設定後、一旦 cgi-bin/diarypro/ にすべてのファイルを設置します。また、public_html/diarypro/ 内に datahtmlskin の3つのフォルダを作成しておきます。

次に cgi-bin/diarypro/skin/ から common.csscommon.js を取り出し、public_html/diarypro/skin/ へ移動します。(CSSファイル・JSファイル・画像ファイルなどは、公開用ディレクトリに設置する必要があるデータです。)

さらに public_html/diarypro/html/ 内に index.html を作成します。(ファイルには何も書く必要はありません。)ディレクトリ構成は以下のようになります。(カッコの数値はパーミッションの値。)

home / cgi-bin / diarypro / diary.cgi       [755]
  |                |        diary-paint.cgi [755]
  |                |        diary-tb.cgi    [755]
  |                |
  |                +-- data /
  |                |
  |                +-- lib / ~略~
  |                |
  |                +-- skin / ~略~
  |
  +-- public_html / diarypro /
                      |
                      +-- data /
                      |
                      +-- html / index.html
                      |
                      +-- skin / common.css
                                 common.js

スキンファイルの編集

次に cgi-bin/diarypro/skin/header.html をエディタで開き、CSSファイルとJSファイルへのパスを絶対パスかルートパスに変更します。(http:// から指定するか、/ から指定します。)具体的には、以下のようになります。

<link rel="stylesheet" href="http://your.page.addr/~account/diarypro/skin/common.css" type="text/css" media="all" />
<script type="text/javascript" src="http://your.page.addr/~account/diarypro/skin/common.js"></script>

環境設定ファイルの編集

あとは cgi-bin/diarypro/lib/webliberty/App/Init.pm をエディタで開き、初期設定を変更します。

まず、基本設定にある

html_file => './index.html',

この設定を以下のように変更します。(diary.cgi から見た、トップページ用HTMLの書き出し先。)

html_file => '../../public_html/diarypro/html/index.html',

次にログファイルの設定にある

data_upfile_dir    => './data/upfile/',
data_thumbnail_dir => './data/thumbnail/',
data_icon_dir      => './data/icon/',

この設定を以下のように変更します。(diary.cgi から見た、アップロードファイル・サムネイル画像・アイコン画像の保存先。)

data_upfile_dir    => '../../public_html/diarypro/data/upfile/',
data_thumbnail_dir => '../../public_html/diarypro/data/thumbnail/',
data_icon_dir      => '../../public_html/diarypro/data/icon/',

次にアーカイブファイルの設定にある

archive_dir => './archives/',

この設定を以下のように変更します。(diary.cgi から見た、各記事用HTMLの書き出し先。)

archive_dir => '../../public_html/diarypro/html/archives/',

次に特殊サーバー用設定にある

data_upfile_path    => '',
data_thumbnail_path => '',
data_icon_path      => '',
archive_path        => '',

この設定を以下のように変更します。(アップロードファイル・サムネイル画像・アイコン画像の保存先とHTMLの書き出し先の参照用URLになります。)

data_upfile_path    => 'http://your.page.addr/~account/diarypro/data/upfile/',
data_thumbnail_path => 'http://your.page.addr/~account/diarypro/data/thumbnail/',
data_icon_path      => 'http://your.page.addr/~account/diarypro/data/icon/',
archive_path        => 'http://your.page.addr/~account/diarypro/html/archives/',

ブラウザからセットアップ

これで http://your.page.addr/~account/cgi-bin/diarypro/diary.cgi にアクセスし、セットアップを行います。サイトのURLは http://your.page.addr/~account/cgi-bin/diarypro/ と指定しておきます。

以上で完了。設定のもっと詳しい意味とか Web Board Pro での実例とかはそのうちに用意したいと思います。(基本的に、diaryproboardpro に読み替えればOKです。)
初めの設定が少し面倒なので、可能ならば .htaccess とかいじってCGIプログラムと公開用ファイルを同じディレクトリに置けるようにした方が楽です。(言い訳。)

@nifty

#アイコン画像保存ディレクトリ(アイコン機能を使用しない場合は無効)
$iconfile_dir = 'http://homepage○.nifty.com/account/icon/';

#アップロードファイル保存ディレクトリ
$upfile_dir = '/homepage/upfile/';

#アップロードファイル参照パス
$upfile_url = 'http://homepage○.nifty.com/account/upfile/';
解説ページ
http://homepage.nifty.com/cgi/index.htm

WAKWAK

#アイコン画像保存ディレクトリ(アイコン機能を使用しない場合は無効)
$iconfile_dir = '/~account/icon/';

#アップロードファイル保存ディレクトリ
$upfile_dir = '/public_html/upfile/';

#アップロードファイル参照パス
$upfile_url = '/~account/upfile/';
解説ページ
http://www.wakwak.com/info/connection-setup/ftp/custom-cgi.html

hi-ho

#アップロードファイル保存ディレクトリ
$upfile_dir = "$ENV{'HOME'}/html/upfile/";

#アップロードファイル参照パス
$upfile_url = 'http://www.○○.hi-ho.ne.jp/△△/upfile/';
解説ページ
http://home.hi-ho.ne.jp/support/manual/web/restrictions.html

BIGLOBE

解説ページ
http://kingdom.biglobe.ne.jp/help/shiyou5b.html