CGIの設置環境
- CGIは Perl で記述しています。動作には、Perl 5 が必要です。さらに、CGIモジュールが使用できることが必須です。(※CGIが設置可能なサーバであればたいてい問題ないでしょう。CGIモジュールがサーバにインストールされていない場合は、CGIモジュールを別途入手し、このCGIと同じディレクトリに格納すれば使えます。)
- それ以外には、特に必要なものはありません。
CGIの設置方法(パーミッションの設定)
「README.TXT」を除くすべてのファイルを、同一のディレクトリに格納して、次のパーミッションに設定して下さい。
| ファイル名 | パーミッション | 補足 |
| 実行ファイル |
| hb.cgi | 755 | メインCGI |
| fumyxml.pl | 644 | 補助プログラム (メインCGIから呼び出されます) |
| データファイル(CGIによって書き換えられるファイル) |
| hb.xml | 666 | クリップ(エントリ)記録用ファイル(CGIによって編集されます) |
| nbsettings.txt | 666 | 各種設定記録用ファイル(CGIによって編集されます) |
| upf.cgi | 666 | パスワード・セッションID格納ファイル(CGIによって編集されます) |
| 表示HTML関連ファイル |
| ncskin.html | 644 | 表示用スキンファイル(テンプレートHTMLファイル) - 外枠用 |
| ncclip.html | 644 | 表示用スキンファイル(テンプレートHTMLファイル) - クリップ個別用 |
| ncstyle.css | 644 | 表示用スタイルシートファイル |
※各ファイル名は変更することも可能です。(ファイル名の変更内容は hb.cgi 内に反映させないといけません。あまりPerlに詳しくない場合はデフォルトのままご使用下さい。)
※「Readme.txt」ファイルは、アップロードしないで下さい。解説を記述したただのテキストファイルです。
CGIの設置方法(CGIファイルの書き換え)
* hb.cgi をエディタで開いて、次の箇所を必要に応じて書き換えます。
※デフォルトの状態で使用するのであれば、
1行目以外、まったく書き換えなくても動きます。
(1行目) #!
/usr/bin/perl
Perlの位置を必要に応じて書き換えます。 /usr/local/bin/perl など。
(32行目) my $bmsdata = "
./hb.xml";
クリップ記録ファイル名(拡張子はxmlでなくても構いませんが、記録形式はXMLです。)
(34行目) my $setfile = "
hbsettings.txt";
各種記録ファイル名(拡張子はtxtでなくても構いません。)
(37行目) my $charcode = "
Shift_JIS";
文字コード(デフォルトは "Shift_JIS")
▲変更する場合はCGIや各種データファイルの文字コードも一緒に変更して下さい。
(40行目) my $coverskin = "
ncskin.html";
外側スキンファイル名(テンプレートHTMLファイル名)
(42行目) my $clipskin = "
ncclip.html";
個別エントリ用スキンファイル名(テンプレートHTMLファイル名)
(45行目) my $passfile = "
upf.cgi";
パスワード・セッションID格納ファイル名(デフォルトは upf.cgi )
▲中身を閲覧されないようにするため拡張子をcgiにしていますが、他の拡張子に変更しても構いません。(※パスワードは暗号化されて記録されています。)
(47行目) my $cryptkey = "
fx";
パスワード暗号化キー(半角英数2文字/変更する必要はありません)
(49行目) my $ssbasekey = "
ck";
セッションIDベースキー(半角英数2文字/変更する必要はありません)
(52行目) my $sessiontimeout =
1800;
セッションの有効期限(秒数) ※短くしすぎると実用できなくなってしまいます。300以上(=5分以上)を指定することをお勧めします。
(62行目) my $MsgForLoginScreen = '
(文字列)';
ログイン画面下部に表示させるメッセージ(省略可/HTMLタグ使用可)
▲シングルクオーテーションマークを使う場合は、「\'」のようにエスケープしないとCGIが動きませんのでご注意下さい。
※以下は、mod_rewriteなどの仕組みを使ってURLを独自の様式にカスタマイズする際にのみ修正して下さい。(分からない場合は、そのまま修正しないで下さい。mod_rewriteなどの仕組みを使わずに以下の設定だけを修正すると、CGI上からのリンクが正しく機能しなくなります。なお、Rewrite Ruleを記述する際には、標準のURLでのアクセスも許容できるように記述して下さい。そうしないと、CGI内部での管理処理が正しく動作しません。)
(55行目) my $sepq = '
?';
URL区切り文字「?」の代わりに使う文字
(57行目) my $sepe = '
=';
URL区切り文字「=」の代わりに使う文字
(59行目) my $sepa = '
&';
URL区切り文字「&」の代わりに使う文字
全ファイルのアップロード
アップロードは、すべて「アスキーモード」(テキストモード)で行います。
文字コードは、SHIFT-JISのままアップロードされることをお勧めしますが、他の文字コードを使用したい場合は、使用したい文字コードに(全ファイルを)変換した上でアップロードして下さい。
(その際、hb.cgi の37行目を適切に書き換える必要があります。)
よく分からない場合は、文字コードを変換せず
SHIFT-JISコードのままご使用下さい。
CGIのカスタマイズ方法
次のファイルを書き換えることで、自由にカスタマイズが可能です。
-
デザインのカスタマイズ
- ncstyle.css : クリップ表示に使われるスタイルシートです。スタイルを変更したい場合に書き換えます。
-
ページそのもののカスタマイズ
-
ncskin.html : 外側表示用のスキン(テンプレートHTMLファイル)です。
- HTML内に、[[NEWSCLIP]] と記述すると、その位置にクリップが挿入されます。
- HTML内に、[[PAGELINKS]] と記述すると、その位置にページ移動用のリンクが(必要に応じて)挿入されます。(表示対象クリップを限定している場合に表示される「元の表示に戻す」リンクもここに含まれます。)
- コントロールパネルに移動するリンクは、<a href="?mode=admin">管理用</a>と記述することで作れます。
- 新規投稿ページへ直接移動するリンクは、<a href="?mode=edit">新規投稿</a>と記述することで作れます。
-
clipskin.html : 個別エントリ表示用のスキン(テンプレートHTMLファイル)です。
- HTML内に、[[DATE]] と記述すると、その位置にクリップの日付が挿入されます。
- HTML内に、[[ID]] と記述すると、その位置にクリップの固有番号が挿入されます。
- HTML内に、[[TITLE]] と記述すると、その位置にクリップのタイトルが挿入されます。
- HTML内に、[[NEWSURL]] と記述すると、その位置にクリップのリンク先URLが挿入されます。(クリップ自身のURLではありません)
- HTML内に、[[CATEGORY]] と記述すると、その位置にクリップの所属カテゴリが挿入されます。
- HTML内に、[[CATEGORYURL]] と記述すると、その位置に同一カテゴリのクリップのみを表示するページへのURLが挿入されます。
- HTML内に、[[COMMENT]] と記述すると、その位置にクリップのコメント本文が挿入されます。
- HTML内に、[[PARMALINK]] と記述すると、その位置にクリップ単体を表示するための固有URLが挿入されます。
- HTML内に、[[EDITLINK]] と記述すると、その位置にクリップの内容を編集するための編集ページの固有URLが挿入されます。
- 上記のキーワードは、1ページ内に何度でも挿入できます。(1度も使わない項目があっても構いません)
デフォルトのスキン内でも、同一キーワードを何度も使用しています。
- HTML内のその他の部分は、何でも自由に書き換えることができます。
- 付属のスキンファイルを参考にして編集すれば、楽にカスタマイズできるでしょう。