|
バージョン | ファイル名 | 転送モード | パーミッション | 備考 |
---|---|---|---|---|
1.05 | minibbs.cgi | アスキー(TEXT) | 755 | |
1.05a | minibbs.cgi | アスキー(TEXT) | 755 | 設定件数分の記事を 保存するタイプ |
password.cgi | アスキー(TEXT) | 666 | 空のファイルを用意 | |
jcode.pl | アスキー(TEXT) | 644 | 日本語コード変換ライブラリ | |
cgi-lib217.pl (名前変更) | アスキー(TEXT) | 644 | CGIライブラリ |
< >は設定が必要なパーミッション値 |--/data/ <777> | | | |- index3 (DBM)(*1) | |- minibbs3.txt (バックアップファイル)(*3) | |- cgi-lib217.pl <644> |- jcode.pl <644> |- minibbs.cgi (このプログラム) <755> |- password.cgi (パスワードファイル)(*2) <666> (*1)..拡張子は設置されたサーバ環境によって異なる. 拡張子がない場合もある. 自動的に作成されるので用意する必要はなく、直接いじることはできない. (*2)..この拡張子は単にCGIとして認識させてウェブ上から見えなくするためのもの. 運用初回の場合、空のファイルを用意する. (*3)..用意しなくても自動作成される. 手を加えずそのまま保存するものとする. 技術の無い方のこのファイルの編集を勧めないし、サポートはしない. あくまでもバックアップのためのファイルである.
「管理者パスワードの設定/変更」の画面の最下部に、自動的に検知採用されたモジュール名が表示されます。 運用後に環境を変えないでください。引越しなどで環境が変わる場合は、 下記で説明する、テキスト形式にバックアップしたファイルを移転先の同じ構成の同じ場所に転送し、 添付のリストアプログラムを実行します。
password.cgi(管理者用パスワードファイル)が空、すなわち、設定されていない場合は、 設定モードになります。もし途中で管理者パスワードを亡失した場合は、 このファイルを空にしてすぐ簡易BBSを実行すれば、新たに設定することができます。 この管理者パスワードは、すべてのパスワード欄に入力でき、 個別のパスワード(削除キー)の代わりに使うことができるスーパーキーです。 このパスワードで削除や訂正を、管理者の権限で行うことができます。 安全に管理してください。
レスポンス(返信)機能は、本文(新規記事)に対してのみ実行できます。 本文の1世代のみであり、レスポンスのレスポンスはできません。 なお、レスポンス記事は、本文が削除されると同時にすべて削除されます。
一部の機能(カーソルフォーカス)に、JavaScriptが使われています。
記事番号は本文、レスポンスに関係なく連続番号になります。 番号が大きい程新しいデータとなります。
レスポンス機能がついたことにより、過去の記事へのレスポンスがあっても容易にわかりませんので、 既読位置記憶機能を用意しました。クッキーを利用しています。 アクセスした際に、最新記事番号がブラウザに保存され、 次回のアクセス(更新)時に、その番号以降の記事が追加されていれば、新着案内として冒頭に表示します。 これで、相当過去の記事にレスポンスがついたとしても分かることができます。
記事の修正は、最初に投稿した時の削除用パスワードの入力が必要です。 記事の修正後は掲載時刻も更新されますが、ホスト名は書き換わりません。 従って、管理者が管理者権限で修正を加えても、投稿者のホストデータは保存されます。
投稿内容にタグを使うことはできませんが、必要性の高いURLについては、 「URLをリンクする」をチェックすれば、その部分をリンクします。
投稿時にはその内容文の表示方法を指定できます。 HTML文書として表示されますので、HTMLの仕様が適用されます。 HTMLでは、連続したスペースと改行は無視されます。 「改行無効」モードでは、入力したデータを加工せずそのまま表示、すなわち、 連続したスペースと改行は無視され、詰めて表示されます。 「改行有効」モードでは改行のみを<BR>に変換します。 「図/表モード」では、等角フォント<TT>指定で<PRE>を使って表示されます。 すなわち、連続したスペースや改行も入力した通りそのまんま表示されます。
投稿時には、ボタンの2回押し等による同じ内容の連続投稿を防止する簡単な機能がついていますので、 不用意な連続投稿はできなくなっています。
管理者パスワードと記事本文以外のすべてのデータはDBM化(インデックスデータ)されています。 このファイルはテキストエディタで分かる形で見られるデータではありません。 DBMファイルをバックアップするには、DBM自体をそのままバイナリモードで取り出してそのまま保存しておく方法が簡単です。 また、DBMをテキスト形式に変換してファイルに保存するバックアップ用のCGIプログラムを用意してあります。 この場合のバックアップファイル(minibbs3.txt)は通常のテキストデータですが、 CR(\r)コードが含まれており、Windowsでは認識できないとか、MacではMac自体の改行コードと混同してしまうとか、 十分な技術がない方がエディタ等で編集してしまうと壊れてしまう可能性がありますので、十分ご注意ください。 あくまでも「バックアップ」が目的ですので、それ以外の作業については、ご自身の判断で行っていただくことになります。
このバックアップは、インデックスデータ(記事本文以外)のみ扱うものです。 本文は、データフォルダ内に、「記事番号.txt」というファイルに記録されます。 バックアップ時にはこの個別の記事が存在していないと、その記事のインデックスはバックアップされません。 バックアップしたら、本文のすべて取り出し、セットにして保存してください。
FTP上で直接「記事番号.txt」を削除してしまっても、インデックス(DBM)にはその記事のデータが残っています。 画面上には内容が表示できないことを示す表示が出ますので、そこで削除してもいいでしょう。 ただ、過去データをまとまって削除した場合は、バックアップ→リストアすれば、 存在している記事だけのインデックスが再生されます。
テキスト形式にバックアップされたファイルは、リストア機能でDBM化できます。 この場合、旧DBMファイルは一旦削除した上で、バックアップデータを元に新たにDBMが作成されることになります。 DBMはその要素(連想配列)を開放(DELETE)したとしても、その領域が削減されませんので、 新規作成させるようにしています。これによって、大量に記事が削除されていれば、 その分のブロックが減ることになり、そのブロック分サイズが小さくなることになります。 DBMは一定の領域を、そのデータ量に応じて確保していきますので、 例え記事が数件しかなくても、ある程度の量のDBMファイルが生成されます。
![]() |