Merge HTML の設定は <conf> ディレクトリ内の mghconf.pl ファイルにて変更します。
変更はテキストエディタで直接行ってください。その際には必ず UTF-8 で保存することに注意してください。
設定ファイルの説明をするにあたり、以下のようなディレクトリ構成をサンプルにして説明します。
|
※ファイルセパレータは Linux、Windows 両プラットフォームとも "/" を使用します※
|
|
Web ページの設定 |
●Web ページのタイトルを設定します。
|
$DEFAULT_TITLE = [title]
|
|
|
[title] |
タイトルに表示するテキスト
未設定の場合、はテンプレートのタイトルが表示されます。
|
|
|
|
# Webページのタイトルを設定します。
$DEFAULT_TITLE = "スラスラプログラマー";
|
|
|
●テンプレートフォルダを設定します。
|
$TEMPLATE = [template]
|
|
|
[template] |
テンプレートのあるディレクトリを指定します。
相対パスで指定をする場合は、DOC_ROOT 以下のパスから指定します。
※設定ファイルでテンプレートを切り替えに対応するには コンテンツテーブルでも対応する必要があります。 ⇒
コンテンツテーブル設定
|
|
|
|
# テンプレートを設定します。
$TEMPLATE = "./template/surasura"; ← 相対パス
# テンプレートを設定します。
$TEMPLATE = "/var/www/surasura/template/surasura"; ← 絶対パス(Linux)
# テンプレートを設定します。
$TEMPLATE = "C:/inetpub/wwwroot/surasura/template/surasura"; ← 絶対パス(Windows)
|
|
|
|
ルート、トップページの設定 |
●ドキュメントルートを設定します。
|
$DOC_ROOT = [path]
|
|
|
[path] |
ドキュメントのルートディレクトリを指定します。
デフォルトで '$FindBin::Bin' を設定しているので基本的に変更する必要はありませんが、設定を変更する場合は必ず絶対パスで指定してください。
|
|
|
|
# hgm.cgi の存在するディレクトリがドキュメントルートになります。
$DOC_ROOT = $FindBin::Bin; ← mgh.cgi の存在するディレクトリを設定
# ドキュメントルートを設定します。
$DOC_ROOT = "/var/www/surasura"; ← 絶対パス(Linux)
# ドキュメントルートを設定します。
$DOC_ROOT = "C:/inetpub/wwwroot"; ← 絶対パス(Windows)
|
|
|
●Web ルートを設定します。
|
$WEB_ROOT = [url]
|
|
|
[url] |
ドキュメントルートまでのURLを設定します。
コマンドツールでオフライン実行する場合は設定の必要はありません。
|
|
|
|
# hgm.cgi をWeb上から参照できるURLがルートになります。
$WEB_ROOT = "http://jsworld.jp/surasura";
|
|
|
●サイトのトップページを設定します。
|
$TOP_PAGE = [url]
|
|
|
[url] |
トップページのURLを設定します。
WEB_ROOT からの相対パス指定も可能です。
コマンドツールでオフライン実行する場合は設定の必要はありません。
|
|
|
|
# トップペーのURLを設定します。
$TOP_PAGE = $WEB_ROOT . "/index.html"; ← 相対パス
# トップペーのURLを設定します。
$TOP_PAGE = $WEB_ROOT . "http://jsworld.jp/surasura/index.html"; ← 絶対パス
|
|
|
|
パス変換処理設定 |
●HTML 文書中の相対パスを変換するかどうかのフラグを設定します。
content フォルダから HTML 文書を参照した場合と cgiで表示した場合ではカレントパスが異なるため相対パスで指定されているイメージなどが正しく表示されなくなります。そこでこのフラグを設定することで cgi からでも正しく参照できるようにパスを変換します。
|
$CONV_IMG_PATH = [flag1]
$CONV_BACKGROUND_PATH = [flag2]
$CONV_HREF_PATH = [flag3]
$CONV_URL_PATH = [flag4]
|
|
|
[flag1] |
img タグ等の src 属性の相対パスを変換します。 (0:変換しない、1:変換する)
|
[flag2] |
table タグ等の background 属性の相対パスを変換します。 (0:変換しない、1:変換する)
|
[flag3] |
a タグ等の href 属性の相対パスを変換します。 (0:変換しない、1:変換する)
|
[flag4] |
スタイル定義の url 属性の相対パスを変換します。 (0:変換しない、1:変換する)
|
|
|
[置換されるパスの例]
src="aaa/bbb.png" |
src="./content/aaa/bbb.png" |
src="./aaa/bbb.png" |
src="./content/aaa/bbb.png" |
src="../aaa/bbb.png" |
src="./aaa/bbb.png" |
src="http://aaa/bbb.png" |
変換されません |
src="file://aaa/bbb.png" |
変換されません |
src="ftp://aaa/bbb.png" |
変換されません |
href="./aaa.html#aaa" |
href="./content/aaa.html#aaa" |
href="#aaa" |
変換されません |
|
|
|
# イメージパス( 0 or 1 )
$CONV_IMG_PATH = 1;
# バックグラウンドイメージパス( 0 or 1 )
$CONV_BACKGROUND_PATH = 1;
# 参照パス( 0 or 1 )
$CONV_HREF_PATH = 1;
# URLパス( 0 or 1 )
$CONV_URL_PATH = 1;
|
|
|
<Version 1.1.0>
●相対パスを絶対パスに変換するかどうかを設定します。
|
$CONV_ABSOLUTE_PATH = [flag]
|
|
|
[flag] |
src, background,href,url 属性に設定されている相対パスを絶対パスに変換します。 (0:変換しない、1:変換する)
|
|
|
[置換されるパスの例]
src="aaa/bbb.png" |
src="http://jsworld.jp/content/aaa/bbb.png" |
src="./aaa/bbb.png" |
src="http://jsworld.jp/content/aaa/bbb.png" |
src="../aaa/bbb.png" |
src="http://jsworld.jp/aaa/bbb.png" |
href="./aaa.html#aaa" |
href="http://jsworld.jp/content/aaa.html#aaa" |
|
|
|
# 絶対パスに変換します。
$CONV_ABSOLUTE_PATH = 1;
# 絶対パスに変換しません。
$CONV_ABSOLUTE_PATH = 0;
|
|
|
|
アクセスカウンタ設定 |
●アクセスカウンタにクッキーを使用するかどうかを設定します。
|
$USE_COOKIE_COUNTER = [flag]
|
|
|
[flag] |
クッキーを使用するかどうかを設定します。 クッキーを無効にすると、アクセスされるたびにカウントアップされますが、有効にすると、ブラウザを開いている間はカウントアップされません。 (0:使用しない、1:使用する)
|
|
|
|
# クッキーを使用する。
$USE_COOKIE_COUNTER = 1;
# クッキーを使用しない。
$USE_COOKIE_COUNTER = 0;
|
|
|
●アクセスカウンタをカンマ区切りで表示するかどうかを設定します。
|
$COMMA_SEPARATE = [flag]
|
|
|
[flag] |
アクセスカウンタをカンマで区切るかどうかを設定します。
(0:区切らない、1:区切る)
|
|
|
|
# カンマで区切る。
$COMMA_SEPARATE = 1;
# カンマで区切らない。
#$COMMA_SEPARATE = 0;
|
|
|
●アクセスカウンタの桁数を設定します。
|
$FIXED_NUMBER = [num]
|
|
|
[num] |
アクセスカウンタの桁数を設定します。
カウンタが桁数に満たない場合は 0 埋めされます。
カンマ区切りを有効にしている場合は、カンマを除いた桁数です。
|
|
|
|
|
# アクセスカウンタの桁数を設定します。
$FIXED_NUMBER = 9; ← カンマで区切る場合は 999,999,999 と表示されます。
|
|
|
●アクセスカウンタファイルを指定します。
|
$ACCESS_COUNTER = [file]
|
|
|
[file] |
アクセスカウンタを管理するファイルを指定します。
URL でなくて、ローカルパスでファイルを指定してください。
※外部から閲覧されないように拡張しを cgi にすることをお勧めします。
|
|
|
|
|
# アクセスカウンタファイル
$ACCESS_COUNTER = $mghlib::DOC_ROOT . "/data/counter.cgi";
↑ '/var/www/surasura/data/counter.cgi' に書込みます。
# アクセスカウンタファイル
$ACCESS_COUNTER = "/home/surasura/counter.cgi"; ← 非公開領域に書込みます。
|
|
|
<Version 1.1.0>
●重複したIPを制限するかどうかを設定します。
|
$IP_RESTRICTION = [flag]
|
|
|
[flag] |
同一IPアドレスで複数のアクセスがあっても1回しかカウントしないように設定できます。※日が変わるとリセットされます。 (0:制限しない、1:制限する)
|
|
|
|
# 重複したIPを制限しません。
$IP_RESTRICTION = 0
# 重複したIPを制限します。
$IP_RESTRICTION = 1
|
|
|
|
置換ワード |
●HTML文書中の置換ワードを設定します。
|
$REPLACE_WORD = [hash]
|
|
|
[hash] |
置換を行うワードをハッシュで設定します。キーワードには正規表現も使用できます。
※ルーズな定義をするとプログラムが不安定になるので注意してください。
特に CGI で使用しているタグ名にマッチするような置換は避けてください。
|
|
|
|
# 置換ワード
%REPLACE_WORD =(
"<!-- MAIN_TITLE -->" => "Merge HTML サンプル",
"<!-- SUB_TITLE -->" => "~簡易ポータルサイト構築キット~");
|
[置換ワードの設定方法]
(置換元 = > 置換文字)
※複数設定する場合は "," で区切ります。
|
|
|
ログファイル |
●ログファイルを指定します。
|
$LOG_FILE = [file]
|
|
|
[file] |
ログファイル名を指定します。出力しない場合はコメントアウトしてください。
※デバッグ用ですので運用時には出力しないように設定する事をお勧めします。
|
|
|
|
# ログファイル(※出力したくない場合はコメントアウトしてください)
$LOG_FILE = $mghlib::DOC_ROOT . "/log/cgi.log"; ← '/var/www/surasura/log/cgi.log' に書込みます。
# ログファイル(※出力したくない場合はコメントアウトしてください)
#$LOG_FILE = "/home/surasura/cgi.log"; ← 非公開領域に書込みます。
|
|
|
●最大ログファイルサイズを指定します。
|
$LOG_FILE_MAX_SIZE = [size]
|
|
|
[size] |
ログファイルの最大サイズをバイトで指定します。
ログファイルが最大サイズを超えると .old ファイルにりネームされます。
|
|
|
|
# ログファイル最大サイズ(1M バイト)
$LOG_FILE_MAX_SIZE = 1048576;
# ログファイル最大サイズ(10M バイト)
$LOG_FILE_MAX_SIZE = 10485760;
|
|
|
|
コマンドツール設定 |
●コマンドツールで出力する HTML のパスを指定します。
|
$HTML_OUTPUT_DIR = [dir]
|
|
|
[dir] |
コマンドツールで出力する 静的HTML のディレクトリを指定します。
|
|
|
|
# コマンドツールで出力する HTML のパスを設定します。
$HTML_OUTPUT_DIR = $mghlib::DOC_ROOT . "html"; ← '/var/www/surasura/html' に書込みます。
|
|
|
<Version 1.0.1>
●コマンドツールのエンコードを指定します。
|
$CMD_TOOL_ENCODE = [encode]
|
|
|
[encode] |
コマンドツールのエンコードを指定します。
Windows のコマンドプロンプトで実行する場合は 'cp932'、 Linux のターミナル画面で実行する場合は 'utf8' など、使用するプラットフォームに合わせて切り替えてください。
※Windows では 'shiftjis' ではなく 'cp932' を使用してください。
|
|
|
|
# コマンドツールのエンコードを設定します。
$CMD_TOOL_ENCODE = "cp932"; ← Windows(cp932)
# コマンドツールのエンコードを設定します。
$CMD_TOOL_ENCODE = "utf8"; ← Linux(utf-8)
|
|
|
|
セキュリティ設定 |
<Version 1.1.0>
●コンテンツのドキュメントタイプのルールを設定します。
この設定を行うとコンテンツファイルの1行目に正しいドキュメントタイプが設定されているかをチェックできます。HTML 以外のコンテンツファイルを挿入した場合はチェックを外すこともできますが、セキュリティを重視する場合にはドキュメントタイプをチェックすることお勧めします。
|
$DOC_TYPE_RULE = [rule]
|
|
|
[rule] |
ドキュメントタイプをチェックするルールを設定します。設定には正規表現が使用できます。使用しない場合にはコメントアウトしてください。
|
|
|
|
# HTML のドキュメントタイプをチェックします。
$DOC_TYPE_RULE = "^<\!DOCTYPE HTML PUBLIC.+?>";
|
|
|
<Version 1.1.0>
●上位レベルへのディレクトリにアクセスできるかを設定します。
この設定を有効にすると、DOC_ROOT より上位のディレクトリへのアクセスを制限できます。意図しないファイルが参照されないようにこの設定を有効にしておくことをお勧めします。
|
$UPPER_LEVEL_ACCESS = [flag]
|
|
|
[flag] |
上位レベルへのディレクトリへのアクセスを許可するかどうかを設定します。
(0:許可しない、1:許可する)
|
|
|
|
# 上位レベルのディレクトリへのアクセスを許可する。
$UPPER_LEVEL_ACCESS = 1;
# 上位レベルのディレクトリへのアクセスを許可しない。
$UPPER_LEVEL_ACCESS = 0;
|
|
|
|
ロック制御設定 |
<Version 1.1.1>
●ロックファイルを出力するパスを設定します。
|
$LOCK_FILE_PATH = [path]
|
|
|
[path] |
ロックファイルを出力するパスを指定します。ここで指定するパスは書込み可能に設定されている必要があります。
|
|
|
|
# ロックファイルを出力するパスを設定します。
$LOCK_FILE_PATH = $FindBin::Bin;
|
|
|
<Version 1.1.1>
●ロックのリトライ回数を設定します。
すでにロック中だった場合、ここで設定された回数だけリトライを行います。リトライに費やす時間は LOCK_RETRY_COUNT × LOCK_WAIT_TIME になります。
|
$LOCK_RETRY_COUNT = [num]
|
|
|
|
|
|
# ロックされた再のリトライ回数を設定します。
$LOCK_RETRY_COUNT = 50;
|
|
|
<Version 1.1.1>
●ロックのリトライの待ち時間を設定します。
|
$LOCK_WAIT_TIME = [msec]
|
|
|
[msec] |
リトライ中の待ち時間を設定します。時間の単位はミリ秒です。
|
|
|
|
# リトライ時のロック待ち時間(ミリ秒)
$LOCK_WAIT_TIME = 0.2;
|
|
|
<Version 1.1.1>
●ロックタイムアウト時間を設定します。
タイムアウトを超えるとロックが強制的に解除されます。
|
$LOCK_TIME_OUT = [sec]
|
|
|
[sec] |
ロックのタイムアウト時間を設定します。時間の単位は秒です。
|
|
|
|
# ロックタイムアウト時間(秒)
# ※この時間を超えると強制的にロックが解除されます。
$LOCK_TIME_OUT = 10;
|
|
|