WWW環境においては、GNSのCGIが自動的に準備するため、特別な作業を行う必要はありません。
デフォルトデータベースをコピーする
GNSは、日記マスタから日記ページを作るためのHTMLテンプレートや、マクロ置換用のデータなどを収めた「デフォルトデータベース」というものを持っています。GNSプログラムフォルダにある"keep"というフォルダがそれです。これは初期データであり、各ユーザーが自由に書き換えることができます。
WWW環境においては、GNSのCGIが自動的に準備するため、特別な作業を行う必要はありません。GNSのバージョンアップなどにおいても、データベースの管理作業は自動的に行われ、引き継いで使うことができます。
cssファイルをコピーする
GNSは、cssに対応したHTMLファイルを出力します。「[GNSプログラムフォルダ]/style」ディレクトリに、これらのHTMLに対応したcssファイルセットが収められています。好きなcssファイルを「GNSフォルダ」にコピーして利用してください。
plain |
ほとんどスタイル指定のないcssファイルです。オリジナルのスタイルを作るときの雛形として使います。 |
simple |
デフォルトのスタイル指定が入ったcssファイルです。 |
CGIスクリプトの起動プログラムを修正する
日記ページの作成に使うCGIスクリプト(*.cgi)をテキストエディタで開いて、1行目の「perlのコマンドライン」を、お使いの環境に合わせて修正してください。
CGIスクリプトに実行属性を追加する
日記ページの作成に使うCGIスクリプト(*.cgi)に、実行属性を付加しておいてください。
シェルスクリプトに実行属性を追加する
日記ページの作成に使うシェルスクリプト(*.sh)に、実行属性を付加しておいてください。
GNSプログラムフォルダを保護する
日記を作成するための作業の一部は、GNSプログラムフォルダ内のページをブラウザからアクセスする必要があります。ここは、著者であるあなた以外のアクセスはできないようにしておくべきです。.htaccessによるBASIC認証などを使って、あなた以外のアクセスを封じるようにしてください。
届いたメールをGNSが処理するようにする
yourmail@example.ne.jp
"|/usr/local/bin/perl ‾/public_html/GNS/gns300/recvmail.pl"
|
▲‾/.forwardサンプル
一般的なUNIX環境では、メールが届くたびに特定のプログラムが起動するようにすることができます。一般的なシステムでは「‾/.forward」ファイルに起動するプログラムを記述するようになっています。
GNSは、「[GNSプログラムフォルダ]/recvmail.pl」を起動させることで、日記の更新を行うことができます。「‾/.forward」には以下のように書きます。
1行目には、自分自身のメールアドレスを書きます。これがないと、GNSがメールを処理したあと、そのメールは消去されてしまいます。自分自身のメールアドレスを書くことで、GNSにメール処理をさせると同時に、メールボックスにもメールが残ります。
2行目には、「recvmail.pl」を起動するためのコマンドラインを記述します。パイプを示す"|"文字に続いて、perlプログラムのフルパス、最後にrecvmail.plのフルパスを書き、全体をダブルクォートでくくります。
GNSプログラムフォルダには、初期設定となる設定データがすでに入っています。しかし、このままでは日記名や公開先となるURI、連絡先となるメールアドレスなどがあなたのものではありません。まず、基本設定を行う必要があります。
ここでは、最小限の変更についてのみ解説します。詳細は、「config.phによる設定」をご覧ください。
- config.phファイルを作成する
-
▲config.phを開く
GNSプログラムフォルダに、"config_sample.ph"という名前のファイルがあります。これが、GNSの基本設定を司る"config.ph"ファイルのサンプルです。"config_sample.ph"をコピーして、"config.ph"を作成してください。
- config.phファイルをテキストエディタで開く
-
▲config.phを開く
"config.ph"というファイルが、GNSの基本設定を司るファイルです。テキストエディタで、このファイルを開いてください。
このファイルには多くの設定項目がありますが、ここで編集を行う必要があるのは、そのごく一部です。以下、順に編集項目を説明します。
- 公開URLベース名
-
# 公開URLベース名
$URLBASENAME = 'http://www.example.net/GNS/';
↓
$URLBASENAME = 'http://www.example.ne.jp/GNS/';
|
日記を公開するときの、URLのディレクトリ名までの部分を編集します。この例では、公開URLのディレクトリ名「http://www.example.ne.jp/GNS/」フォルダにします。この下に日記ページが置かれます。
- ダイジェストファイル名
-
# ダイジェストファイル名
$DIGESTNAME = 'digestdiary.html';
↓
$DIGESTNAME = 'index.html';
|
日記を公開するときの、ダイジェストページのURLのファイル名部分を編集します。この例では、ダイジェストページのURLを「index.html」とします。「公開URLベース名」の例と組み合わせると、この日記のダイジェストページのURLは、「http://www.example.ne.jp/GNS/index.html」となります。
- 日記名
-
# 日記名
$DIARY_TITLE = 'GNS3による日記';
↓
$DIARY_TITLE = 'だいだい だいありー';
|
日記の名前を編集します。この例では、「だいだい だいありー」という名前になります。
この項目は、出力される日記のすべてのページに埋め込まれます。
- 著者名
-
# 著者名
$DIARY_AUTHOR = 'yourname';
↓
$DIARY_AUTHOR = 'あおい';
|
日記の著者名を編集します。この例では、「あおい」という名前になります。
この項目は、出力される日記のすべてのページに埋め込まれます。
- 著者メールアドレス
-
# 著者メールアドレス
$DIARY_EMAIL = 'yourmail@example.net';
↓
$DIARY_EMAIL = 'aoi@example.ne.jp';
|
著者宛てのメールアドレスを編集します。この例では、「aoi@example.ne.jp」というアドレスになります。
この項目は、出力される日記のすべてのページに埋め込まれます。
- 日記の説明
-
# 日記の説明
$DIARY_DESCRIPTION = 'GNS3で日常を綴っています。';
↓
$DIARY_DESCRIPTION = 'あおいの日々の記録です。';
|
この日記の簡単な説明文を編集します。この例では、「あおいの日々の記録です。」という説明になります。
この項目は、「RSSファイル」に埋め込まれます。
- 著作権表記
-
# 著作権表記
$DIARY_COPYRIGHT = 'Copyright (C)2004 GORRY.';
↓
$DIARY_COPYRIGHT = 'Copyright (C)2004 あおい.';
|
この日記の著作権表記を編集します。この例では、「Copyright (C)2004 あおい.」という著作権表記となります。
この項目は、「RSSファイル」に埋め込まれます。
- 更新メールの発信先指定
-
# メール更新で受け取るメールの発信先メールアドレス (recvmail.pl)
$MAILFROM = 'yourmail@example.net';
↓
$MAILFROM = 'aoi@example.ne.jp';
|
日記更新メールと認めるメールを限定したい、あるいはしたくないときに編集します。
複数のメールアドレスを指定したいときは、「'aoi@example.ne.jp, akai@example.ne.jp'」などのように、カンマで区切って記述します。
メールアドレスによる制限を外すには、空文字列('')を記述します。
この項目は、「RSSファイル」に埋め込まれます。
- 追記モードの指定
-
# 0以外でデフォルトが追記モードになる
$MAILADD = 0;
↓
$MAILADD = 1;
|
日記更新メールで、追記モードをデフォルトにしたいときに編集します。
追記モードをONにすると、すでに日記マスタが存在する日に対して更新メールを送ると、その日記マスタに更新内容が追加されます。
この設定に関わらず、GNS更新メールヘッダに「#ADD」を追加することで追記モードONに、「#OVER」を追加することで追記モードOFFになります。
以上で、編集は終了です。
▲GNSトップ画面
以上が完了したら、メールからの更新を行うためのチェックを、ブラウザから行います。アクセス先は、「GNSプログラムフォルダのindex.html」です。上の例の場合は、「http://www.example.ne.jp/GNS/gns300/index.html」へアクセスしてください。右のような画面になります。
一番下の、[動作環境のチェック]をクリックしてください。
▲GNSチェック画面
動作チェックが正しく終了した場合、右のような出力が得られます。何かエラーが発生した場合は、赤文字で表示されます。
▲GNSパスワード登録画面
動作チェックが終了したら、「GNSプログラムフォルダのindex.html」ページから[パスワードの登録]をクリックして、パスワードを登録します。パスワードを登録しないと、日記を書くことはできません。
パスワード登録画面になったら、「PASSWORD」と「RETYPE PASSWORD」に同じパスワードを入れ、[OK]ボタンをクリックします。パスワードが同じでない場合は、受け付けられません。
すでにパスワードが登録されているときは、パスワードの登録を受け付けません。パスワードを再登録したいときは、ftpやシェルなどから「日記マスタフォルダのkeepディレクトリ」にある"upload.pass"を削除してください。
From: aoi@example.ne.jp
To: aoi@example.ne.jp
Subject: @@GNS-POSTMAIL
--------
01 2004 06 15 Password
#OVER
@title いか〜
@category 料理
@s
夕飯にイカを買ってくる。さくさくとさばいて、身は刺身、ゲソはにら・キャベツ・豚バラと野菜炒め、ワタとえんぺら・身とゲソの残りで塩辛に。
@s
・・・したはずだったんだが、最後に刺身を盛って食卓へ・・・というところで床へ皿が落下・・・(汗)。
|
▲日記更新メールの例
パスワードの登録が終了したら、メーラを起動して、日記マスタとなるメールを書きます。今回は、右のようなメールにします。
- メールヘッダ
"--------"までは、メールヘッダです。メール本文に記述するのではなく、お使いのメーラで相当の設定をするようにしてください。
- From:
発信者です。今回の設定では、"aoi@example.ne.jp"からしかメール更新を受け付けないように設定しているので、そのように記述します。
- To:
受信者です。GNSのメール更新プログラムが起動されるメールアドレスにしてください。
- Subject:
表題です。この文で始まっていないと、更新メールとして認識されません。末尾には、自由な文字列を追加することができます。
- GNS更新メールヘッダ
メール本文に書く、GNSのメール更新プログラムに対して送信するデータです。文法は以下のようになっています。
- 01 2004 06 15 Password
順に「固定値」「年」「月」「日」「パスワード」となっています。
「固定値」は、"01"で固定されています。必ずこれを書くようにしてください。
「年」「月」「日」は、日記マスタの日付を指定します。
「Password」は、登録したパスワードを平文でそのまま記述します。
日付に「100年以下で、99月99日」の指定をすると、データベースが更新対象となります。データベースの種別は「年」の値で選ぶことができ、「日記マスタフォルダ/keep/」にあるファイル名と対応しています。
10 |
D-Head |
ダイジェストページに埋め込まれる、「先頭からメモブロック直前まで」を表示します。タイトルや、各種注釈・注意書きなどをここで表示することを想定しています。 |
11 |
D-Memo1 |
ダイジェストページに埋め込まれる、「日記本文より手前のメモブロック」を表示します。読者に対して告知性の高いメモをここで表示することを想定しています。 |
20 |
D-Memo2 |
ダイジェストページに埋め込まれる、「日記本文より後のメモブロック」を表示します。著者にとってのメモをここで表示することを想定しています。 |
21 |
D-Foot |
ダイジェストページに埋め込まれる、「メモブロックから末尾まで」を表示します。著作権表記・メールアドレス・著者名などをここで表示することを想定しています。 |
30 |
B-Head |
ベースページに埋め込まれる、「日記本文より手前の部分」を表示します。タイトルや、各種注釈・注意書きなどをここで表示することを想定しています |
40 |
B-Foot |
ベースページに埋め込まれる、「日記本文より後の部分」を表示します。著作権表記・メールアドレス・著者名などをここで表示することを想定しています。 |
50 |
L1-Head |
年次インデックスページに埋め込まれる、「本文より手前の部分」を表示します。タイトルや、各種注釈・注意書きなどをここで表示することを想定しています。 |
51 |
L1-Foot |
年次インデックスページに埋め込まれる、「本文より後の部分」を表示します。著作権表記・メールアドレス・著者名などをここで表示することを想定しています。 |
52 |
L2-Head |
カテゴリインデックスページに埋め込まれる、「本文より手前の部分」を表示します。タイトルや、各種注釈・注意書きなどをここで表示することを想定しています。 |
53 |
L2-Foot |
カテゴリインデックスページに埋め込まれる、「本文より後の部分」を表示します。著作権表記・メールアドレス・著者名などをここで表示することを想定しています。 |
97 |
Macro |
名前と引数を与えることでさまざまな文を自動生成できる、ユーザーマクロのデータベースファイルを呼び出します。詳細は、以下をご覧ください。
|
98 |
Item |
日付部などに埋め込まれるアイテム文字列を呼び出します。詳細は、以下をご覧ください。
|
99 |
URI |
ダイジェストページに埋め込まれる、「先頭からメモブロック直前まで」を表示します。タイトルや、各種注釈・注意書きなどをここで表示することを想定しています。
|
- #OVER
上書きモードであることを明示します。追記モードのときは"#ADD"と書きます。
省略したときは、config.phの「$MAILADD」の設定内容が反映されます。
- 空行
GNS更新メールヘッダと、日記マスタ本文の間には、空行(改行のみの行)が必要です。
- 日記マスタ本文
空行のあとは、メールの末尾までが日記マスタの内容となります。
作業中になんらかのエラーが発生した場合は、「[GNSプログラムフォルダ]/tmp/recvmail.log」にエラーログが記録されます。
「WWW環境」で日記の更新を行うとき、更新内容を記述した「更新通知メール」を発信することができます。このメールは、このページの「メール環境」で使用するものと同一のフォーマットになっています。
これを利用して、「サイトAの日記をWWW環境で更新する」→「更新通知メールをサイトBに送る」→「サイトBの日記を更新する」といったことが可能です。