zope.conf設定
Note: This is the print view with all the Reference Manual pages on one page. The paginated version is available here, if you prefer that.
各バージョンのzope.conf和訳
1. Zope-2.7.0
Zope-2.7.0のetc/zope.confを和訳
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
%define ZOPE <<ZOPE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: on
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブs: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用な
# VerboseSecurityなどの"monky-patch"を利用するプロダクトを使用する場合
# 必要な設定です。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: read-only-database
#
# 概要:
# このディレクティブはZopeのFileStorage型ZODBを読み込み専用で開きます。
#
# デフォルト値: off
#
# 例:
#
# read-only-database on
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブs: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level all
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <syslog-handler>
# host localhost
# port 514
# </syslog-handler>
# <nteventlog-handler>
# appname Zope
# </nteventlog-handler>
# </logger>
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の7つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, and icp-server. もし、どのサーバーも定義
# されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は、最も簡単な記述はポート番号を 80 等と記述し、
# 複雑な記述としてはホスト名込みで127.0.0.1:80 等と記述します。ホスト名
# が省略された場合は、デフォルトのIPアドレスがホスト名に使用されます。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
# port-baseのデフォルト値は8000です。
#
# 訳注:
# port-baseのデフォルト値は0です。
#
# デフォルト値:
#
# HTTPサーバーが8080で、FTPサーバーが8021で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
</http-server>
<ftp-server>
# 有効なキーは"address"です
address 8021
</ftp-server>
# 例:
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 99
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# mount-point /
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# </zeoclient>
# </zodb_db>
2. Zope-2.7.1, 2.7.2
Zope-2.7.1のetc/zope.confを和訳
Zope-2.7.0からの変更点
- enable-product-installationの注意書きを追加
- rest-header-level ディレクティブを追加
- session-resolution-seconds ディレクティブを追加
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
%define ZOPE <<ZOPE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: on
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
# 注意: Zopeは最低一回はこのディレクティブがonの状態で起動されなくては
# いけません。そうしないと起動時にエラーが発生します。もしZEOを使う場合、
# 最低一つのZEOクライアントが一回はこのディレクティブをonの状態で起動し
# ないといけません。他のZEOクライアントはoffでもかまいません。
# 注意:もしメインストレージがread-onlyでマウントされているなら、この
# ディレクティブをoffにしなければいけません。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブs: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: rest-header-level
#
# 概要:
# reStructuredTextドキュメントのHTMLヘッダレベルの開始値を設定します。
# デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# rest-header-level 2
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用な
# VerboseSecurityなどの"monky-patch"を利用するプロダクトを使用する場合
# 必要な設定です。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: session-resolution-seconds
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナの時間計測間隔(秒)
# を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-resolution-seconds 60
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: read-only-database
#
# 概要:
# このディレクティブはZopeのFileStorage型ZODBを読み込み専用で開きます。
#
# デフォルト値: off
#
# 例:
#
# read-only-database on
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブs: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level all
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <syslog-handler>
# host localhost
# port 514
# </syslog-handler>
# <nteventlog-handler>
# appname Zope
# </nteventlog-handler>
# </logger>
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の7つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, and icp-server. もし、どのサーバーも定義
# されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は、最も簡単な記述はポート番号を 80 等と記述し、
# 複雑な記述としてはホスト名込みで127.0.0.1:80 等と記述します。ホスト名
# が省略された場合は、デフォルトのIPアドレスがホスト名に使用されます。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
# port-baseのデフォルト値は8000です。
#
# 訳注:
# port-baseのデフォルト値は0です。
#
# デフォルト値:
#
# HTTPサーバーが8080で、FTPサーバーが8021で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
</http-server>
<ftp-server>
# 有効なキーは"address"です
address 8021
</ftp-server>
# 例:
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 99
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# mount-point /
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# </zeoclient>
# </zodb_db>
3. Zope-2.7.3
Zope-2.7.3のetc/zope.confを和訳
Zope-2.7.2からの変更点
- rest-language-code ディレクティブが追加されました
- logger traceセクションの例を修正
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
%define ZOPE <<ZOPE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: on
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
# 注意: Zopeは最低一回はこのディレクティブがonの状態で起動されなくては
# いけません。そうしないと起動時にエラーが発生します。もしZEOを使う場合、
# 最低一つのZEOクライアントが一回はこのディレクティブをonの状態で起動し
# ないといけません。他のZEOクライアントはoffでもかまいません。
# 注意:もしメインストレージがread-onlyでマウントされているなら、この
# ディレクティブをoffにしなければいけません。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブs: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: rest-header-level
#
# 概要:
# reStructuredTextドキュメントのHTMLヘッダレベルの開始値を設定します。
# デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# rest-header-level 2
# ディレクティブ: rest-language-code
#
# 概要:
# docutilパッケージ内部の色々な変換や、DTDエレメントのマッピングに使用
# される言語コードを設定します。サポートされている言語コードについて、
# 詳しくは lib/python/docutils/languages/ を参照してください。
#
# デフォルト値: en
#
# 例:
#
# rest-language-code de
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用な
# VerboseSecurityなどの"monky-patch"を利用するプロダクトを使用する場合
# 必要な設定です。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: session-resolution-seconds
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナの時間計測間隔(秒)
# を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-resolution-seconds 60
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: read-only-database
#
# 概要:
# このディレクティブはZopeのFileStorage型ZODBを読み込み専用で開きます。
#
# デフォルト値: off
#
# 例:
#
# read-only-database on
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブs: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level all
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <logfile>
# path $INSTANCE/log/trace.log
# format %(message)s
# </logfile>
# </logger>
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の7つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, and icp-server. もし、どのサーバーも定義
# されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は、最も簡単な記述はポート番号を 80 等と記述し、
# 複雑な記述としてはホスト名込みで127.0.0.1:80 等と記述します。ホスト名
# が省略された場合は、デフォルトのIPアドレスがホスト名に使用されます。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
# port-baseのデフォルト値は8000です。
#
# 訳注:
# port-baseのデフォルト値は0です。
#
# デフォルト値:
#
# HTTPサーバーが8080で、FTPサーバーが8021で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
</http-server>
<ftp-server>
# 有効なキーは"address"です
address 8021
</ftp-server>
# 例:
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 99
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# mount-point /
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# </zeoclient>
# </zodb_db>
4. Zope-2.7.4, 2.7.5
Zope-2.7.4のetc/zope.confを和訳
Zope-2.7.3からの変更点
- cgi-maxlen ディレクティブを追加
- http-header-max-length ディレクティブを追加
- large-file-threshold ディレクティブを追加
- ZEO client storage サンプルに cache-size と client 定義を追加
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
%define ZOPE <<ZOPE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: on
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
# 注意: Zopeは最低一回はこのディレクティブがonの状態で起動されなくては
# いけません。そうしないと起動時にエラーが発生します。もしZEOを使う場合、
# 最低一つのZEOクライアントが一回はこのディレクティブをonの状態で起動し
# ないといけません。他のZEOクライアントはoffでもかまいません。
# 注意:もしメインストレージがread-onlyでマウントされているなら、この
# ディレクティブをoffにしなければいけません。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: rest-header-level
#
# 概要:
# reStructuredTextドキュメントのHTMLヘッダレベルの開始値を設定します。
# デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# rest-header-level 2
# ディレクティブ: rest-language-code
#
# 概要:
# docutilパッケージ内部の色々な変換や、DTDエレメントのマッピングに使用
# される言語コードを設定します。サポートされている言語コードについて、
# 詳しくは lib/python/docutils/languages/ を参照してください。
#
# デフォルト値: en
#
# 例:
#
# rest-language-code de
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: cgi-maxlen
#
# 概要:
# DoS攻撃を防止するために、Zopeが受け付けるフォームデータサイズの上限
# を設定します。
#
# デフォルト値: 0 (= 制限無し)
#
# 例:
#
# cgi-maxlen 10000
# ディレクティブ: http-header-max-length
#
# 概要:
# HTTPリクエストヘッダの上限(byte)を設定します。上限サイズを超えた
# リクエストはDoS攻撃とみなし、破棄されます。
#
# デフォルト値: 8192
#
# 例:
#
# http-header-max-length 16384
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用な
# VerboseSecurityなどの"monky-patch"を利用するプロダクトを使用する場合
# 必要な設定です。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: session-resolution-seconds
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナの時間計測間隔(秒)
# を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-resolution-seconds 60
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: read-only-database
#
# 概要:
# このディレクティブはZopeのFileStorage型ZODBを読み込み専用で開きます。
#
# デフォルト値: off
#
# 例:
#
# read-only-database on
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブs: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level all
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <logfile>
# path $INSTANCE/log/trace.log
# format %(message)s
# </logfile>
# </logger>
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブs: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: large-file-threshold
#
# 概要:
# 設定したサイズ以上のリクエストはメモリではなく一時ファイルに保存し
# ます。
#
# デフォルト値: 512K
#
# 例:
#
# large-file-threshold 1Mb
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の7つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, and icp-server. もし、どのサーバーも定義
# されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は'address'ディレクティブで行われ、最も簡単な
# 記述はポート番号を 80 等と記述し、複雑な記述としてはホスト名込みで
# 127.0.0.1:80 等と記述します。ホスト名が省略された場合は、デフォルト
# のIPアドレスがホスト名に使用されます。
#
# monitor-serverを起動するためには、緊急ユーザーが定義されていなければ
# いけません(accessファイルとして)。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
#
# デフォルト値:
#
# HTTPサーバーが8080で、FTPサーバーが8021で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
</http-server>
<ftp-server>
# 有効なキーは"address"です
address 8021
</ftp-server>
# 例:
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 99
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# mount-point /
# # ZODB キャッシュをオブジェクト数で指定
# cache-size 5000
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# # ZEO クライアントキャッシュをbyte数で指定
# cache-size 20MB
# # 永続ディスクキャッシュを使用するために以下のコメントを解除
# #client zeo1
# </zeoclient>
# </zodb_db>
5. Zope-2.7.6, 2.7.7
Zope-2.7.6のetc/zope.confを和訳
Zope-2.7.5からの変更点
- eventlogセクションのlevelが all から INFO に変更
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
%define ZOPE <<ZOPE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: on
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
# 注意: Zopeは最低一回はこのディレクティブがonの状態で起動されなくては
# いけません。そうしないと起動時にエラーが発生します。もしZEOを使う場合、
# 最低一つのZEOクライアントが一回はこのディレクティブをonの状態で起動し
# ないといけません。他のZEOクライアントはoffでもかまいません。
# 注意:もしメインストレージがread-onlyでマウントされているなら、この
# ディレクティブをoffにしなければいけません。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: rest-header-level
#
# 概要:
# reStructuredTextドキュメントのHTMLヘッダレベルの開始値を設定します。
# デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# rest-header-level 2
# ディレクティブ: rest-language-code
#
# 概要:
# docutilパッケージ内部の色々な変換や、DTDエレメントのマッピングに使用
# される言語コードを設定します。サポートされている言語コードについて、
# 詳しくは lib/python/docutils/languages/ を参照してください。
#
# デフォルト値: en
#
# 例:
#
# rest-language-code de
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: cgi-maxlen
#
# 概要:
# DoS攻撃を防止するために、Zopeが受け付けるフォームデータサイズの上限
# を設定します。
#
# デフォルト値: 0 (= 制限無し)
#
# 例:
#
# cgi-maxlen 10000
# ディレクティブ: http-header-max-length
#
# 概要:
# HTTPリクエストヘッダの上限(byte)を設定します。上限サイズを超えた
# リクエストはDoS攻撃とみなし、破棄されます。
#
# デフォルト値: 8192
#
# 例:
#
# http-header-max-length 16384
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用な
# VerboseSecurityなどの"monky-patch"を利用するプロダクトを使用する場合
# 必要な設定です。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: session-resolution-seconds
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナの時間計測間隔(秒)
# を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-resolution-seconds 60
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: read-only-database
#
# 概要:
# このディレクティブはZopeのFileStorage型ZODBを読み込み専用で開きます。
#
# デフォルト値: off
#
# 例:
#
# read-only-database on
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブs: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level INFO
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <logfile>
# path $INSTANCE/log/trace.log
# format %(message)s
# </logfile>
# </logger>
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブs: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: large-file-threshold
#
# 概要:
# 設定したサイズ以上のリクエストはメモリではなく一時ファイルに保存し
# ます。
#
# デフォルト値: 512K
#
# 例:
#
# large-file-threshold 1Mb
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の7つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, and icp-server. もし、どのサーバーも定義
# されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は'address'ディレクティブで行われ、最も簡単な
# 記述はポート番号を 80 等と記述し、複雑な記述としてはホスト名込みで
# 127.0.0.1:80 等と記述します。ホスト名が省略された場合は、デフォルト
# のIPアドレスがホスト名に使用されます。
#
# monitor-serverを起動するためには、緊急ユーザーが定義されていなければ
# いけません(accessファイルとして)。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
#
# デフォルト値:
#
# HTTPサーバーが8080で、FTPサーバーが8021で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
</http-server>
<ftp-server>
# 有効なキーは"address"です
address 8021
</ftp-server>
# 例:
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 99
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# mount-point /
# # ZODB キャッシュをオブジェクト数で指定
# cache-size 5000
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# # ZEO クライアントキャッシュをbyte数で指定
# cache-size 20MB
# # 永続ディスクキャッシュを使用するために以下のコメントを解除
# #client zeo1
# </zeoclient>
# </zodb_db>
6. Zope-2.7.8, 2.7.9
Zope-2.7.8, 2.7.9 のetc/zope.confを和訳
Zope-2.7.7からの変更点
- default-zpublisher-encoding ディレクティブを追加
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
%define ZOPE <<ZOPE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: on
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
# 注意: Zopeは最低一回はこのディレクティブがonの状態で起動されなくては
# いけません。そうしないと起動時にエラーが発生します。もしZEOを使う場合、
# 最低一つのZEOクライアントが一回はこのディレクティブをonの状態で起動し
# ないといけません。他のZEOクライアントはoffでもかまいません。
# 注意:もしメインストレージがread-onlyでマウントされているなら、この
# ディレクティブをoffにしなければいけません。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: rest-header-level
#
# 概要:
# reStructuredTextドキュメントのHTMLヘッダレベルの開始値を設定します。
# デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# rest-header-level 2
# ディレクティブ: rest-language-code
#
# 概要:
# docutilパッケージ内部の色々な変換や、DTDエレメントのマッピングに使用
# される言語コードを設定します。サポートされている言語コードについて、
# 詳しくは lib/python/docutils/languages/ を参照してください。
#
# デフォルト値: en
#
# 例:
#
# rest-language-code de
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: cgi-maxlen
#
# 概要:
# DoS攻撃を防止するために、Zopeが受け付けるフォームデータサイズの上限
# を設定します。
#
# デフォルト値: 0 (= 制限無し)
#
# 例:
#
# cgi-maxlen 10000
# ディレクティブ: http-header-max-length
#
# 概要:
# HTTPリクエストヘッダの上限(byte)を設定します。上限サイズを超えた
# リクエストはDoS攻撃とみなし、破棄されます。
#
# デフォルト値: 8192
#
# 例:
#
# http-header-max-length 16384
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用な
# VerboseSecurityなどの"monky-patch"を利用するプロダクトを使用する場合
# 必要な設定です。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: session-resolution-seconds
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナの時間計測間隔(秒)
# を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-resolution-seconds 60
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: read-only-database
#
# 概要:
# このディレクティブはZopeのFileStorage型ZODBを読み込み専用で開きます。
#
# デフォルト値: off
#
# 例:
#
# read-only-database on
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブs: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level INFO
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <logfile>
# path $INSTANCE/log/trace.log
# format %(message)s
# </logfile>
# </logger>
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブs: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: large-file-threshold
#
# 概要:
# 設定したサイズ以上のリクエストはメモリではなく一時ファイルに保存し
# ます。
#
# デフォルト値: 512K
#
# 例:
#
# large-file-threshold 1Mb
# ディレクティブ: default-zpublisher-encoding
#
# 概要:
# このコントロールで、ZPublisherがUnicodeをエンコードする方法を設定し
# ます。
#
# 訳注:
# オリジナルのzope.confでは default_zpublisher_encoding ですが、正し
# くはdefault-zpublisher-encodingです。
#
# デフォルト値: iso-8859-15
#
# 例:
#
# default-zpublisher-encoding utf-8
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の7つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, and icp-server. もし、どのサーバーも定義
# されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は'address'ディレクティブで行われ、最も簡単な
# 記述はポート番号を 80 等と記述し、複雑な記述としてはホスト名込みで
# 127.0.0.1:80 等と記述します。ホスト名が省略された場合は、デフォルト
# のIPアドレスがホスト名に使用されます。
#
# monitor-serverを起動するためには、緊急ユーザーが定義されていなければ
# いけません(accessファイルとして)。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
#
# デフォルト値:
#
# HTTPサーバーが8080で、FTPサーバーが8021で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
</http-server>
<ftp-server>
# 有効なキーは"address"です
address 8021
</ftp-server>
# 例:
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 99
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# mount-point /
# # ZODB キャッシュをオブジェクト数で指定
# cache-size 5000
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# # ZEO クライアントキャッシュをbyte数で指定
# cache-size 20MB
# # 永続ディスクキャッシュを使用するために以下のコメントを解除
# #client zeo1
# </zeoclient>
# </zodb_db>
7. Zope-2.8.0
Zope-2.8.0のetc/zope.confを和訳
Zope-2.7.7からの変更点
- 冒頭に開発者向けの説明文を追加
- debug-mode のデフォルト値をonから off に変更
- eventlog のlevelをINFOから info に変更
- ftp-server はデフォルトでは起動しなくなったため説明文を修正
- ftp-server セクションをコメント化
- monitor-server セクション例のaddressディレクティブを8099に変更
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
#
# 開発者向けの注意
# ===================
#
# このファイルは自動生成「されません」。もし新たなディレクティブを追加する
# のであれば、そのディレクティブの使用例もこのファイルに含めてください。
#
# 設定を変更するために'zope.conf.in'を修正しないでください。誤った修正を
# zope.conf.inファイルに記述する危険を冒すその代わりに、'zope.conf'と言う
# 名前のコピーを作成して変更を加えてください。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
%define ZOPE <<ZOPE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: off
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
# 注意: Zopeは最低一回はこのディレクティブがonの状態で起動されなくては
# いけません。そうしないと起動時にエラーが発生します。もしZEOを使う場合、
# 最低一つのZEOクライアントが一回はこのディレクティブをonの状態で起動し
# ないといけません。他のZEOクライアントはoffでもかまいません。
# 注意:もしメインストレージがread-onlyでマウントされているなら、この
# ディレクティブをoffにしなければいけません。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: rest-header-level
#
# 概要:
# reStructuredTextドキュメントのHTMLヘッダレベルの開始値を設定します。
# デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# rest-header-level 2
# ディレクティブ: rest-language-code
#
# 概要:
# docutilパッケージ内部の色々な変換や、DTDエレメントのマッピングに使用
# される言語コードを設定します。サポートされている言語コードについて、
# 詳しくは lib/python/docutils/languages/ を参照してください。
#
# デフォルト値: en
#
# 例:
#
# rest-language-code de
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: cgi-maxlen
#
# 概要:
# DoS攻撃を防止するために、Zopeが受け付けるフォームデータサイズの上限
# を設定します。
#
# デフォルト値: 0 (= 制限無し)
#
# 例:
#
# cgi-maxlen 10000
# ディレクティブ: http-header-max-length
#
# 概要:
# HTTPリクエストヘッダの上限(byte)を設定します。上限サイズを超えた
# リクエストはDoS攻撃とみなし、破棄されます。
#
# デフォルト値: 8192
#
# 例:
#
# http-header-max-length 16384
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用な
# VerboseSecurityなどの"monky-patch"を利用するプロダクトを使用する場合
# 必要な設定です。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: session-resolution-seconds
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナの時間計測間隔(秒)
# を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-resolution-seconds 60
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: read-only-database
#
# 概要:
# このディレクティブはZopeのFileStorage型ZODBを読み込み専用で開きます。
#
# デフォルト値: off
#
# 例:
#
# read-only-database on
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブs: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level info
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <logfile>
# path $INSTANCE/log/trace.log
# format %(message)s
# </logfile>
# </logger>
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブs: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: large-file-threshold
#
# 概要:
# 設定したサイズ以上のリクエストはメモリではなく一時ファイルに保存し
# ます。
#
# デフォルト値: 512K
#
# 例:
#
# large-file-threshold 1Mb
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の7つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, and icp-server. もし、どのサーバーも定義
# されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は'address'ディレクティブで行われ、最も簡単な
# 記述はポート番号を 80 等と記述し、複雑な記述としてはホスト名込みで
# 127.0.0.1:80 等と記述します。ホスト名が省略された場合は、デフォルト
# のIPアドレスがホスト名に使用されます。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
#
# monitor-serverを起動するためには、緊急ユーザーが定義されていなければ
# いけません(accessファイルとして)。
#
# デフォルト値:
#
# HTTPサーバーが8080で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
</http-server>
# 例:
#
# <ftp-server>
# # 有効なキーは"address"です
# address 8021
# </ftp-server>
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 8099
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# mount-point /
# # ZODB キャッシュをオブジェクト数で指定
# cache-size 5000
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# # ZEO クライアントキャッシュをbyte数で指定
# cache-size 20MB
# # 永続ディスクキャッシュを使用するために以下のコメントを解除
# #client zeo1
# </zeoclient>
# </zodb_db>
8. Zope-2.8.1
Zope-2.8.1のetc/zope.confを和訳
Zope-2.8.0からの変更点
- verbose-security ディレクティブを追加
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
#
# 開発者向けの注意
# ===================
#
# このファイルは自動生成「されません」。もし新たなディレクティブを追加する
# のであれば、そのディレクティブの使用例もこのファイルに含めてください。
#
# 設定を変更するために'zope.conf.in'を修正しないでください。誤った修正を
# zope.conf.inファイルに記述する危険を冒すその代わりに、'zope.conf'と言う
# 名前のコピーを作成して変更を加えてください。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
%define ZOPE <<ZOPE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: off
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
# 注意: Zopeは最低一回はこのディレクティブがonの状態で起動されなくては
# いけません。そうしないと起動時にエラーが発生します。もしZEOを使う場合、
# 最低一つのZEOクライアントが一回はこのディレクティブをonの状態で起動し
# ないといけません。他のZEOクライアントはoffでもかまいません。
# 注意:もしメインストレージがread-onlyでマウントされているなら、この
# ディレクティブをoffにしなければいけません。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: rest-header-level
#
# 概要:
# reStructuredTextドキュメントのHTMLヘッダレベルの開始値を設定します。
# デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# rest-header-level 2
# ディレクティブ: rest-language-code
#
# 概要:
# docutilパッケージ内部の色々な変換や、DTDエレメントのマッピングに使用
# される言語コードを設定します。サポートされている言語コードについて、
# 詳しくは lib/python/docutils/languages/ を参照してください。
#
# デフォルト値: en
#
# 例:
#
# rest-language-code de
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: cgi-maxlen
#
# 概要:
# DoS攻撃を防止するために、Zopeが受け付けるフォームデータサイズの上限
# を設定します。
#
# デフォルト値: 0 (= 制限無し)
#
# 例:
#
# cgi-maxlen 10000
# ディレクティブ: http-header-max-length
#
# 概要:
# HTTPリクエストヘッダの上限(byte)を設定します。上限サイズを超えた
# リクエストはDoS攻撃とみなし、破棄されます。
#
# デフォルト値: 8192
#
# 例:
#
# http-header-max-length 16384
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用で
# す。"verbose-security"についても参照してください。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: verbose-security
#
# 概要:
# デフォルトでは、Zopeは認証に失敗した場合に、一般に不要な情報を隠蔽する
# ため簡潔な情報を出力します。この設定で、認証失敗時に多くの情報を出力
# するようにZopeのセキュリティーポリシーを変更します。これはデバッグ用途
# に提供されています。この設定を行う場合は'security-policy-implementation'
# を'python'に設定してください。
#
# デフォルト値: off
#
# 例:
#
# security-policy-implementation python
# verbose-security on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: session-resolution-seconds
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナの時間計測間隔(秒)
# を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-resolution-seconds 60
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: read-only-database
#
# 概要:
# このディレクティブはZopeのFileStorage型ZODBを読み込み専用で開きます。
#
# デフォルト値: off
#
# 例:
#
# read-only-database on
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブs: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level info
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <logfile>
# path $INSTANCE/log/trace.log
# format %(message)s
# </logfile>
# </logger>
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブs: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: large-file-threshold
#
# 概要:
# 設定したサイズ以上のリクエストはメモリではなく一時ファイルに保存し
# ます。
#
# デフォルト値: 512K
#
# 例:
#
# large-file-threshold 1Mb
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の7つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, and icp-server. もし、どのサーバーも定義
# されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は'address'ディレクティブで行われ、最も簡単な
# 記述はポート番号を 80 等と記述し、複雑な記述としてはホスト名込みで
# 127.0.0.1:80 等と記述します。ホスト名が省略された場合は、デフォルト
# のIPアドレスがホスト名に使用されます。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
#
# monitor-serverを起動するためには、緊急ユーザーが定義されていなければ
# いけません(accessファイルとして)。
#
# デフォルト値:
#
# HTTPサーバーが8080で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
</http-server>
# 例:
#
# <ftp-server>
# # 有効なキーは"address"です
# address 8021
# </ftp-server>
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 8099
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# mount-point /
# # ZODB キャッシュをオブジェクト数で指定
# cache-size 5000
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# # ZEO クライアントキャッシュをbyte数で指定
# cache-size 20MB
# # 永続ディスクキャッシュを使用するために以下のコメントを解除
# #client zeo1
# </zeoclient>
# </zodb_db>
9. Zope-2.8.2 ~ 2.8.5
Zope-2.8.2のetc/zope.confを和訳
Zope-2.8.1からの変更点
- default-zpublisher-encoding ディレクティブを追加
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
#
# 開発者向けの注意
# ===================
#
# このファイルは自動生成「されません」。もし新たなディレクティブを追加する
# のであれば、そのディレクティブの使用例もこのファイルに含めてください。
#
# 設定を変更するために'zope.conf.in'を修正しないでください。誤った修正を
# zope.conf.inファイルに記述する危険を冒すその代わりに、'zope.conf'と言う
# 名前のコピーを作成して変更を加えてください。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
%define ZOPE <<ZOPE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: off
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
# 注意: Zopeは最低一回はこのディレクティブがonの状態で起動されなくては
# いけません。そうしないと起動時にエラーが発生します。もしZEOを使う場合、
# 最低一つのZEOクライアントが一回はこのディレクティブをonの状態で起動し
# ないといけません。他のZEOクライアントはoffでもかまいません。
# 注意:もしメインストレージがread-onlyでマウントされているなら、この
# ディレクティブをoffにしなければいけません。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: rest-header-level
#
# 概要:
# reStructuredTextドキュメントのHTMLヘッダレベルの開始値を設定します。
# デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# rest-header-level 2
# ディレクティブ: rest-language-code
#
# 概要:
# docutilパッケージ内部の色々な変換や、DTDエレメントのマッピングに使用
# される言語コードを設定します。サポートされている言語コードについて、
# 詳しくは lib/python/docutils/languages/ を参照してください。
#
# デフォルト値: en
#
# 例:
#
# rest-language-code de
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: cgi-maxlen
#
# 概要:
# DoS攻撃を防止するために、Zopeが受け付けるフォームデータサイズの上限
# を設定します。
#
# デフォルト値: 0 (= 制限無し)
#
# 例:
#
# cgi-maxlen 10000
# ディレクティブ: http-header-max-length
#
# 概要:
# HTTPリクエストヘッダの上限(byte)を設定します。上限サイズを超えた
# リクエストはDoS攻撃とみなし、破棄されます。
#
# デフォルト値: 8192
#
# 例:
#
# http-header-max-length 16384
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用で
# す。"verbose-security"についても参照してください。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: verbose-security
#
# 概要:
# デフォルトでは、Zopeは認証に失敗した場合に、一般に不要な情報を隠蔽する
# ため簡潔な情報を出力します。この設定で、認証失敗時に多くの情報を出力
# するようにZopeのセキュリティーポリシーを変更します。これはデバッグ用途
# に提供されています。この設定を行う場合は'security-policy-implementation'
# を'python'に設定してください。
#
# デフォルト値: off
#
# 例:
#
# security-policy-implementation python
# verbose-security on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: session-resolution-seconds
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナの時間計測間隔(秒)
# を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-resolution-seconds 60
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: read-only-database
#
# 概要:
# このディレクティブはZopeのFileStorage型ZODBを読み込み専用で開きます。
#
# デフォルト値: off
#
# 例:
#
# read-only-database on
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブs: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level info
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <logfile>
# path $INSTANCE/log/trace.log
# format %(message)s
# </logfile>
# </logger>
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブs: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: large-file-threshold
#
# 概要:
# 設定したサイズ以上のリクエストはメモリではなく一時ファイルに保存し
# ます。
#
# デフォルト値: 512K
#
# 例:
#
# large-file-threshold 1Mb
# ディレクティブ: default-zpublisher-encoding
#
# 概要:
# このコントロールで、ZPublisherがUnicodeをエンコードする方法を設定し
# ます。
#
# 訳注:
# オリジナルのzope.confでは default_zpublisher_encoding ですが、正し
# くはdefault-zpublisher-encodingです。
#
# デフォルト値: iso-8859-15
#
# 例:
#
# default-zpublisher-encoding utf-8
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の7つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, and icp-server. もし、どのサーバーも定義
# されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は'address'ディレクティブで行われ、最も簡単な
# 記述はポート番号を 80 等と記述し、複雑な記述としてはホスト名込みで
# 127.0.0.1:80 等と記述します。ホスト名が省略された場合は、デフォルト
# のIPアドレスがホスト名に使用されます。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
#
# monitor-serverを起動するためには、緊急ユーザーが定義されていなければ
# いけません(accessファイルとして)。
#
# デフォルト値:
#
# HTTPサーバーが8080で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
</http-server>
# 例:
#
# <ftp-server>
# # 有効なキーは"address"です
# address 8021
# </ftp-server>
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 8099
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# mount-point /
# # ZODB キャッシュをオブジェクト数で指定
# cache-size 5000
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# # ZEO クライアントキャッシュをbyte数で指定
# cache-size 20MB
# # 永続ディスクキャッシュを使用するために以下のコメントを解除
# #client zeo1
# </zeoclient>
# </zodb_db>
10. Zope-2.8.6~2.8.11
Zope-2.8.6~2.8.11のetc/zope.confを和訳
Zope-2.8.5からの変更点
- default-zpublisher-encoding ディレクティブの綴りを訂正
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
#
# 開発者向けの注意
# ===================
#
# このファイルは自動生成「されません」。もし新たなディレクティブを追加する
# のであれば、そのディレクティブの使用例もこのファイルに含めてください。
#
# 設定を変更するために'zope.conf.in'を修正しないでください。誤った修正を
# zope.conf.inファイルに記述する危険を冒すその代わりに、'zope.conf'と言う
# 名前のコピーを作成して変更を加えてください。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
%define ZOPE <<ZOPE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: off
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
# 注意: Zopeは最低一回はこのディレクティブがonの状態で起動されなくては
# いけません。そうしないと起動時にエラーが発生します。もしZEOを使う場合、
# 最低一つのZEOクライアントが一回はこのディレクティブをonの状態で起動し
# ないといけません。他のZEOクライアントはoffでもかまいません。
# 注意:もしメインストレージがread-onlyでマウントされているなら、この
# ディレクティブをoffにしなければいけません。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: rest-header-level
#
# 概要:
# reStructuredTextドキュメントのHTMLヘッダレベルの開始値を設定します。
# デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# rest-header-level 2
# ディレクティブ: rest-language-code
#
# 概要:
# docutilパッケージ内部の色々な変換や、DTDエレメントのマッピングに使用
# される言語コードを設定します。サポートされている言語コードについて、
# 詳しくは lib/python/docutils/languages/ を参照してください。
#
# デフォルト値: en
#
# 例:
#
# rest-language-code de
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: cgi-maxlen
#
# 概要:
# DoS攻撃を防止するために、Zopeが受け付けるフォームデータサイズの上限
# を設定します。
#
# デフォルト値: 0 (= 制限無し)
#
# 例:
#
# cgi-maxlen 10000
# ディレクティブ: http-header-max-length
#
# 概要:
# HTTPリクエストヘッダの上限(byte)を設定します。上限サイズを超えた
# リクエストはDoS攻撃とみなし、破棄されます。
#
# デフォルト値: 8192
#
# 例:
#
# http-header-max-length 16384
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用で
# す。"verbose-security"についても参照してください。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: verbose-security
#
# 概要:
# デフォルトでは、Zopeは認証に失敗した場合に、一般に不要な情報を隠蔽する
# ため簡潔な情報を出力します。この設定で、認証失敗時に多くの情報を出力
# するようにZopeのセキュリティーポリシーを変更します。これはデバッグ用途
# に提供されています。この設定を行う場合は'security-policy-implementation'
# を'python'に設定してください。
#
# デフォルト値: off
#
# 例:
#
# security-policy-implementation python
# verbose-security on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: session-resolution-seconds
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナの時間計測間隔(秒)
# を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-resolution-seconds 60
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: read-only-database
#
# 概要:
# このディレクティブはZopeのFileStorage型ZODBを読み込み専用で開きます。
#
# デフォルト値: off
#
# 例:
#
# read-only-database on
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブs: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level info
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <logfile>
# path $INSTANCE/log/trace.log
# format %(message)s
# </logfile>
# </logger>
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブs: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: large-file-threshold
#
# 概要:
# 設定したサイズ以上のリクエストはメモリではなく一時ファイルに保存し
# ます。
#
# デフォルト値: 512K
#
# 例:
#
# large-file-threshold 1Mb
# ディレクティブ: default-zpublisher-encoding
#
# 概要:
# このコントロールで、ZPublisherがUnicodeをエンコードする方法を設定し
# ます。
#
# デフォルト値: iso-8859-15
#
# 例:
#
# default-zpublisher-encoding utf-8
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の7つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, and icp-server. もし、どのサーバーも定義
# されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は'address'ディレクティブで行われ、最も簡単な
# 記述はポート番号を 80 等と記述し、複雑な記述としてはホスト名込みで
# 127.0.0.1:80 等と記述します。ホスト名が省略された場合は、デフォルト
# のIPアドレスがホスト名に使用されます。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
#
# monitor-serverを起動するためには、緊急ユーザーが定義されていなければ
# いけません(accessファイルとして)。
#
# デフォルト値:
#
# HTTPサーバーが8080で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
</http-server>
# 例:
#
# <ftp-server>
# # 有効なキーは"address"です
# address 8021
# </ftp-server>
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 8099
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# mount-point /
# # ZODB キャッシュをオブジェクト数で指定
# cache-size 5000
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# # ZEO クライアントキャッシュをbyte数で指定
# cache-size 20MB
# # 永続ディスクキャッシュを使用するために以下のコメントを解除
# #client zeo1
# </zeoclient>
# </zodb_db>
11. Zope-2.9.0
Zope-2.9.0のetc/zope.confを和訳
Zope-2.8.5からの変更点
- conflict-error-log-level ディレクティブを追加
- プロダクト設定セクションを追加
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
#
# 開発者向けの注意
# ===================
#
# このファイルは自動生成「されません」。もし新たなディレクティブを追加する
# のであれば、そのディレクティブの使用例もこのファイルに含めてください。
#
# 設定を変更するために'zope.conf.in'を修正しないでください。誤った修正を
# zope.conf.inファイルに記述する危険を冒すその代わりに、'zope.conf'と言う
# 名前のコピーを作成して変更を加えてください。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
%define ZOPE <<ZOPE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: off
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
# 注意: Zopeは最低一回はこのディレクティブがonの状態で起動されなくては
# いけません。そうしないと起動時にエラーが発生します。もしZEOを使う場合、
# 最低一つのZEOクライアントが一回はこのディレクティブをonの状態で起動し
# ないといけません。他のZEOクライアントはoffでもかまいません。
# 注意:もしメインストレージがread-onlyでマウントされているなら、この
# ディレクティブをoffにしなければいけません。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: rest-header-level
#
# 概要:
# reStructuredTextドキュメントのHTMLヘッダレベルの開始値を設定します。
# デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# rest-header-level 2
# ディレクティブ: rest-language-code
#
# 概要:
# docutilパッケージ内部の色々な変換や、DTDエレメントのマッピングに使用
# される言語コードを設定します。サポートされている言語コードについて、
# 詳しくは lib/python/docutils/languages/ を参照してください。
#
# デフォルト値: en
#
# 例:
#
# rest-language-code de
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: cgi-maxlen
#
# 概要:
# DoS攻撃を防止するために、Zopeが受け付けるフォームデータサイズの上限
# を設定します。
#
# デフォルト値: 0 (= 制限無し)
#
# 例:
#
# cgi-maxlen 10000
# ディレクティブ: http-header-max-length
#
# 概要:
# HTTPリクエストヘッダの上限(byte)を設定します。上限サイズを超えた
# リクエストはDoS攻撃とみなし、破棄されます。
#
# デフォルト値: 8192
#
# 例:
#
# http-header-max-length 16384
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用で
# す。"verbose-security"についても参照してください。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: verbose-security
#
# 概要:
# デフォルトでは、Zopeは認証に失敗した場合に、一般に不要な情報を隠蔽する
# ため簡潔な情報を出力します。この設定で、認証失敗時に多くの情報を出力
# するようにZopeのセキュリティーポリシーを変更します。これはデバッグ用途
# に提供されています。この設定を行う場合は'security-policy-implementation'
# を'python'に設定してください。
#
# デフォルト値: off
#
# 例:
#
# security-policy-implementation python
# verbose-security on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: session-resolution-seconds
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナの時間計測間隔(秒)
# を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-resolution-seconds 60
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: read-only-database
#
# 概要:
# このディレクティブはZopeのFileStorage型ZODBを読み込み専用で開きます。
#
# デフォルト値: off
#
# 例:
#
# read-only-database on
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブs: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level info
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <logfile>
# path $INSTANCE/log/trace.log
# format %(message)s
# </logfile>
# </logger>
# ディレクティブ: conflict-error-log-level
#
# 概要:
# コンフリクトエラーのログレベルを定義します。ごく少数発生する
# コンフリクトエラーは、Zopeの楽観的競合解決アルゴリズムにより時々発生
# します。それらは自動的に数回再試行されるため、普通はユーザーからは
# 関知されません。これをログに記録したくない場合は'notset'を設定して
# ください。あるいは要望に応じて他のレベルを設定してもかまいません。
#
# デフォルト値: info
#
# 例:
#
# conflict-error-log-level blather
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブs: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: large-file-threshold
#
# 概要:
# 設定したサイズ以上のリクエストはメモリではなく一時ファイルに保存し
# ます。
#
# デフォルト値: 512K
#
# 例:
#
# large-file-threshold 1Mb
# ディレクティブ: default-zpublisher-encoding
#
# 概要:
# このコントロールで、ZPublisherがUnicodeをエンコードする方法を設定し
# ます。
#
# 訳注:
# オリジナルのzope.confでは default_zpublisher_encoding ですが、正し
# くはdefault-zpublisher-encodingです。
#
# デフォルト値: iso-8859-15
#
# 例:
#
# default-zpublisher-encoding utf-8
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の7つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, and icp-server. もし、どのサーバーも定義
# されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は'address'ディレクティブで行われ、最も簡単な
# 記述はポート番号を 80 等と記述し、複雑な記述としてはホスト名込みで
# 127.0.0.1:80 等と記述します。ホスト名が省略された場合は、デフォルト
# のIPアドレスがホスト名に使用されます。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
#
# monitor-serverを起動するためには、緊急ユーザーが定義されていなければ
# いけません(accessファイルとして)。
#
# デフォルト値:
#
# HTTPサーバーが8080で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
</http-server>
# 例:
#
# <ftp-server>
# # 有効なキーは"address"です
# address 8021
# </ftp-server>
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 8099
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# mount-point /
# # ZODB キャッシュをオブジェクト数で指定
# cache-size 5000
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# # ZEO クライアントキャッシュをbyte数で指定
# cache-size 20MB
# # 永続ディスクキャッシュを使用するために以下のコメントを解除
# #client zeo1
# </zeoclient>
# </zodb_db>
# プロダクト設定(product-config) セクション
#
# 概要:
# アドオンプロダクトについてポリシー設定を行うことが出来ます。それらの
# ポリシーは名前と値のペアで表現され、名前付きセクションでグループ化で
# きます(1プロダクト1セクションが典型的ですが複数あってもかまいません)。
# これらのセクションは最上位のconfigオブジェクトの'product_config'
# アトリビュートに、セクション名に対応するキーで保存されます。例えば、
# 以下のサンプルセクションは {'bar': 'baz'} という辞書に分解され、
# config.product_config['foo'] としてアクセスできます。
#
# 各プロダクトは独自のセクションタイプを拡張して登録することが出来ます。
#
# 例:
#
# 1. 簡単な文字列を格納するセクション:
#
# <product-config foo>
# bar baz
# </product-config>
#
# 2. カスタムセクションタイプ
#
# Products/Foo/component.xml に以下を記述:
#
# <component>
# <description>
# Some product-specific hackery.
# </description>
# <sectiontype name="myproduct" implements="zope.product.base">
# <description>
# Product-specific configuration.
# </description>
# <key name="foo" />
# </sectiontype>
# </component>
#
# zope.confでは以下のように利用:
#
# %import Products.Foo
#
# <myproduct bar>
# foo qux
# </myproduct>
12. Zope-2.9.1~2.9.10
Zope-2.9.1~2.9.10のetc/zope.confを和訳
Zope-2.9.0からの変更点
- default-zpublisher-encoding の綴りを訂正
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
#
# 開発者向けの注意
# ===================
#
# このファイルは自動生成「されません」。もし新たなディレクティブを追加する
# のであれば、そのディレクティブの使用例もこのファイルに含めてください。
#
# 設定を変更するために'zope.conf.in'を修正しないでください。誤った修正を
# zope.conf.inファイルに記述する危険を冒すその代わりに、'zope.conf'と言う
# 名前のコピーを作成して変更を加えてください。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
%define ZOPE <<ZOPE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: off
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
# 注意: Zopeは最低一回はこのディレクティブがonの状態で起動されなくては
# いけません。そうしないと起動時にエラーが発生します。もしZEOを使う場合、
# 最低一つのZEOクライアントが一回はこのディレクティブをonの状態で起動し
# ないといけません。他のZEOクライアントはoffでもかまいません。
# 注意:もしメインストレージがread-onlyでマウントされているなら、この
# ディレクティブをoffにしなければいけません。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: rest-header-level
#
# 概要:
# reStructuredTextドキュメントのHTMLヘッダレベルの開始値を設定します。
# デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# rest-header-level 2
# ディレクティブ: rest-language-code
#
# 概要:
# docutilパッケージ内部の色々な変換や、DTDエレメントのマッピングに使用
# される言語コードを設定します。サポートされている言語コードについて、
# 詳しくは lib/python/docutils/languages/ を参照してください。
#
# デフォルト値: en
#
# 例:
#
# rest-language-code de
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: cgi-maxlen
#
# 概要:
# DoS攻撃を防止するために、Zopeが受け付けるフォームデータサイズの上限
# を設定します。
#
# デフォルト値: 0 (= 制限無し)
#
# 例:
#
# cgi-maxlen 10000
# ディレクティブ: http-header-max-length
#
# 概要:
# HTTPリクエストヘッダの上限(byte)を設定します。上限サイズを超えた
# リクエストはDoS攻撃とみなし、破棄されます。
#
# デフォルト値: 8192
#
# 例:
#
# http-header-max-length 16384
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用で
# す。"verbose-security"についても参照してください。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: verbose-security
#
# 概要:
# デフォルトでは、Zopeは認証に失敗した場合に、一般に不要な情報を隠蔽する
# ため簡潔な情報を出力します。この設定で、認証失敗時に多くの情報を出力
# するようにZopeのセキュリティーポリシーを変更します。これはデバッグ用途
# に提供されています。この設定を行う場合は'security-policy-implementation'
# を'python'に設定してください。
#
# デフォルト値: off
#
# 例:
#
# security-policy-implementation python
# verbose-security on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: session-resolution-seconds
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナの時間計測間隔(秒)
# を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-resolution-seconds 60
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: read-only-database
#
# 概要:
# このディレクティブはZopeのFileStorage型ZODBを読み込み専用で開きます。
#
# デフォルト値: off
#
# 例:
#
# read-only-database on
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブs: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level info
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <logfile>
# path $INSTANCE/log/trace.log
# format %(message)s
# </logfile>
# </logger>
# ディレクティブ: conflict-error-log-level
#
# 概要:
# コンフリクトエラーのログレベルを定義します。ごく少数発生する
# コンフリクトエラーは、Zopeの楽観的競合解決アルゴリズムにより時々発生
# します。それらは自動的に数回再試行されるため、普通はユーザーからは
# 関知されません。これをログに記録したくない場合は'notset'を設定して
# ください。あるいは要望に応じて他のレベルを設定してもかまいません。
#
# デフォルト値: info
#
# 例:
#
# conflict-error-log-level blather
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブs: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: large-file-threshold
#
# 概要:
# 設定したサイズ以上のリクエストはメモリではなく一時ファイルに保存し
# ます。
#
# デフォルト値: 512K
#
# 例:
#
# large-file-threshold 1Mb
# ディレクティブ: default-zpublisher-encoding
#
# 概要:
# このコントロールで、ZPublisherがUnicodeをエンコードする方法を設定し
# ます。
#
# デフォルト値: iso-8859-15
#
# 例:
#
# default-zpublisher-encoding utf-8
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の7つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, and icp-server. もし、どのサーバーも定義
# されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は'address'ディレクティブで行われ、最も簡単な
# 記述はポート番号を 80 等と記述し、複雑な記述としてはホスト名込みで
# 127.0.0.1:80 等と記述します。ホスト名が省略された場合は、デフォルト
# のIPアドレスがホスト名に使用されます。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
#
# monitor-serverを起動するためには、緊急ユーザーが定義されていなければ
# いけません(accessファイルとして)。
#
# デフォルト値:
#
# HTTPサーバーが8080で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
</http-server>
# 例:
#
# <ftp-server>
# # 有効なキーは"address"です
# address 8021
# </ftp-server>
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 8099
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# mount-point /
# # ZODB キャッシュをオブジェクト数で指定
# cache-size 5000
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# # ZEO クライアントキャッシュをbyte数で指定
# cache-size 20MB
# # 永続ディスクキャッシュを使用するために以下のコメントを解除
# #client zeo1
# </zeoclient>
# </zodb_db>
# プロダクト設定(product-config) セクション
#
# 概要:
# アドオンプロダクトについてポリシー設定を行うことが出来ます。それらの
# ポリシーは名前と値のペアで表現され、名前付きセクションでグループ化で
# きます(1プロダクト1セクションが典型的ですが複数あってもかまいません)。
# これらのセクションは最上位のconfigオブジェクトの'product_config'
# アトリビュートに、セクション名に対応するキーで保存されます。例えば、
# 以下のサンプルセクションは {'bar': 'baz'} という辞書に分解され、
# config.product_config['foo'] としてアクセスできます。
#
# 各プロダクトは独自のセクションタイプを拡張して登録することが出来ます。
#
# 例:
#
# 1. 簡単な文字列を格納するセクション:
#
# <product-config foo>
# bar baz
# </product-config>
#
# 2. カスタムセクションタイプ
#
# Products/Foo/component.xml に以下を記述:
#
# <component>
# <description>
# Some product-specific hackery.
# </description>
# <sectiontype name="myproduct" implements="zope.product.base">
# <description>
# Product-specific configuration.
# </description>
# <key name="foo" />
# </sectiontype>
# </component>
#
# zope.confでは以下のように利用:
#
# %import Products.Foo
#
# <myproduct bar>
# foo qux
# </myproduct>
13. Zope-2.10.0~2.10.3
Zope-2.10.0~2.10.3のetc/zope.confを和訳
Zope-2.9.5からの変更点
- http-server ディレクティブに use-wsgi オプションを追加
- clock-server ディレクティブを追加
- server ディレクティブを追加
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
#
# 開発者向けの注意
# ===================
#
# このファイルは自動生成「されません」。もし新たなディレクティブを追加する
# のであれば、そのディレクティブの使用例もこのファイルに含めてください。
#
# 設定を変更するために'zope.conf.in'を修正しないでください。誤った修正を
# zope.conf.inファイルに記述する危険を冒すその代わりに、'zope.conf'と言う
# 名前のコピーを作成して変更を加えてください。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
%define ZOPE <<ZOPE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: off
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
# 注意: Zopeは最低一回はこのディレクティブがonの状態で起動されなくては
# いけません。そうしないと起動時にエラーが発生します。もしZEOを使う場合、
# 最低一つのZEOクライアントが一回はこのディレクティブをonの状態で起動し
# ないといけません。他のZEOクライアントはoffでもかまいません。
# 注意:もしメインストレージがread-onlyでマウントされているなら、この
# ディレクティブをoffにしなければいけません。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: rest-header-level
#
# 概要:
# reStructuredTextドキュメントのHTMLヘッダレベルの開始値を設定します。
# デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# rest-header-level 2
# ディレクティブ: rest-language-code
#
# 概要:
# docutilパッケージ内部の色々な変換や、DTDエレメントのマッピングに使用
# される言語コードを設定します。サポートされている言語コードについて、
# 詳しくは lib/python/docutils/languages/ を参照してください。
#
# デフォルト値: en
#
# 例:
#
# rest-language-code de
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: cgi-maxlen
#
# 概要:
# DoS攻撃を防止するために、Zopeが受け付けるフォームデータサイズの上限
# を設定します。
#
# デフォルト値: 0 (= 制限無し)
#
# 例:
#
# cgi-maxlen 10000
# ディレクティブ: http-header-max-length
#
# 概要:
# HTTPリクエストヘッダの上限(byte)を設定します。上限サイズを超えた
# リクエストはDoS攻撃とみなし、破棄されます。
#
# デフォルト値: 8192
#
# 例:
#
# http-header-max-length 16384
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用で
# す。"verbose-security"についても参照してください。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: verbose-security
#
# 概要:
# デフォルトでは、Zopeは認証に失敗した場合に、一般に不要な情報を隠蔽する
# ため簡潔な情報を出力します。この設定で、認証失敗時に多くの情報を出力
# するようにZopeのセキュリティーポリシーを変更します。これはデバッグ用途
# に提供されています。この設定を行う場合は'security-policy-implementation'
# を'python'に設定してください。
#
# デフォルト値: off
#
# 例:
#
# security-policy-implementation python
# verbose-security on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: session-resolution-seconds
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナの時間計測間隔(秒)
# を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-resolution-seconds 60
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: read-only-database
#
# 概要:
# このディレクティブはZopeのFileStorage型ZODBを読み込み専用で開きます。
#
# デフォルト値: off
#
# 例:
#
# read-only-database on
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブ: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level info
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <logfile>
# path $INSTANCE/log/trace.log
# format %(message)s
# </logfile>
# </logger>
# ディレクティブ: conflict-error-log-level
#
# 概要:
# コンフリクトエラーのログレベルを定義します。ごく少数発生する
# コンフリクトエラーは、Zopeの楽観的競合解決アルゴリズムにより時々発生
# します。それらは自動的に数回再試行されるため、普通はユーザーからは
# 関知されません。これをログに記録したくない場合は'notset'を設定して
# ください。あるいは要望に応じて他のレベルを設定してもかまいません。
#
# デフォルト値: info
#
# 例:
#
# conflict-error-log-level blather
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブ: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: large-file-threshold
#
# 概要:
# 設定したサイズ以上のリクエストはメモリではなく一時ファイルに保存し
# ます。
#
# デフォルト値: 512K
#
# 例:
#
# large-file-threshold 1Mb
# ディレクティブ: default-zpublisher-encoding
#
# 概要:
# このコントロールで、ZPublisherがUnicodeをエンコードする方法を設定し
# ます。
#
# デフォルト値: iso-8859-15
#
# 例:
#
# default-zpublisher-encoding utf-8
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の8つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, icp-server, clock-server. もし、どのサーバー
# も定義されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は'address'ディレクティブで行われ、最も簡単な
# 記述はポート番号を 80 等と記述し、複雑な記述としてはホスト名込みで
# 127.0.0.1:80 等と記述します。ホスト名が省略された場合は、デフォルト
# のIPアドレスがホスト名に使用されます。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
#
# monitor-serverを起動するためには、緊急ユーザーが定義されていなければ
# いけません(accessファイルとして)。
#
# デフォルト値:
#
# HTTPサーバーが8080で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
# ZServerとZPublisherの間でWSGIインターフェースをを使うことも出来ます:
# use-wsgi on
</http-server>
# 例:
#
# <ftp-server>
# # 有効なキーは"address"です
# address 8021
# </ftp-server>
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 8099
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
#
# <clock-server>
# # /foo/barという名前で30秒間隔のclockを起動します
# method /foo/bar
# period 30
# user admin
# password 123
# </clock-server>
#
# <server>
# # これはTwistedをWebサーバーとして使用します。別途Twistedのインストール
# # が必要です。TwistedとZServerを同時に動かすことは出来ません。
# address 8080
# type Zope2-HTTP
# </server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# mount-point /
# # ZODB キャッシュをオブジェクト数で指定
# cache-size 5000
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# # ZEO クライアントキャッシュをbyte数で指定
# cache-size 20MB
# # 永続ディスクキャッシュを使用するために以下のコメントを解除
# #client zeo1
# </zeoclient>
# </zodb_db>
# プロダクト設定(product-config) セクション
#
# 概要:
# アドオンプロダクトについてポリシー設定を行うことが出来ます。それらの
# ポリシーは名前と値のペアで表現され、名前付きセクションでグループ化で
# きます(1プロダクト1セクションが典型的ですが複数あってもかまいません)。
# これらのセクションは最上位のconfigオブジェクトの'product_config'
# アトリビュートに、セクション名に対応するキーで保存されます。例えば、
# 以下のサンプルセクションは {'bar': 'baz'} という辞書に分解され、
# config.product_config['foo'] としてアクセスできます。
#
# 各プロダクトは独自のセクションタイプを拡張して登録することが出来ます。
#
# 例:
#
# 1. 簡単な文字列を格納するセクション:
#
# <product-config foo>
# bar baz
# </product-config>
#
# 2. カスタムセクションタイプ
#
# Products/Foo/component.xml に以下を記述:
#
# <component>
# <description>
# Some product-specific hackery.
# </description>
# <sectiontype name="myproduct" implements="zope.product.base">
# <description>
# Product-specific configuration.
# </description>
# <key name="foo" />
# </sectiontype>
# </component>
#
# zope.confでは以下のように利用:
#
# %import Products.Foo
#
# <myproduct bar>
# foo qux
# </myproduct>
14. Zope-2.10.4~2.10.11
Zope-2.10.4~2.10.11のetc/zope.confを和訳
Zope-2.10.3からの変更点
- enable-ms-author-via ディレクティブを追加
- enable-ms-public-header ディレクティブを追加
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
#
# 開発者向けの注意
# ===================
#
# このファイルは自動生成「されません」。もし新たなディレクティブを追加する
# のであれば、そのディレクティブの使用例もこのファイルに含めてください。
#
# 設定を変更するために'zope.conf.in'を修正しないでください。誤った修正を
# zope.conf.inファイルに記述する危険を冒すその代わりに、'zope.conf'と言う
# 名前のコピーを作成して変更を加えてください。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
%define ZOPE <<ZOPE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: off
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
# 注意: Zopeは最低一回はこのディレクティブがonの状態で起動されなくては
# いけません。そうしないと起動時にエラーが発生します。もしZEOを使う場合、
# 最低一つのZEOクライアントが一回はこのディレクティブをonの状態で起動し
# ないといけません。他のZEOクライアントはoffでもかまいません。
# 注意:もしメインストレージがread-onlyでマウントされているなら、この
# ディレクティブをoffにしなければいけません。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: rest-header-level
#
# 概要:
# reStructuredTextドキュメントのHTMLヘッダレベルの開始値を設定します。
# デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# rest-header-level 2
# ディレクティブ: rest-language-code
#
# 概要:
# docutilパッケージ内部の色々な変換や、DTDエレメントのマッピングに使用
# される言語コードを設定します。サポートされている言語コードについて、
# 詳しくは lib/python/docutils/languages/ を参照してください。
#
# デフォルト値: en
#
# 例:
#
# rest-language-code de
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: cgi-maxlen
#
# 概要:
# DoS攻撃を防止するために、Zopeが受け付けるフォームデータサイズの上限
# を設定します。
#
# デフォルト値: 0 (= 制限無し)
#
# 例:
#
# cgi-maxlen 10000
# ディレクティブ: http-header-max-length
#
# 概要:
# HTTPリクエストヘッダの上限(byte)を設定します。上限サイズを超えた
# リクエストはDoS攻撃とみなし、破棄されます。
#
# デフォルト値: 8192
#
# 例:
#
# http-header-max-length 16384
# ディレクティブ: enable-ms-author-via
#
# 概要:
# このディレクティブを'true'に設定すると、OPTIONS WebDAVリクエスト
# へのレスポンスで"MS-Author-Via"ヘッダーが送信されます。初期の
# Microsoft Web Folder や Microsoft Office がWebDAV経由でZopeに接続
# 出来るようにするためには、このヘッダーが必要です。
#
# このディレクティブはデフォルトでは無効になっています: この設定は
# 多くの標準的なWebDAV実装にとって良いことが無いし、もしユーザーが
# そのファイルを編集することを許可されていなくて、ダウンロードして
# いるだけであっても、Microsoft OfficeはWebDAV経由でZopeに格納され
# たOfficeファイルを編集しているかのように見せかけるためです。
#
# これについて詳しくは以下のcollectorのエントリを参照してください:
# http://www.zope.org/Collectors/Zope/1441
#
# 2005年1月以降に更新された最近のバージョンの Microsoft Web Folder
# は、このヘッダーを必要とはしておらず、その代わりに"Public"ヘッダ
# ーがOPTIONS WebDAVリクエストの応答に含まれている必要があります。
# (http://www.redmountainsw.com/wordpress/archives/webfolders-zope)
#
# 最近のMicrosoft Web Folder実装を入手するには、Microsoft KB の記事
# 907306を参照してください。
# (Software Update for Web Folders: May 18, 2007).
#
# デフォルト: off
#
# 例:
#
# enable-ms-author-via on
# ディレクティブ: enable-ms-public-header
#
# 概要:
# このディレクティブを'true'に設定すると、OPTIONS WebDAVリクエスト
# へのレスポンスで"Public"ヘッダーが送信されます。
#
# 最近のWebDAVの草案ではこのヘッダーについて言及していますが、オリ
# ジナルのWebDAV RFCでは規格の一部として言及していません。ごく少数
# のWebサーバー(IISとNetscape Enterprise 3.6 など)がこのヘッダーを
# 応答に含めています。
#
# 多くの良い手法が書かれている"Mask Your Web Server For Enhanced
# Security"というタイトルのドキュメントでは、このヘッダーは出力し
# ないことを勧めていることもあり、デフォルトではoffです。悪意ある
# 人々はこのヘッダーがあるかどうかでIIS Web Serverかどうかを判別し、
# あなたのサイトにアタックしようとするかもしれません。このため、
# 設定をonにする場合は十分注意してください。
#
# 2005年1月以降に更新された最近のバージョンの Microsoft Web Folder
# は、このヘッダーがOPTIONS WebDAVリクエストの応答に含まれている
# ことを *必要* としています。
# (http://www.redmountainsw.com/wordpress/archives/webfolders-zope)
#
# 最近のMicrosoft Web Folder実装を入手するには、Microsoft KB の記事
# 907306を参照してください。
# (Software Update for Web Folders: May 18, 2007).
#
# デフォルト: off
#
# 例:
#
# enable-ms-public-header on
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用で
# す。"verbose-security"についても参照してください。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: verbose-security
#
# 概要:
# デフォルトでは、Zopeは認証に失敗した場合に、一般に不要な情報を隠蔽する
# ため簡潔な情報を出力します。この設定で、認証失敗時に多くの情報を出力
# するようにZopeのセキュリティーポリシーを変更します。これはデバッグ用途
# に提供されています。この設定を行う場合は'security-policy-implementation'
# を'python'に設定してください。
#
# デフォルト値: off
#
# 例:
#
# security-policy-implementation python
# verbose-security on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: session-resolution-seconds
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナの時間計測間隔(秒)
# を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-resolution-seconds 60
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: read-only-database
#
# 概要:
# このディレクティブはZopeのFileStorage型ZODBを読み込み専用で開きます。
#
# デフォルト値: off
#
# 例:
#
# read-only-database on
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブ: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level info
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <logfile>
# path $INSTANCE/log/trace.log
# format %(message)s
# </logfile>
# </logger>
# ディレクティブ: conflict-error-log-level
#
# 概要:
# コンフリクトエラーのログレベルを定義します。ごく少数発生する
# コンフリクトエラーは、Zopeの楽観的競合解決アルゴリズムにより時々発生
# します。それらは自動的に数回再試行されるため、普通はユーザーからは
# 関知されません。これをログに記録したくない場合は'notset'を設定して
# ください。あるいは要望に応じて他のレベルを設定してもかまいません。
#
# デフォルト値: info
#
# 例:
#
# conflict-error-log-level blather
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブ: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: large-file-threshold
#
# 概要:
# 設定したサイズ以上のリクエストはメモリではなく一時ファイルに保存し
# ます。
#
# デフォルト値: 512K
#
# 例:
#
# large-file-threshold 1Mb
# ディレクティブ: default-zpublisher-encoding
#
# 概要:
# このコントロールで、ZPublisherがUnicodeをエンコードする方法を設定し
# ます。
#
# デフォルト値: iso-8859-15
#
# 例:
#
# default-zpublisher-encoding utf-8
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の8つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, icp-server, clock-server. もし、どのサーバー
# も定義されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は'address'ディレクティブで行われ、最も簡単な
# 記述はポート番号を 80 等と記述し、複雑な記述としてはホスト名込みで
# 127.0.0.1:80 等と記述します。ホスト名が省略された場合は、デフォルト
# のIPアドレスがホスト名に使用されます。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
#
# monitor-serverを起動するためには、緊急ユーザーが定義されていなければ
# いけません(accessファイルとして)。
#
# デフォルト値:
#
# HTTPサーバーが8080で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
# ZServerとZPublisherの間でWSGIインターフェースをを使うことも出来ます:
# use-wsgi on
</http-server>
# 例:
#
# <ftp-server>
# # 有効なキーは"address"です
# address 8021
# </ftp-server>
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 8099
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
#
# <clock-server>
# # /foo/barという名前で30秒間隔のclockを起動します
# method /foo/bar
# period 30
# user admin
# password 123
# </clock-server>
#
# <server>
# # これはTwistedをWebサーバーとして使用します。別途Twistedのインストール
# # が必要です。TwistedとZServerを同時に動かすことは出来ません。
# address 8080
# type Zope2-HTTP
# </server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# mount-point /
# # ZODB キャッシュをオブジェクト数で指定
# cache-size 5000
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# # ZEO クライアントキャッシュをbyte数で指定
# cache-size 20MB
# # 永続ディスクキャッシュを使用するために以下のコメントを解除
# #client zeo1
# </zeoclient>
# </zodb_db>
# プロダクト設定(product-config) セクション
#
# 概要:
# アドオンプロダクトについてポリシー設定を行うことが出来ます。それらの
# ポリシーは名前と値のペアで表現され、名前付きセクションでグループ化で
# きます(1プロダクト1セクションが典型的ですが複数あってもかまいません)。
# これらのセクションは最上位のconfigオブジェクトの'product_config'
# アトリビュートに、セクション名に対応するキーで保存されます。例えば、
# 以下のサンプルセクションは {'bar': 'baz'} という辞書に分解され、
# config.product_config['foo'] としてアクセスできます。
#
# 各プロダクトは独自のセクションタイプを拡張して登録することが出来ます。
#
# 例:
#
# 1. 簡単な文字列を格納するセクション:
#
# <product-config foo>
# bar baz
# </product-config>
#
# 2. カスタムセクションタイプ
#
# Products/Foo/component.xml に以下を記述:
#
# <component>
# <description>
# Some product-specific hackery.
# </description>
# <sectiontype name="myproduct" implements="zope.product.base">
# <description>
# Product-specific configuration.
# </description>
# <key name="foo" />
# </sectiontype>
# </component>
#
# zope.confでは以下のように利用:
#
# %import Products.Foo
#
# <myproduct bar>
# foo qux
# </myproduct>
15. Zope-2.11.0~2.11.6
Zope-2.11.0~2.11.6のetc/zope.confを和訳
Zope-2.10.6からの変更点
- http-server ディレクティブに fast-listen オプションを追加
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
#
# 開発者向けの注意
# ===================
#
# このファイルは自動生成「されません」。もし新たなディレクティブを追加する
# のであれば、そのディレクティブの使用例もこのファイルに含めてください。
#
# 設定を変更するために'zope.conf.in'を修正しないでください。誤った修正を
# zope.conf.inファイルに記述する危険を冒すその代わりに、'zope.conf'と言う
# 名前のコピーを作成して変更を加えてください。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
%define ZOPE <<ZOPE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: off
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
# 注意: Zopeは最低一回はこのディレクティブがonの状態で起動されなくては
# いけません。そうしないと起動時にエラーが発生します。もしZEOを使う場合、
# 最低一つのZEOクライアントが一回はこのディレクティブをonの状態で起動し
# ないといけません。他のZEOクライアントはoffでもかまいません。
# 注意:もしメインストレージがread-onlyでマウントされているなら、この
# ディレクティブをoffにしなければいけません。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: rest-header-level
#
# 概要:
# reStructuredTextドキュメントのHTMLヘッダレベルの開始値を設定します。
# デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# rest-header-level 2
# ディレクティブ: rest-language-code
#
# 概要:
# docutilパッケージ内部の色々な変換や、DTDエレメントのマッピングに使用
# される言語コードを設定します。サポートされている言語コードについて、
# 詳しくは lib/python/docutils/languages/ を参照してください。
#
# デフォルト値: en
#
# 例:
#
# rest-language-code de
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: cgi-maxlen
#
# 概要:
# DoS攻撃を防止するために、Zopeが受け付けるフォームデータサイズの上限
# を設定します。
#
# デフォルト値: 0 (= 制限無し)
#
# 例:
#
# cgi-maxlen 10000
# ディレクティブ: http-header-max-length
#
# 概要:
# HTTPリクエストヘッダの上限(byte)を設定します。上限サイズを超えた
# リクエストはDoS攻撃とみなし、破棄されます。
#
# デフォルト値: 8192
#
# 例:
#
# http-header-max-length 16384
# ディレクティブ: enable-ms-author-via
#
# 概要:
# このディレクティブを'true'に設定すると、OPTIONS WebDAVリクエスト
# へのレスポンスで"MS-Author-Via"ヘッダーが送信されます。初期の
# Microsoft Web Folder や Microsoft Office がWebDAV経由でZopeに接続
# 出来るようにするためには、このヘッダーが必要です。
#
# このディレクティブはデフォルトでは無効になっています: この設定は
# 多くの標準的なWebDAV実装にとって良いことが無いし、もしユーザーが
# そのファイルを編集することを許可されていなくて、ダウンロードして
# いるだけであっても、Microsoft OfficeはWebDAV経由でZopeに格納され
# たOfficeファイルを編集しているかのように見せかけるためです。
#
# これについて詳しくは以下のcollectorのエントリを参照してください:
# http://www.zope.org/Collectors/Zope/1441
#
# 2005年1月以降に更新された最近のバージョンの Microsoft Web Folder
# は、このヘッダーを必要とはしておらず、その代わりに"Public"ヘッダ
# ーがOPTIONS WebDAVリクエストの応答に含まれている必要があります。
# (http://www.redmountainsw.com/wordpress/archives/webfolders-zope)
#
# 最近のMicrosoft Web Folder実装を入手するには、Microsoft KB の記事
# 907306を参照してください。
# (Software Update for Web Folders: May 18, 2007).
#
# デフォルト: off
#
# 例:
#
# enable-ms-author-via on
# ディレクティブ: enable-ms-public-header
#
# 概要:
# このディレクティブを'true'に設定すると、OPTIONS WebDAVリクエスト
# へのレスポンスで"Public"ヘッダーが送信されます。
#
# 最近のWebDAVの草案ではこのヘッダーについて言及していますが、オリ
# ジナルのWebDAV RFCでは規格の一部として言及していません。ごく少数
# のWebサーバー(IISとNetscape Enterprise 3.6 など)がこのヘッダーを
# 応答に含めています。
#
# 多くの良い手法が書かれている"Mask Your Web Server For Enhanced
# Security"というタイトルのドキュメントでは、このヘッダーは出力し
# ないことを勧めていることもあり、デフォルトではoffです。悪意ある
# 人々はこのヘッダーがあるかどうかでIIS Web Serverかどうかを判別し、
# あなたのサイトにアタックしようとするかもしれません。このため、
# 設定をonにする場合は十分注意してください。
#
# 2005年1月以降に更新された最近のバージョンの Microsoft Web Folder
# は、このヘッダーがOPTIONS WebDAVリクエストの応答に含まれている
# ことを *必要* としています。
# (http://www.redmountainsw.com/wordpress/archives/webfolders-zope)
#
# 最近のMicrosoft Web Folder実装を入手するには、Microsoft KB の記事
# 907306を参照してください。
# (Software Update for Web Folders: May 18, 2007).
#
# デフォルト: off
#
# 例:
#
# enable-ms-public-header on
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用で
# す。"verbose-security"についても参照してください。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: verbose-security
#
# 概要:
# デフォルトでは、Zopeは認証に失敗した場合に、一般に不要な情報を隠蔽する
# ため簡潔な情報を出力します。この設定で、認証失敗時に多くの情報を出力
# するようにZopeのセキュリティーポリシーを変更します。これはデバッグ用途
# に提供されています。この設定を行う場合は'security-policy-implementation'
# を'python'に設定してください。
#
# デフォルト値: off
#
# 例:
#
# security-policy-implementation python
# verbose-security on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: session-resolution-seconds
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナの時間計測間隔(秒)
# を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-resolution-seconds 60
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: read-only-database
#
# 概要:
# このディレクティブはZopeのFileStorage型ZODBを読み込み専用で開きます。
#
# デフォルト値: off
#
# 例:
#
# read-only-database on
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブ: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level info
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <logfile>
# path $INSTANCE/log/trace.log
# format %(message)s
# </logfile>
# </logger>
# ディレクティブ: conflict-error-log-level
#
# 概要:
# コンフリクトエラーのログレベルを定義します。ごく少数発生する
# コンフリクトエラーは、Zopeの楽観的競合解決アルゴリズムにより時々発生
# します。それらは自動的に数回再試行されるため、普通はユーザーからは
# 関知されません。これをログに記録したくない場合は'notset'を設定して
# ください。あるいは要望に応じて他のレベルを設定してもかまいません。
#
# デフォルト値: info
#
# 例:
#
# conflict-error-log-level blather
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブ: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: large-file-threshold
#
# 概要:
# 設定したサイズ以上のリクエストはメモリではなく一時ファイルに保存し
# ます。
#
# デフォルト値: 512K
#
# 例:
#
# large-file-threshold 1Mb
# ディレクティブ: default-zpublisher-encoding
#
# 概要:
# このコントロールで、ZPublisherがUnicodeをエンコードする方法を設定し
# ます。
#
# デフォルト値: iso-8859-15
#
# 例:
#
# default-zpublisher-encoding utf-8
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の8つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, icp-server, clock-server. もし、どのサーバー
# も定義されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は'address'ディレクティブで行われ、最も簡単な
# 記述はポート番号を 80 等と記述し、複雑な記述としてはホスト名込みで
# 127.0.0.1:80 等と記述します。ホスト名が省略された場合は、デフォルト
# のIPアドレスがホスト名に使用されます。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
#
# monitor-serverを起動するためには、緊急ユーザーが定義されていなければ
# いけません(accessファイルとして)。
#
# デフォルト値:
#
# HTTPサーバーが8080で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
#
# ZServerとZPublisherの間でWSGIインターフェースをを使うことも出来ます:
# use-wsgi on
#
# HTTPソケットを開くのを起動の終了時まで遅延させます:
# fast-listen off
</http-server>
# 例:
#
# <ftp-server>
# # 有効なキーは"address"です
# address 8021
# </ftp-server>
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 8099
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
#
# <clock-server>
# # /foo/barという名前で30秒間隔のclockを起動します
# method /foo/bar
# period 30
# user admin
# password 123
# </clock-server>
#
# <server>
# # これはTwistedをWebサーバーとして使用します。別途Twistedのインストール
# # が必要です。TwistedとZServerを同時に動かすことは出来ません。
# address 8080
# type Zope2-HTTP
# </server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# mount-point /
# # ZODB キャッシュをオブジェクト数で指定
# cache-size 5000
# <zeoclient>
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# # ZEO クライアントキャッシュをbyte数で指定
# cache-size 20MB
# # 永続ディスクキャッシュを使用するために以下のコメントを解除
# #client zeo1
# </zeoclient>
# </zodb_db>
# プロダクト設定(product-config) セクション
#
# 概要:
# アドオンプロダクトについてポリシー設定を行うことが出来ます。それらの
# ポリシーは名前と値のペアで表現され、名前付きセクションでグループ化で
# きます(1プロダクト1セクションが典型的ですが複数あってもかまいません)。
# これらのセクションは最上位のconfigオブジェクトの'product_config'
# アトリビュートに、セクション名に対応するキーで保存されます。例えば、
# 以下のサンプルセクションは {'bar': 'baz'} という辞書に分解され、
# config.product_config['foo'] としてアクセスできます。
#
# 各プロダクトは独自のセクションタイプを拡張して登録することが出来ます。
#
# 例:
#
# 1. 簡単な文字列を格納するセクション:
#
# <product-config foo>
# bar baz
# </product-config>
#
# 2. カスタムセクションタイプ
#
# Products/Foo/component.xml に以下を記述:
#
# <component>
# <description>
# Some product-specific hackery.
# </description>
# <sectiontype name="myproduct" implements="zope.product.base">
# <description>
# Product-specific configuration.
# </description>
# <key name="foo" />
# </sectiontype>
# </component>
#
# zope.confでは以下のように利用:
#
# %import Products.Foo
#
# <myproduct bar>
# foo qux
# </myproduct>
16. Zope-2.12.0~2.12.3
Zope-2.12.0~2.12.3のetc/zope.confを和訳
Zope-2.12.0からの変更点
- read-only-database ディレクティブを削除(Zope2.6から効果が無かった)
- server ディレクティブ(Twisted support)を削除
- zodb_db ディレクティブ内のコメントを追加
###############################################################################
# Zope 2 へようこそ
###############################################################################
#
# これはZopeの設定ファイルです。Zope設定ファイルはデフォルトの設定
# ディレクティブと、各ディレクティブの使い方の例を示しています
# ディレクティブを宣言するには、'#'で始まらない行を追加してください。
# 注意点として、コメントをディレクティブ行の途中から書き始めることは
# 出来ません。行頭からのみ使用できます。
#
# 開発者向けの注意
# ===================
#
# このファイルは自動生成「されません」。もし新たなディレクティブを追加する
# のであれば、そのディレクティブの使用例もこのファイルに含めてください。
#
# 設定を変更するために'zope.conf.in'を修正しないでください。誤った修正を
# zope.conf.inファイルに記述する危険を冒すその代わりに、'zope.conf'と言う
# 名前のコピーを作成して変更を加えてください。
# ZConfig は define で定義された文字列を後で使用します。
%define INSTANCE <<INSTANCE_HOME>>
# ディレクティブ: instancehome
#
# 概要:
# Zopeから使用するデータファイル・ローカルプロダクトファイル・
# インポートディレクトリ・Extensionディレクトリへのパス。
#
# 省略不可 (デフォルト値はありません)
#
# 例:
#
# instancehome /home/chrism/projects/sessions
instancehome $INSTANCE
# ディレクティブ: clienthome
#
# 概要:
# ZopeのプロセスIDを格納するファイルを置くディレクトリ。
#
# デフォルト値: $INSTANCE/var
#
# 例:
#
# clienthome /home/chrism/projects/sessions/var
# ディレクティブ: path
#
# 概要:
# Pythonのモジュール検索パスの第一候補に設定されるディレクトリ名。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 定義されたディレクトリは定義された順にモジュール検索パスの先頭に
# 追加されます。このディレクティブが有効になるよりも前にモジュールパス
# の設定を利用する場合は注意が必要です。そのような場合には、環境変数
# PYTHONPATHに設定を追加する必要があります。
#
# デフォルト値: $INSTANCE/lib/python
#
# 例:
#
# path $INSTANCE/mypymodules
# ディレクティブ: products
#
# 概要:
# 追加のプロダクトパッケージを格納するディレクトリ名を設定します。
# このディレクティブは必要なだけ並べて定義することが出来ます。
# 各ディレクトリは定義された順にプロダクトパッケージの__path__に
# 追加されます。全てのプロダクトはプロダクト名のアルファベット順に
# 初期化されます。もし同じ名前のプロダクトが見つかった場合、この
# ディレクティブの定義順が先のディレクトリにあるパッケージがロード
# されます。最初にロードされるマスタープロダクトディレクトリが
# Zopeのソフトウェアホームにあり、これをプロダクトパスから除外する
# ことは出来ません。(そしてこのディレクティブで設定しないでください)
#
# デフォルト値: $INSTANCE/Products
#
# 例:
#
# products /home/chrism/projects/myproducts
# ディレクティブ: environment
#
# 概要:
# Zopeが起動している間利用できる環境変数として、Keyとvalueのペアを定義
# することが出来ます。ただし、これはPYTHONPATHのようなシステムに関連する
# 環境変数の代わりにはなりません。
#
# デフォルト値: 無し
#
# 例:
#
# <environment>
# MY_PRODUCT_ENVVAR foobar
# </environment>
# ディレクティブ: debug-mode
#
# 概要:
# Zopeを開発する上で有用な情報を表示するモードのon/offを切り替えます。
# デバッグモードがonの場合以下の効果があります:
#
# - プロセスがコントロールターミナルからdetachされません
#
# - プロダクトの初期化中にエラーが発生した場合、起動は失敗します
# (offの場合はイベントログファイルにエラーメッセージが書き込ま
# れ、起動します)。
#
# - ファイルシステムベースのスクリプト・スキン・PageTemplateファイル・
# DTMLファイルなどがサーバーのファイルシステム上で編集された場合、
# Zopeがそれを認識して、自動的に再読込します。デバッグモードがoff
# の場合は、サーバーのファイル更新を反映するために、再起動する必要
# があります。
#
# Zopeをリリース環境で利用する場合、この設定をoffにすることでZopeが
# (場合によってはかなり)高速に動作します。
#
# デフォルト値: off
#
# 例:
#
# debug-mode on
# ディレクティブ: effective-user
#
# 概要:
# もしZopeを "root" ユーザーで起動するつもりなら、このディレクティブに
# Zopeが 'suid' するべきユーザー名かユーザーIDを設定しなくてはいけません。
# Zopeはサーバーのポートが割り当てられた後で 'suid' します。
# このディレクティブはUNIX上でrootユーザーとしてZopeを起動した場合にのみ
# 機能します。
#
# デフォルト値: 無し
#
# 例:
#
# effective-user chrism
# ディレクティブ: enable-product-installation
#
# 概要:
# もしこのディレクティブがonならば、Zopeは起動時に
# 'プロダクトのインストール'(各プロダクトディレクトリにあるPython
# モジュールの登録)を行います。offにしたばあい、Zope/ZEOの起動を高速化
# することができますが、それはコントロールパネルのプロダクト一覧がプロ
# ダクトディレクトリの内容と同期しなくなることになります。
# 注意: Zopeは最低一回はこのディレクティブがonの状態で起動されなくては
# いけません。そうしないと起動時にエラーが発生します。もしZEOを使う場合、
# 最低一つのZEOクライアントが一回はこのディレクティブをonの状態で起動し
# ないといけません。他のZEOクライアントはoffでもかまいません。
# 注意:もしメインストレージがread-onlyでマウントされているなら、この
# ディレクティブをoffにしなければいけません。
#
# デフォルト値: on
#
# 例:
#
# enable-product-installation off
# ディレクティブ: locale
#
# 概要:
# locale名を設定してlocale(国際化)サポートを有効にします。OSのlocaleに
# 関するドキュメントを参照して、あなたのシステムで使用できるlocaleを確認
# してください。もし、使用しているPythonモジュールがlocaleモジュールを
# サポートしていない、あるいはここで設定したlocale名がシステムでサポート
# していない場合、Zopeの起動時にエラーが発生し、起動に失敗します。
#
# デフォルト値: 無し
#
# 例:
#
# locale ja
# locale ja_JP.UTF-8
# ディレクティブ: datetime-format
#
# 概要:
# "us"か"international"を設定することで、DateTimeモジュールがパースする
# 日付文字列を以下のように強制します。
# "us": 月-日-年
# "international": 日-月-年
# デフォルトでは"us"方式が使用されます。
#
# デフォルト値: us
#
# 例:
#
# datetime-format international
# ディレクティブ: zserver-threads
#
# 概要:
# ZopeのZServerがリクエストを待ち受けるスレッド数を設定します。
# デフォルト値は4です。
#
# デフォルト値: 4
#
# 例:
#
# zserver-threads 10
# ディレクティブ: python-check-interval
#
# 概要:
# Pythonインタプリタのチェック間隔を整数値で設定します。この間隔は
# インタプリタがスレッド切り替えとシグナルハンドラをチェックするする
# 周期です。Zopeのデフォルトは500ですが、パフォーマンスを上げるために
# この間隔を増やす事も出来ます。
#
# デフォルト値: 500
#
# 例:
#
# python-check-interval 1000
# ディレクティブ: zserver-read-only-mode
#
# 概要:
# このディレクティブをonにして、Zopeがlogファイルやpidファイルを作成する
# 事を禁止します。アクセスログやイベントログは標準出力に表示されます。
# このディレクティブがonの場合、pcgi, fastcgi, そしてデーモン関連の
# ディレクティブは無効になります。
#
# デフォルト値: off
#
# 例:
#
# zserver-read-only-mode on
# ディレクティブ: pid-filename
#
# 概要:
# ZopeのプロセスIDを書き込むファイルへのパスです。デフォルトは
# CLIENT_HOME/Z2.pid です。
#
# デフォルト値: CLIENT_HOME/Z2.pid
#
# 例:
#
# pid-filename /home/chrism/projects/sessions/var/Z2.pid
# ディレクティブ: lock-filename
#
# 概要:
# Zopeが起動中であることを示す"lock file"へのパスです。このファイルは
# Zopeの起動中はzopectl.pyからロックされます。デフォルトは
# CLIENT_HOME/Z2.lock です。
#
# デフォルト値: CLIENT_HOME/Z2.lock
#
# 例:
#
# lock-filename /home/chrism/projects/sessions/var/Z2.lock
# ディレクティブ: mime-types
#
# 概要:
# Zopeにmime.types情報を追加定義します。フォーマットはファイルはApache
# で提供されるmime.typesファイルと同じです。"mime-types"ディレクティブ
# は必要なだけ複数回記述することが出来ます。
#
# 例:
#
# mime-types $INSTANCE/etc/mime.types
# ディレクティブ: structured-text-header-level
#
# 概要:
# 構造化テキスト(structured text)ドキュメントのHTMLヘッダレベルの開始値
# を設定します。デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# structured-text-header-level 1
# ディレクティブ: rest-input-encoding
#
# 概要:
# re-StructuredTextドキュメントの入力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-input-encoding utf-8
# ディレクティブ: rest-output-encoding
#
# 概要:
# re-StructuredTextドキュメントの出力エンコーディングを設定します。
# 例えば、'utf-8', 'iso-8859-15' あるいはPythonが使用できる値を設定します。
# デフォルトは使用しているPythonのデフォルトエンコーディングです。
#
# デフォルト値: 無し (システムの規定値を使用)
#
# 例:
#
# rest-output-encoding utf-8
# ディレクティブ: rest-header-level
#
# 概要:
# reStructuredTextドキュメントのHTMLヘッダレベルの開始値を設定します。
# デフォルトは3で、一番最初のヘッダは<H3>になります。
#
# デフォルト値: 3
#
# 例:
#
# rest-header-level 2
# ディレクティブ: rest-language-code
#
# 概要:
# docutilパッケージ内部の色々な変換や、DTDエレメントのマッピングに使用
# される言語コードを設定します。サポートされている言語コードについて、
# 詳しくは lib/python/docutils/languages/ を参照してください。
#
# デフォルト値: en
#
# 例:
#
# rest-language-code de
# ディレクティブ: cgi-environment
#
# 概要:
# CGI用の環境変数として、Keyとvalueのペアを定義することが出来ます。
# これは、Zserverが他のWebサーバーからProxyリクエストを受け付けたい場合
# に、ZserverのCGI環境変数を他のWebサーバーに反映したい場合に使用します。
#
# デフォルト値: 無し
#
# 例:
#
# <cgi-environment>
# HTTPS_SERVER Foobar Server 1.0
# HTTPS_PORT 443
# </cgi-environment>
# ディレクティブ: dns-server
#
# 概要:
# ZopeのアクセスログにIPアドレスではなくホスト名を記録したい場合に、
# DNSサーバーのアドレスを設定します。デフォルトはZopeはIPアドレスを
# ホスト名には変換しません。
#
# デフォルト値: 無し
#
# 例:
#
# dns-server 127.0.0.1
# ディレクティブ: ip-address
#
# 概要:
# Zopeがリクエストを受け付けるデフォルトIPアドレスを設定します。これは
# Zopeが提供する全てのサーバープロトコルで共通です。この値が設定されない
# 場合、ZopeはOSがサポートしているIPアドレス全てでリクエストを受け付け
# ます。このディレクティブは各サーバセクションの値によって上書きすること
# ができます。
#
# デフォルト値: 無し
#
# 例:
#
# ip-address 127.0.0.1
# ディレクティブ: http-realm
#
# 概要:
# このZopeインスタンスがHTTPの"Realm"ヘッダとして出力する値を設定します。
# この値はBASIC認証ダイアログで表示されます。
#
# デフォルト値: Zope
#
# 例:
#
# http-realm Slipknot
# ディレクティブ: cgi-maxlen
#
# 概要:
# DoS攻撃を防止するために、Zopeが受け付けるフォームデータサイズの上限
# を設定します。
#
# デフォルト値: 0 (= 制限無し)
#
# 例:
#
# cgi-maxlen 10000
# ディレクティブ: http-header-max-length
#
# 概要:
# HTTPリクエストヘッダの上限(byte)を設定します。上限サイズを超えた
# リクエストはDoS攻撃とみなし、破棄されます。
#
# デフォルト値: 8192
#
# 例:
#
# http-header-max-length 16384
# ディレクティブ: enable-ms-author-via
#
# 概要:
# このディレクティブを'true'に設定すると、OPTIONS WebDAVリクエスト
# へのレスポンスで"MS-Author-Via"ヘッダーが送信されます。初期の
# Microsoft Web Folder や Microsoft Office がWebDAV経由でZopeに接続
# 出来るようにするためには、このヘッダーが必要です。
#
# このディレクティブはデフォルトでは無効になっています: この設定は
# 多くの標準的なWebDAV実装にとって良いことが無いし、もしユーザーが
# そのファイルを編集することを許可されていなくて、ダウンロードして
# いるだけであっても、Microsoft OfficeはWebDAV経由でZopeに格納され
# たOfficeファイルを編集しているかのように見せかけるためです。
#
# これについて詳しくは以下のcollectorのエントリを参照してください:
# http://www.zope.org/Collectors/Zope/1441
#
# 2005年1月以降に更新された最近のバージョンの Microsoft Web Folder
# は、このヘッダーを必要とはしておらず、その代わりに"Public"ヘッダ
# ーがOPTIONS WebDAVリクエストの応答に含まれている必要があります。
# (http://www.redmountainsw.com/wordpress/archives/webfolders-zope)
#
# 最近のMicrosoft Web Folder実装を入手するには、Microsoft KB の記事
# 907306を参照してください。
# (Software Update for Web Folders: May 18, 2007).
#
# デフォルト: off
#
# 例:
#
# enable-ms-author-via on
# ディレクティブ: enable-ms-public-header
#
# 概要:
# このディレクティブを'true'に設定すると、OPTIONS WebDAVリクエスト
# へのレスポンスで"Public"ヘッダーが送信されます。
#
# 最近のWebDAVの草案ではこのヘッダーについて言及していますが、オリ
# ジナルのWebDAV RFCでは規格の一部として言及していません。ごく少数
# のWebサーバー(IISとNetscape Enterprise 3.6 など)がこのヘッダーを
# 応答に含めています。
#
# 多くの良い手法が書かれている"Mask Your Web Server For Enhanced
# Security"というタイトルのドキュメントでは、このヘッダーは出力し
# ないことを勧めていることもあり、デフォルトではoffです。悪意ある
# 人々はこのヘッダーがあるかどうかでIIS Web Serverかどうかを判別し、
# あなたのサイトにアタックしようとするかもしれません。このため、
# 設定をonにする場合は十分注意してください。
#
# 2005年1月以降に更新された最近のバージョンの Microsoft Web Folder
# は、このヘッダーがOPTIONS WebDAVリクエストの応答に含まれている
# ことを *必要* としています。
# (http://www.redmountainsw.com/wordpress/archives/webfolders-zope)
#
# 最近のMicrosoft Web Folder実装を入手するには、Microsoft KB の記事
# 907306を参照してください。
# (Software Update for Web Folders: May 18, 2007).
#
# デフォルト: off
#
# 例:
#
# enable-ms-public-header on
# ディレクティブ: automatically-quote-dtml-request-data
#
# 概要:
# <dtml-var>などでREQUESTデータから取得した文字列に含まれる'<'文字の
# 自動クォート機能を無効にする場合、このディレクティブをoffにしてください。
# このディレクティブがonの場合、<dtml-var>や&dtml-でREQUESTからデータ
# を取得する場合に、データに含まれる'<'がHTMLクォートされます
# (REQUEST.somevarname などの直接アクセスは対象外です)。これはDTML
# プログラマを"client-side trojan"攻撃から出来るだけ保護します。
#
# デフォルト値: on
#
# 例:
#
# automatically-quote-dtml-request-data on
# ディレクティブ: trusted-proxy
#
# 概要:
# 一つあるいは複数の信頼できるProxyをホスト名かIPアドレスで設定します。
# これらの定義によって信頼されたフロントエンドのProxyからのアクセスは
# ZopeのX-Forwarded-Forヘッダで提供されます。信頼されるProxyから接続
# があった場合、ZopeはX-Forwardedヘッダを信頼し、接続元ユーザーのIP
# アドレスをアドレスによる認証に使用することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# trusted-proxy www.example.com
# trusted-proxy 192.168.1.1
# ディレクティブ: publisher-profile-file
#
# 概要:
# ファイルシステム上のファイル名を(複数可)定義することで、Zopeが使用
# しているPythonのプロファイリング機能が有効になります。詳しくは、ZMI
# のControl_PanelからDebug InformationのProfilingタブを参照してくださ
# い。
# 重要: この設定はZopeの実行速度を著しく低下させます。リリース時には
# 無効にする事を勧めます。
#
# デフォルト値: 無し
#
# 例:
#
# publisher-profile-file $INSTANCE/var/profile.dat
# ディレクティブ: security-policy-implementation
#
# 概要:
# Zopeの標準セキュリティー機構はC言語で実装されています。このディレク
# ティブを"python"に設定すると、Pythonで実装されたセキュリティー機構
# を使用します。処理速度が低下する影響が出ますが、デバッグ時に有用で
# す。"verbose-security"についても参照してください。
#
# デフォルト値: C
#
# 例:
#
# security-policy-implementation python
# ディレクティブ: skip-authentication-checking
#
# 概要:
# このディレクティブをonにすると、Zopeは認証関連の確認を行わなくなり、
# サーバーは無認証でアクセスできるコンテンツのみを提供します。
# この機能はsecurity-policy-implementationが'C'に設定されている場合のみ
# 機能します。
#
# デフォルト値: off
#
# 例:
#
# skip-authentication-checking on
# ディレクティブ: skip-ownership-checking
#
# 概要:
# このディレクティブをonにすると、ブラウザからのコード実行時に行われる
# Zopeの所有権限確認処理を無効にします。デフォルトでは、onに設定し、
# 低い権限のユーザーが権限の高いユーザーに危険な処理を実行させることが
# 出来る、といった'trojan horse'などのセキュリティーの問題が起こらない
# ようにします。
#
# デフォルト値: off
#
# 例:
#
# skip-ownership-checking on
# ディレクティブ: verbose-security
#
# 概要:
# デフォルトでは、Zopeは認証に失敗した場合に、一般に不要な情報を隠蔽する
# ため簡潔な情報を出力します。この設定で、認証失敗時に多くの情報を出力
# するようにZopeのセキュリティーポリシーを変更します。これはデバッグ用途
# に提供されています。この設定を行う場合は'security-policy-implementation'
# を'python'に設定してください。
#
# デフォルト値: off
#
# 例:
#
# security-policy-implementation python
# verbose-security on
# ディレクティブ: maximum-number-of-session-objects
#
# 概要:
# 一時オブジェクトを格納する'/temp_folder/session_data'の最大格納数を
# 整数値で設定します。
#
# デフォルト値: 1000
#
# 例:
#
# maximum-number-of-session-objects 10000
# ディレクティブ: session-add-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが追加されたときに呼ばれる
# スクリプト」へのZope 上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-add-notify-script-path /scripts/add_notifier
# ディレクティブ: session-delete-notify-script-path
#
# 概要:
# 起動時に作成された /temp_folder の中にあるセッションデータ一時オブ
# ジェクトコンテナのための「オブジェクトが削除されたときに呼ばれる
# スクリプト」へのZope上でのフルパスを指定します(オプション)
#
# デフォルト値: 無し
#
# 例:
#
# session-delete-notify-script-path /scripts/del_notifier
# ディレクティブ: session-timeout-minutes
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナのデータオブジェ
# クトが無効になるまでの時間(分)を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-timeout-minutes 30
# ディレクティブ: session-resolution-seconds
#
# 概要:
# '/temp_folder/session_data'一時オブジェクトコンテナの時間計測間隔(秒)
# を整数値で指定します。
#
# デフォルト値: 20
#
# 例:
#
# session-resolution-seconds 60
# ディレクティブ: suppress-all-access-rules
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'access rule'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-access-rules on
# ディレクティブ: suppress-all-site-roots
#
# 概要:
# このディレクティブをonに設定すると、Zope上の'site root'が無効に
# なります。もし、access ruleの設定に失敗して自分自身がアクセスでき
# なくなってしまった場合に使用します。
#
# デフォルト値: off
#
# 例:
#
# suppress-all-site-roots on
# ディレクティブ: database-quota-size
#
# 概要:
# このディレクティブを設定して、ZopeのFileStorageデータベースの最大容量
# を制限します。値は整数でByte値を設定します。上限に達した場合、データ
# ベースへの追加を行うことは出来なくなります。
#
# デフォルト値: 無し
#
# 例:
#
# database-quota-size 1000000
# ディレクティブ: zeo-client-name
#
# 概要:
# もし、ZEOクライアントのキャッシュをクライアント再起動時に保持したい
# のであれば、zeo-client-nameを定義する必要があります。このディレクティブ
# を設定せずにZEOを使用した場合、クライアントがシャットダウンされる際
# に一時ファイルに保存されたクライアントのキャッシュは削除されます。
# zeo-client-nameディレクティブの値は重複しない名前としてローカル
# キャッシュファイル作成に使用されます。
#
# デフォルト値: 無し
#
# 例:
#
# zeo-client-name zeo1
# ディレクティブ: logger
#
# 概要:
# このエリアには一つ以上の"logger"セクションを置き、各セクション名は
# "access", "event", "trace" となります。"access"はZopeへのアクセスログ
# を記録します。"event"はZopeのイベント情報を記録します。"trace"は
# REQUESTの詳細を記録します(デバッグ時のみの利用を推奨)。各logger
# セクションには"level"とその値を持ち、このレベルはログ保存時の詳細度
# を表します。デフォルトではlevelはINFOに設定されます。levelには、
# "CRITICAL", 'ERROR", WARN", "INFO", "DEBUG", "ALL" を指定できます。
# 各loggerセクションには一つ以上の"handler"セクションを追加することが
# でき、このセクションでログ取得時に利用されるログハンドラの種別を
# 定義します。ログハンドラは5種類有り、logfile, syslog, win32-eventlog
# http-handler, email-notifierがあります。各ハンドラはハンドラの動作を
# 決定する定義を記述することが出来ます。全てのハンドラセクションには
# "format"(ログメッセージ書式)・"dateformat"(ログメッセージ日付書式)・
# "level"を定義することができ、"level"は上位のセクションで定義した
# "level"をそのハンドラ固有の値に上書きします。
# [XXXX ここにもうすこし詳細に書くこと]
#
# デフォルト値:
#
# アクセスログは<instancehome>/log/Z2.logファイルにINFOレベルで記録され
# ます。イベントログは<instancehome>/log/event.logファイルにINFOレベル
# で記録されます。traceログは記録されません。
<eventlog>
level info
<logfile>
path $INSTANCE/log/event.log
level info
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
path $INSTANCE/log/Z2.log
format %(message)s
</logfile>
</logger>
# <logger trace>
# level WARN
# <logfile>
# path $INSTANCE/log/trace.log
# format %(message)s
# </logfile>
# </logger>
# ディレクティブ: conflict-error-log-level
#
# 概要:
# コンフリクトエラーのログレベルを定義します。ごく少数発生する
# コンフリクトエラーは、Zopeの楽観的競合解決アルゴリズムにより時々発生
# します。それらは自動的に数回再試行されるため、普通はユーザーからは
# 関知されません。これをログに記録したくない場合は'notset'を設定して
# ください。あるいは要望に応じて他のレベルを設定してもかまいません。
#
# デフォルト値: info
#
# 例:
#
# conflict-error-log-level blather
# ディレクティブ: warnfilter
#
# 概要:
# このセクションには警告フィルタを定義することが出来ます。以下のキー
# をこのセクションに定義することが出来ます:
#
# action: このキーに続けて以下の文字列を指定出来ます:
#
# "error" 一致する警告発生時に例外を起こします
# "ignore" 一致する警告を一切表示しません
# "always" 一致する警告を常に表示します
# "default" 警告が発生した場合、それぞれの発生場所について最初の
# 一回だけ表示します
# "module" 警告が発生した場合、それぞれのモジュールについて最初
# の一回だけ表示します。
# "once" 一致する警告発生時に、発生箇所にかかわらず最初の一回
# のみ表示します。
#
# message: 正規表現文字列で一致させたい警告メッセージを指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# category: Pythonのドット区切り表現でクラス名を指定します。クラス名は
# Warningクラスのサブクラスである必要があります。このクラスと
# 一致する警告が対象となります。
#
# module: 正規表現文字列で一致させたいモジュール名を指定します。
# (正規表現文字列は大文字小文字を区別しません)
#
# lineno: 対象となる警告が発生する行番号を整数値で設定します。
# 0を指定すると全ての行が対象となります。
#
# 全てのキーはこのセクション内で必須項目ではありません。また、一つ以上
# 複数のwarnfilterセクションを定義することが出来ます。
#
# デフォルト値: 無し
#
# 例:
#
# <warnfilter>
# action ignore
# category exceptions.DeprecationWarning
# </warnfilter>
# ディレクティブ: max-listen-sockets
#
# 概要:
# ZServerが接続待ちに使用するソケットの最大数を設定します。
#
# デフォルト値: 1000
#
# 例:
#
# max-listen-sockets 500
# ディレクティブ: port-base
#
# 概要:
# ZServerが使用するport番号定義のオフセット値を設定します。例えば、
# http-serverポートを8080に設定して、port-baseを1000に設定した場合、
# HTTPサーバーは9080ポートを待ち受けに使用します。この設定を使用して
# Zopeサーバープロセスが使用する複数のポート番号を一度に簡単に変更する
# 事が出来ます。
#
# デフォルト値:
#
# 0
#
# 例:
#
# port-base 1000
# ディレクティブ: large-file-threshold
#
# 概要:
# 設定したサイズ以上のリクエストはメモリではなく一時ファイルに保存し
# ます。
#
# デフォルト値: 512K
#
# 例:
#
# large-file-threshold 1Mb
# ディレクティブ: default-zpublisher-encoding
#
# 概要:
# このコントロールで、ZPublisherがUnicodeをエンコードする方法を設定し
# ます。
#
# デフォルト値: iso-8859-15
#
# 例:
#
# default-zpublisher-encoding utf-8
# ディレクティブ: servers
#
# 概要:
# ここで説明する一連のセクションはZopeが提供するいくつかのZServerに
# ついて定義します。以下の8つの異なるサーバータイプを定義することが出
# 来ます: http-server, ftp-server, webdav-source-server, persistent-cgi,
# fast-cgi, monitor-server, icp-server, clock-server. もし、どのサーバー
# も定義されなかった場合、デフォルトのサーバー定義が使用されます。
#
# 使用されるポートの定義は'address'ディレクティブで行われ、最も簡単な
# 記述はポート番号を 80 等と記述し、複雑な記述としてはホスト名込みで
# 127.0.0.1:80 等と記述します。ホスト名が省略された場合は、デフォルト
# のIPアドレスがホスト名に使用されます。
#
# ポート番号にはport-baseで定義したオフセット値が加算されます。
#
# monitor-serverを起動するためには、緊急ユーザーが定義されていなければ
# いけません(accessファイルとして)。
#
# デフォルト値:
#
# HTTPサーバーが8080で起動されます。
<http-server>
# 有効なキーは"address"と"force-connection-close"です
address 8080
# force-connection-close on
#
# ZServerとZPublisherの間でWSGIインターフェースをを使うことも出来ます:
# use-wsgi on
#
# HTTPソケットを開くのを起動の終了時まで遅延させます:
# fast-listen off
</http-server>
# 例:
#
# <ftp-server>
# # 有効なキーは"address"です
# address 8021
# </ftp-server>
#
# <webdav-source-server>
# # 有効なキーは"address"と"force-connection-close"です
# address 1980
# force-connection-close off
# </webdav-source-server>
#
# <persistent-cgi>
# # 有効なキーは"path"です
# path somefile
# </persistent-cgi>
#
# <fast-cgi>
# # 有効なキーは"address"で、hostname:port形式・portのみ・Unix-domain
# # ソケットへのパスのどれかを記述します。
# address somefile
# </fast-cgi>
#
# <monitor-server>
# # 有効なキーは"address"です
# address 8099
# </monitor-server>
#
# <icp-server>
# # 有効なキーは"address"です
# address 888
# </icp-server>
#
# <clock-server>
# # /foo/barという名前で30秒間隔のclockを起動します
# method /foo/bar
# period 30
# user admin
# password 123
# </clock-server>
# データベース (zodb_db) セクション
#
# 概要:
# データベースセクションにはカスタムデータベースとストレージ種別を定義
# することが出来ます。一つ以上のzodb_dbセクションを定義してください。
#
# デフォルト値: 無し.
# 重要: Zopeが起動するために、少なくとも一つ以上のデータベースを、
# "/"をmount-pointとして定義して下さい。
<zodb_db main>
# メイン FileStorage データベース
<filestorage>
# ディレクティブの詳細は .../ZODB/component.xml を参照。
# (sectiontype が "filestorage" の箇所).
path $INSTANCE/var/Data.fs
</filestorage>
mount-point /
</zodb_db>
<zodb_db temporary>
# テンポラリストレージデータベース (セッション用)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
# その他のストレージ例
#
# ZEOクライアントストレージ:
#
# <zodb_db main>
# # 完全な mount-point の書式:
# #
# # mount-point <localpath>[:<remotepath>]
# #
# # localpath - インスタンス内でのマウント位置を示すパス
# # remotepath - ストレージ内のマウント元のオブジェクトのパス。
# # デフォルトではlocalpathと同じ値が使用される。
# mount-point /
# # ZODB キャッシュをオブジェクト数で指定
# cache-size 5000
# <zeoclient>
# # ディレクティブの詳細は .../ZODB/component.xml を参照。
# # (sectiontype が "zeoclient" の箇所).
# server localhost:8100
# storage 1
# name zeostorage
# var $INSTANCE/var
# # ZEO クライアントキャッシュをbyte数で指定
# cache-size 20MB
# # 永続ディスクキャッシュを使用するために以下のコメントを解除
# #client zeo1
# </zeoclient>
# </zodb_db>
# プロダクト設定(product-config) セクション
#
# 概要:
# アドオンプロダクトについてポリシー設定を行うことが出来ます。それらの
# ポリシーは名前と値のペアで表現され、名前付きセクションでグループ化で
# きます(1プロダクト1セクションが典型的ですが複数あってもかまいません)。
# これらのセクションは最上位のconfigオブジェクトの'product_config'
# アトリビュートに、セクション名に対応するキーで保存されます。例えば、
# 以下のサンプルセクションは {'bar': 'baz'} という辞書に分解され、
# config.product_config['foo'] としてアクセスできます。
#
# 各プロダクトは独自のセクションタイプを拡張して登録することが出来ます。
#
# 例:
#
# 1. 簡単な文字列を格納するセクション:
#
# <product-config foo>
# bar baz
# </product-config>
#
# 2. カスタムセクションタイプ
#
# Products/Foo/component.xml に以下を記述:
#
# <component>
# <description>
# Some product-specific hackery.
# </description>
# <sectiontype name="myproduct" implements="zope.product.base">
# <description>
# Product-specific configuration.
# </description>
# <key name="foo" />
# </sectiontype>
# </component>
#
# zope.confでは以下のように利用:
#
# %import Products.Foo
#
# <myproduct bar>
# foo qux
# </myproduct>