img0ch-config.cgi の各種設定 (全般設定編)

RepositoryType

レポジトリを保存するためのモジュール名を指定します。以下から選択することになります。 これに該当しない、あるいは値が無い場合は Simple が選択されます。

Archive

Simple に zlib による圧縮機能をつけて消費サイズを小さくするようにしたエンジンです。利用可能であれば PerlIO::gzip を使用し、そうで無い場合は IO::Zlib を利用します。短所は Simple と同じくメモリ消費が大きい点です。また、圧縮を行うため、CPU 時間をやや消費します。

エイリアス名

Compressed

初期状態で利用可能か

IO::Zlib がパッケージに入っているため、利用可能

BDB ※非推奨、廃止予定

BerkeleyDB を使ったエンジンです。BerkeleyDB を使用する場合さらに BDBHome を追加して BerkeleyDB のデータベースを格納するパスを指定する必要があります。非推奨、廃止予定のため TC を推奨します。

エイリアス名

BerkeleyDB

初期状態で利用可能か

BerkeleyDB がインストールされている必要がある

CDB

CDB_File を使ったエンジンです。CDB は非常に高速であることを引き換えに更新及び削除が出来ません。そのため、保存方法は Simple に似ていますが、全てのデータをメモリに読み出さないため、スピードとメモリ消費のバランスにとれています。

エイリアス名

CDB_File

初期状態で利用可能か

CDB_File がインストールされている必要がある

DD ※非推奨、廃止予定

DBM::Deep を使ったエンジンです。Perlのみでかかれているため移植性に優れており、実行時に値を読み込むため、メモリ消費も Simple に比べると少ないことが利点です。ただし、やや遅い問題があります。非推奨、廃止予定のため Simple を推奨します。

エイリアス名

DBMDeep

初期状態で利用可能か

DBM::Deep がパッケージに入っているため、利用可能

Qdepot ※非推奨、廃止予定

注意:古いので、可能であれば TC を推奨

Depot (QDBM のストレージエンジンのひとつ) を使ったエンジンです。CDB に次いで高速です。ただし、トランザクションが利用できないため、処理途中でエラーが発生すると整合性が取れず、中途半端な状態で保存されるおそれがあります。非推奨、廃止予定のため TC を推奨します。

エイリアス名

Depot または QDBMs

初期状態で利用可能か

Depot (libqdbm) がインストールされている必要がある

Qvilla ※非推奨、廃止予定

注意:古いので、可能であれば TC を推奨

Villa (QDBMのストレージエンジンのひとつ) を使ったエンジンです。トランザクションが利用可能ですが、速度は Qdepot に比較すると劣ります。非推奨、廃止予定のため今後利用することを考慮すると TC を推奨します。

エイリアス名

Villa

初期状態で利用可能か

Villa (libqdbm) がインストールされている必要がある

Simple

デフォルトで使用される単純なエンジンです。移植性が極めて高く、そこそこ高速ですが、全てのデータをメモリに格納するため、巨大なデータ格納に向いていません。

エイリアス名

FlatFile

初期状態で利用可能か

利用可能

Storable ※非推奨

Storable を使ったエンジンです。読み出しと書き出しが Simple より高速になっていますが、全てのデータをメモリに格納するため、巨大なデータ格納に向いていないという Simple と同様の問題があります。

初期状態で利用可能か

Storable がインストールされている必要がある

TC

TokyoCabinet を使ったエンジンです。QDBMの後継として設計されたため、QDBMと比較してより高い性能を持っています。3.1.6 以降から利用可能です。

初期状態で利用可能か

TokyoCabinet (TokyoCabinet の Perl bindings) がインストールされている必要がある。

RepositoryRoot

レポジトリファイルを格納するディレクトリのパスを指定します。レポジトリのファイルは重要な情報が含まれているため、パスは public_html の下といった誰でも見られるパスではなく、public_html よりも上といった直接アクセスできないパスに指定するようにしてください。

どうしても訳があって誰にでも見られるパスに指定せざるを得ない場合はそのパスに .htaccess または RepositoryFileExtension を cgi に指定してください。.htaccess の記述例は以下の通りです。

  order deny,allow
  deny from all

もしくはRepositoryRootの一番後ろのディレクトリ名の先頭にドットをつけるという方法もあります。例えば以下のようにディレクトリ名を設定します。

/home/img0ch/.repository

指定されたディレクトリは必ず読込、書込、実行それぞれ実行権限をあたえる必要があります。そのため、パーミッションは0700(エラーが発生するのであれば0707、0777の順に変更)にする必要があります。

RepositoryFileExtension

レポジトリファイルに保存する拡張子名を指定します。通常この値を変更する必要はないでしょう。RepositoryRootを参照してください。

Renderer

read.cgi の代替となるものを指定します。read.cgi の代わりに標準に含まれている read.html に変更したい時にこの値を read.html と指定する必要があります。

UseQueryString

read.cgi 以下のパスに PATH_INFO ではなく QUERY_STRING 形式で表示するかを指定します。QUERY_STRING 形式でパスを表示する場合はこの値を 1 に設定するようにしてください。

RendererSeparator

read.cgi または read.html とパラメータをわける文字を指定します。read.html を使う場合は # を入れる必要があります。read.cgi の場合はこのディレクティブの値を入れる必要はありません。

EnableIDN

IDN(International Domain Name)形式のドメインをリンク対象にするかを指定します。有効にする場合はこの値を1に指定してください。Img0ch::Plugin::Rewrite::AutoLinkで利用されます。

UseFileSeek

このディレクティブは2.1.11以降から使用されていません。

UsePicto

このディレクティブは2.1.11以降から使用されていません。

ResMAX

掲示板設定の BBS_RES_MAX が設定されていない場合の 1 スレッドの書き込み可能最大数を指定します。指定されない場合は 1000 になります。

OmitDefaultNoName

r.cgi で名前が SETTING.TXT の BBS_NONAME_NAME と合致した場合名前を省略するかを指定します。有効にする場合はこの値を 1 に指定してください。

MobileRenderer

r.cgi の代替となるものを指定します。使用される箇所を除けば Renderer とほぼ一緒です。

Ankers

本文に含むことの出来るアンカー数を指定します。指定されなければ 15 になります。

SambaCount

SAMBA の対象となる書き込み間隔の秒数を指定します。指定されなければ 30(秒) になります。

SambaWait

SAMBA規制が入ったとき次に書き込むことの出来る秒数を指定します。指定されなければ 3600(秒) になります。

LogStackMax

レス書き込み規制で1ホストで保存可能なログ数を指定します。指定されなければ 256 になります。

  • 多いと書き込み規制を厳しくすることが出来るが規制確認処理に時間がかかる
  • 少ないと書き込み規制確認処理が素早く終わるが、規制が緩くなる

FastWriteMode

レス書き込みで以下のファイルの更新処理を省略するかを指定します。有効にする場合はこの値を1に指定してください。

  • subback.html
  • index.html
  • i/index.html

RedirectWait

書き込み終了後index.htmlに戻るまでの秒数を指定します。指定されなければ 5(秒) になります。

DefaultCharset

dat 等の保存時のエンコーディングを指定します。指定されなければ Shift_JIS になります。

DynamicArchive

過去ログを生成する代わりに過去ログのインデックスからプールされているスレッドを動的に過去ログに変換するかを指定します。過去ログの数が膨大になり、ディスクスペースを逼迫した場合に有効です。このディレクティブを使用するには archive.cgi と mod_rewrite が必要です。有効にする場合はこの値を 1 に指定してください。

ZerominUseGzip

zeromin.cgi に送出するデータ (JSON) を gzip で圧縮するかを指定します。有効にする場合はこの値を 1 に指定してください。

ImageHandler

Img0ch::Plugin::Upload::Thumbnail でサムネイルを作成するためのモジュールまたはプログラムを指定します。指定可能な値は以下の通りです。これ以外の値を指定した場合サムネイルが作成されません。標準で repng2jpeg が選択されます。

repng2jpeg

repng2jpeg を利用するには repng2jpeg をSystemPathに配置し、なおかつ実行可能にする必要があります。repng2jpeg は http://sugachan.dip.jp/obsolete/ext/ で入手可能です。

repng2jpeg 1.0.x (zipかtar.gz形式) をダウンロードし、その中に含まれる check.cgi をアップロード、パーミッションを 0755 で実行可能にし、アクセスしてどの repng2jpeg が利用可能かを確認してください。

移植性が高く、サムネイルの画質が優れていますが、open() 関数のパイプを経由してサムネイルを作成するため、セキュリティ的なリスクが他に比べると大きい問題があります。また、上記の特性上から以下の 3 モジュールに比べると速度が落ちてしまいます。

GD

GD を利用するには GD がサーバー側にインストールされている必要があります。そこそこ高速ですが、サムネイルの作成画質が他に比べると劣ります。また、GD のバージョンが 2.15 以下の場合 gif の縮小画像が作成されません。

PerlMagick

PerlMagick を利用するには Image::Magick がサーバー側にインストールされている必要があります。サムネイルの画質が優れていますが、多くのメモリが消費されます。

Imager

Imager を利用するには Imager がサーバ側にインストールされている必要があります。サムネイルの画質に優れており、そこそこ高速に動作します。Imager をインストールするには cpan コマンドを使って以下のように実行します。

cpan install Imager

BBSPath

自分のサイトに設置する全ての掲示板を格納するディレクトリのパスを指定します。初期設定値は .. (testやstatic等が格納されているディレクトリ) です。

SystemPath

システム全体で利用される設定情報ファイルが格納されているディレクトリパスを指定します。初期設定値は ../_system です。

ShellPath

TemplatePath のエイリアスです。TemplatePath を指定するようにしてください。

TemplatePath

テンプレートのディレクトリ及びファイルが格納されているディレクトリパスを指定します。初期設定値は ../_template です。

TemplateEngine

テンプレートを解析するエンジンとなるモジュールを指定します。以下から選択することになります。これに該当しない、あるいは値が無い場合は HTML::Template が選択されます。

HTML::Template

移植性の高い汎用的なテンプレートエンジンです。使用する場合は TemplateFileExtension を ht にする必要があります。(HTML::Template を使う場合通常 TemplateFileExtension を指定する必要はありません)

HTML::Template::Compiled

HTML::Template より拡張性がある HTML::Template 互換のテンプレートエンジンです。HTML::Template::Compiled 特有のタグを使用する場合は TemplateFileExtension を htc にする必要があります。HTML::Template で利用可能なテンプレートを使用する場合は設定しなくてもそのまま利用可能です。

ClearSilver

テンプレートエンジンの核がC言語でかかれた高速なテンプレートエンジンです。使用する場合は TemplateFileExtension を cs にする必要があります。

最初から入っているテンプレート (defaultとtype) は上記に挙がっているテンプレートエンジンに全て対応しています。

TemplateFileExtension

TemplateEngine を参照してください。

Server

自分のサイトに設置する BBSPath までの絶対 URL を指定します。この値は設置するサーバーによって異なるため、初期値はありません。

CGIServer

cgi-bin ディレクトリまたは CGI 実行サーバーでしか CGI が動作しない時にその URL を指定します。これによって bbs.cgi 及び read.cgi 等の *.cgi のパスが変更されますが、専用ブラウザが利用出来なくなることが発生しうるため、可能であれば mod_rewrite を使って回避するべきでしょう。

Static

CSS や JavaScript の外部ファイルを格納する絶対 URL (相対 URL ではない) を指定します。

EnableXHTMLBreak

<br> を <br /> に変換するかを指定します。これは type 等の XHTML に準拠するテンプレートに使用することになります。有効にする場合はこの値を 1 に指定してください。

SignatureType

バージョンの表記方法を指定します。以下から選択することになります。 これに該当しない、あるいは値が無い場合は Minor が選択されます。

Product

 img0ch

Major

 img0ch(CGI)/2

Minor

 img0ch(CGI)/2.1

Full

 img0ch(CGI)/2.1.0

Debug

 img0ch(CGI)/2.1.0 SVN-rev:1

BDBHome

RepositoryType の BDB を参照してください。

EnableEditName

ぜろみんでのレス編集に名前の変更を可能にするかを指定します。指定しない限り名前の編集を行うことは出来ません。有効にする場合はこの値を 1 に指定してください。

TagsRuleConfig

Img0ch::Plugin::BBS::HTMLTag でのタグ使用ルールを記述したファイル名を指定します。特に指定しない限り、HTML-tags-rule.ini (/_system/HTML-tags-rule.ini) の名前で読み込みます。

TemplateCacheRoot

HTML::Template 及び HTML::Template::Compiled で生成したキャッシュを格納するディレクトリを指定します。

指定されたディレクトリは必ず読込、書込、実行それぞれ実行権限をあたえる必要があります。そのため、パーミッションは 0700 (エラーが発生するのであれば0707、0777の順に変更) にする必要があります。

TemplateCacheRootMode

HTML::Template で生成されるサブディレクトリのパーミッションを設定します。ファイルの所有者とCGIの実行者が異なる場合、パーミッションがなくて削除できない場合があります。そのため、必要であればこの値を変更することになります。設定されない限り 700 になります。通常この値は変更する必要はありません。

値を設定するときは必ず3桁の数字、すなわち 700 といった値にする必要があります。間違って 0700 といった値にした場合の結果は不定です。

Seed

書き込み時の ID の生成、バージョンを MD5 関数を使って隠すときに使用する、サーバー側のパスワードを設定します。この値は極力他人に推測されない任意の値をいれます。

POP3Server

メール経由の投稿に利用する POP3 サーバーのアドレスを指定します。[pop3] セクションの server と同等で、互換性のため現在でも利用可能です。

POP3User

メール経由の投稿に利用する POP3Server にログインするためのユーザー名を指定します。[pop3] セクションの user と同等で、互換性のため現在でも利用可能です。

POP3Pass

メール経由の投稿に利用する POP3Server にログインするためのパスワードを指定します。[pop3] セクションの pass と同等で、互換性のため現在でも利用可能です。

UseAPOP

現在この項目は利用していません。指定されていても APOP を利用せずにやりとりが行われます。より安全にやりとりを行うのであれば SSL に対応した [pop3] セクションを参照してください。

MailPostAddress

メール経由の投稿に利用する投稿先のメールアドレスを指定します。この値は r.cgi のデフォルトテンプレートのメールリンク (「携帯からメールで投稿する」) に利用されるため、可能であれば HTML エンティティにエンコードするべきでしょう(今では有効な手段とはいえないようにも思える)。

MailRawAddress

メール経由の投稿に利用する投稿先のメールアドレスを指定します。この値はエラーメールのヘッダーの From に利用するため、本物のメールアドレスを指定する必要があります。

AcceptMailPostFromAnother

メール経由の投稿を携帯電話会社のメールアドレス以外のメールアドレスでも投稿できるようにするかを指定します。有効にする場合はこの値を 1 に指定してください。

SendmailPath

メール配信プログラム (MTA) のひとつである sendmail のパスを指定します。この値が指定された場合エラーを通知するメールを配信する方法として sendmail が利用されるようになります。これは [smtp] セクションおよび QmailPath の値より優先されて利用されます。

QmailPath

メール配信プログラム (MTA) のひとつである qmail のパスを指定します。この値が指定された場合エラーを通知するメールを配信する方法として qmail が利用されるようになります。これは [smtp] セクションより優先されて利用されます。

!IPCountryType

IP::Country で利用するモジュールを指定します。以下の値から指定します。指定されない、または以下以外を指定した場合は Fast が指定されます。

日本以外の投稿を禁止する を参照してください。

Fast

IP::Country::Fast::* 以下の NIC のデータベースを参照します。

エイリアス名:: Medium または Slow

MaxMind

Geo::IP(::PurePerl) を経由します。

エイリアス名:: Medium または Slow

!GeoIPDat

!IPCountryType が MaxMind に指定された場合の GeoIP のデータベースのファイル先を指定します。

DraftExpire

お絵書き途中ファイルの保有有効期限を秒数単位で指定します。 指定されない場合は 86400 秒(一日)になります。

OekakiTempPath

旧版 (v1.2.5以前) スクリプトのためのお絵書き途中のファイルが納められたディレクトリのパスを指定します。

これは旧版の「お絵書き設定」の「お絵描き仮保存ファイル保存パス」に相当します。

TimeZone

時刻のタイムゾーンを設定します。通常は JST-9 が設定されるため、日本において使用する場合はこの値を設定する必要はありません。

DisableBBMCheck

!BBM による荒しとして判断された携帯の投稿判定処理を停止するかを指定します。有効にする場合はこの値を 1 に指定してください。

DisableThread924

スレッドキーが 924 で始まる特殊スレッドの判定処理を停止するかを指定します。有効にする場合はこの値を 1 に指定してください。

DisableBBSInitPlugin

bbs.init に属するプラグインの利用を全て停止するかを指定します。この設定はプラグインの有効無効の設定よりも優先されます。有効にする場合はこの値を 1 に指定してください。

DisableBBSFilterPlugin

bbs.filter に属するプラグインの利用を全て停止するかを指定します。この設定はプラグインの有効無効の設定よりも優先されます。有効にする場合はこの値を1に指定してください。

DisableBBSPresavePlugin

bbs.write.pre に属するプラグインの利用を全て停止するかを指定します。この設定はプラグインの有効無効の設定よりも優先されます。有効にする場合はこの値を 1 に指定してください。

DisableBBSPreUploadPlugin

bbs.upload.pre に属するプラグインの利用を全て停止するかを指定します。この設定はプラグインの有効無効の設定よりも優先されます。有効にする場合はこの値を 1 に指定してください。

DisableBBSPostUploadPlugin

bbs.upload.post に属するプラグインの利用を全て停止するかを指定します。この設定はプラグインの有効無効の設定よりも優先されます。有効にする場合はこの値を 1 に指定してください。

DisableBBSPostsavePlugin

bbs.write.post に属するプラグインの利用を全て停止するかを指定します。この設定はプラグインの有効無効の設定よりも優先されます。有効にする場合はこの値を 1 に指定してください。

FixIDFromMobile

携帯からの投稿でも端末固有番号でIDを固定化させるかを指定します。有効にする場合はこの値を 1 に指定してください。

Maintenance

スクリプトを zeromin.cgi を除いて停止させます。有効にする場合はこの値を 1 に指定してください。