| |
MELON ver1.24 以降上級者向け設定マニュアル
添付ドキュメントには、必要最低限の設定情報しか公開していませんが、実は MELON ではもっと細かい設定が可能です。上級者向けにその内容を説明します。これらの設定は、全て melon.ini に記述します。
逆引き
- メールをすぐ配送して欲しい
[qmanager]
NewMailDeliveryInterval=0
- 通信ログを見たい
- ウィンドウで見る場合
[main]
LogWindow=1
- ファイルに保存する場合
[main]
LogFile=ファイル名
- 自分宛にもメールのコピーを送信して欲しい (ver1.29+)
[ssmtpd]
SendCopy=1
正引き
[main] セクション
-
smtp, pop3, rsmtp の設定数の宣言 (ver1.24+)
UseSSMTPD=1 以上の数値
UseRSMTPD=1 以上の数値
UseSPOP3D=0 以上の数値
UseSFTPD=0 以上の数値 (ver1.63+)
UseSHTTPD=1 以上の数値 (ver1.63+)
例えば UseSSMTPD で説明すると、UseSSMTPD=3 の場合 [ssmtpd], [ssmtpd2], [ssmtpd3] の設定が有効になる。ver1.24 ではそれぞれ 4 つまでの設定しか使用できない。
-
ログをファイルに記録する (ver1.24+)
LogFile=filename
-
ログを組み込みウィンドウで表示する (ver1.24+)
LogWindow=[0|1]
0:非表示, 1:表示
-
DNS を一つも発見できなかったときポップアップで警告をする (ver1.26+)
CheckNoDNS=[0|1]
0:警告しない, 1:警告する
-
デフォルト時間切れ秒の設定 (ver1.27+)
TimeOut=秒数
-
始めに問い合わせる DNS の IP アドレスが有効な時間 (ver1.27+)
DNSCacheTime=秒数
-
Hosts ファイルを読み込まないようにする (ver1.29+)
IgnoreHosts=[0|1]
-
言語設定 (ver1.30+)
Lang=[ja|en]
-
dbserver.ini ファイルの指定 (ver1.40+)
DBServerFile=ファイル名
-
dbauth.ini ファイルの指定 (ver1.60+)
DBAuthFile=ファイル名
-
dbshttpd.ini ファイルの指定 (ver1.63+)
DBSHTTPDFile=ファイル名
-
ウィンドウの透過度合いの設定[対応OSのみ] (ver1.33+)
Transparency=0から256までの数値
0:完全な透過, 255:不透過, 256:透過しない
-
詳細な情報をログに表示する (ver1.80.0.8+)
DebugVerbose=[0|1]
[qmanager] セクション
-
キュー/一時ファイル保存ディレクトリの指定 (ver1.24+)
QueueDirectory=保存ディレクトリへの絶対パス
-
新規メールを受信してから配送開始するまでの待ち時間 (ver1.24+)
NewMailDeliveryInterval=秒数
UseBurstMode=1 で使用する場合には、この数値をあまり小さい値に設定すると意味がなくなる
-
待機状態のメールの再送時間間隔 (ver1.24+)
WaitMailDeliveryInterval=秒数
-
待機状態メールの最大再送回数 (ver1.24+)
MaxRetryCount=回数
-
配送失敗メールの扱い (ver1.24-1.34)
ReturnErrorMail=[0|1]
0:キューに残す, 1:送信元にエラーメールとして返す
-
組み込みログウィンドウの初期高さの指定 (ver1.24+)
QueueWindowHeight=ウィンドウのドット単位の高さ
-
配送一時停止機能の初期値 (ver1.41+)
PauseDelivery=[0|1]
0:通常, 1:起動時に一時停止状態にする
[ssmtpd],[spop3d],[sftpd],[shttpd] セクション共通
各セクションに共通に設定できるキーです。サーバによっては有効にならないものがあります。
-
クライアントから MELON への接続で TLS を使用するための設定 (ver1.24-1.62)
ServerCertificateFile=証明書ファイル
ServerKeyFile=鍵ファイル
-
クライアントから MELON への接続で TLS を使用するための設定 (ver1.63+)
ServerKeyDir=鍵/証明書ファイルが置いてあるディレクトリ
証明書: ドメイン名+'.crt'、鍵: ドメイン名+'.key' というファイルを置いておく。(OpenSSL 0.9.9 以降で有効)
ドメイン名に一致しない場合には default.crt、default.key ファイルが使用される。
-
クライアントから MELON への接続時 SSL の使用の可否 (ver1.24+)
UseSSL=[0|1]
0:通常, 1:XXXX over SSL 専用
-
TLS/SSL 接続時の対向ホストから送信された証明書のログへの表示 (ver1.52+)
LogPeerCert=[0|1]
0:表示する, 1:表示しない
-
Listen する IP/Port を指定する (ver1.24+)
ListenIP=IPv4 または IPv6 のアドレス
ListenPort=ポート番号
ローカルホストしか指定できない。IP/Port が他と重複していた場合、明示的にエラーは表示されない。
-
時間切れ秒の設定 (ver1.27+)
TimeOut=秒数
[ssmtpd] セクション
-
SMTP が返すホスト名の設定 (ver1.24+)
HostName=ホスト名
-
最大 Recipient 数の設定 (ver1.24+)
MaxRecipient=数値
16 (ver1.24-1.29)、32 (ver1.30+) より上の値は無効
-
最大ホップ数の設定 (ver1.24+)
MaxReceived=数字
-
この SMTP で受信したメールを配送する RSMTPD の設定番号の指定 (ver1.24+)
DoRSMTPD=1 以上の数値
-
送信元へのメールコピーの送付設定 (ver1.29+)
SendCopy=[0|1]
0:通常, 1:送信元へもそのメールのコピーを配信する
-
メーラデーモンからのメールを受け取るかどうかの設定 (ver1.40+)
DisableNullMailFrom=[0|1]
0:受け取る, 1:受け取らない
-
プラグインの指定 (ver1.50+)
pluginX=セクション名
X: 0〜7の値
X の値の小さいプラグインから順番に実行される。セクション名 (名前は必ず"plugin:"で開始するようにしてください)では plugin という項目で実際のプラグインファイルを指定する。
[rsmtpd] セクション
-
ドメイン名に対する IP アドレスの取得方法の設定 (ver1.24+)
UseARecord=[0|1]
0:SRV/MX レコードだけ参照, 1:SRV/MX レコードがなければ A/AAAA レコードも参照
-
セッション確立後のメール配送方法の設定 (ver1.24+)
UseBurstMode=[0|1]
0:一セッションで一メール, 1:一セッションで複数メール
-
配送スレッド数の指定 (ver1.24+)
MaxRemoteThread=1 以上の数値
-
時間切れ秒の設定 (ver1.27+)
TimeOut=秒数
-
メール配送時の HELO で指定するドメイン名の設定 (ver1.30+)
UseMailAddrDomainAtHelo=[0|1|2]
0:メーラが指定したドメイン名, 1:メールアドレスのドメイン名, 2:HostName で指定されたドメイン名 (ver1.31+)
-
UseMailAddrDomainAtHelo=2の時に使用するドメイン名の設定 (ver1.31+)
HostName=ホスト名
-
ネームサーバの設定されていないホストへの送信禁止設定 (ver1.34+)
CheckNS=[0|1]
0:検査しない, 1:検査する
-
SMTP Proxy 使用時のルーティングに使用する dbauth.ini 内のセクション名 (ver1.60+)
Route=dbauth.ini の中のセクション名
セクション名は必ず"route:"で開始するようにしてください
-
使用を禁止するメールサーバの IP アドレスの指定 (ver1.33.0.2+)
BanIPAddress=セクション名
セクション名は必ず"banipaddr:"で開始するようにしてください
当該セクションの各項目は「addrN=BAN_IP_ADDRESS」の形式で記述する。右辺の BAN_IP_ADDRESS に使用を禁止する IP アドレスを指定する。ver1.33.02 では N の値は 0 から 20 までの値で、0 からの連番になっている必要がある。ver1.40 では N の値は 0 から 256 まで。連番である必要はないが、連番のほうが読み込みが早く終わる。
[spop3d] セクション
-
プラグインの指定 (ver1.50+)
[ssmtpd] セクションの説明を参考のこと
[sftpd] セクション (ver1.63+)
[shttpd] セクション (ver1.63+)
-
HTTP_HOST に応じた設定をするための dbshttpd.ini 内のセクション名
Host=dbshttpd.ini 内のセクション名
セクション名は必ず"hostlist:"で開始するようにしてください
-
送られてきたヘッダをログへ表示 (ver1.80.0.20+)
LogHeaders=[0|1]
0:表示する, 1:表示しない
dbserver.ini (ver1.40+)
各セクションは [example.com] のようなドメイン名、または [127.0.0.1] のような IP アドレスを指定する。当該のセクションが読み込まれる。
また [default] を指定することでデフォルト値を設定するセクションを指定できる。このセクションは各セクションを読み込む前に必ず読み込まれる。
また各セクション名の前に、"ssmtpd:", "rsmtpd:", "smtpd:", "spop3d:", "sftpd:" などの文字列を指定できる。これを指定すると指定されたルーチンからのみそれらのエントリを参照できる。
具体的な検索順序は次のとおりになる。
- ssmtpd
[ssmtpd:default]→
[smtpd:default]→
[default]
[ssmtpd:example.com]→
[smtpd:example.com]→
[example.com]
- rsmtpd
[rsmtpd:default]→
[smtpd:default]→
[default]
[rsmtpd:example.com]→
[smtpd:example.com]→
[example.com]
- spop3d
[spop3d:default]→
[default]
[spop3d:example.com]→
[example.com]
- sftpd
[sftpd:default]→
[default]
[sftpd:example.com]→
[example.com]
各セクション
-
このセクションの有効性を指定する
Active=[ 0 | 1 | 2 ]
0: 存在しないものとして扱う
1: このセクションの値を使う。これ以上セクションを検索しない。
2: 存在しないものとして扱う。これ以上セクションを検索しない
-
一番初めに sectionname を読む
IncludeFirst=sectionname
-
一番最後に sectionname を読む
IncludeLast=sectionname
-
TLS の検証に失敗したときエラーにする
TLSVerify=[+|-][ full | authorized | expired | name | misc | ask ]
・複数指定するときは、空白で区切って並べる。
・各項目の前には + または - を前置できる。何も記号を置かない、もしくは + を前置した場合、その項目を有効にする。- を前置した場合、その項目を無効にする。(ver1.40.0.7+)
full: "authorized expired name misc" と同じ
authorized: 証明書がルート証明書からの検証に失敗したときエラーにする
expired: 証明書が期限切れのときエラーにする
name: ドメイン名が一致しないときエラーにする
misc: その他証明書に問題があったときエラーにする
ask: 検証に問題があったときダイアログで接続続行の意思を確認する (spop3d のみ)
-
TLS の検証時のドメイン名の別名を指定する
TLSAlterName=domainname
複数指定するときは空白で区切って指定する
-
TLS/SSL 接続を強制する
ForceTLS=[ 0 | 1 ]
0:通常, 1:TLS/SSL が使用できないときはエラーにする。エラーの条件は TLSVerify で指定する。
-
検証に使用するルート証明書を指定する
RootCA=Base64ed_Root_CA
base64 エンコードされたルート証明書を一行で指定する。
-
ESMTP の強制使用
ForceESMTP=[0|1]
0:自動判別, 1:ESMTP を使う
-
メール配送時の HELO で指定するドメイン名の設定
UseMailAddrDomainAtHelo=
HostName=
rsmtpd と同様
-
SSH2 の検証に失敗したときエラーにする (ver1.62.04+)
SSH2Verify=[+|-][ full | authorized ]
・複数指定するときは、空白で区切って並べる。
・各項目の前には + または - を前置できる。何も記号を置かない、もしくは + を前置した場合、その項目を有効にする。- を前置した場合、その項目を無効にする。
full: "authorized" と同じ
authorized: サーバハッシュ値が一致しないときエラーにする
-
SSH2 のサーバハッシュ値の指定 (ver1.62.04+)
SSH2HashType=[sha1|md5]
SSH2HashSHA1=16進数ハッシュ並び
SSH2HashMD5=16進数ハッシュ並び
sha1: ハッシュで SHA1 を使う。ハッシュの値は SSH2HashSHA1 で指定する。
md5: ハッシュで MD5 を使う。ハッシュの値は SSH2HashMD5 で指定する。
dbshttpd.ini (ver1.63+)
Host セクション
このセクションでは HTTP_HOST で渡されたドメインを処理するためのセクション名を指定する。このセクション名自体は [shttpd] セクションの Host エントリで設定する。設定方法は、“HTTP_HOST名=設定セクション名”である。
設定例
melon.ini
[shttpd]
Host=hostlist:shttpd
dbshttpd.ini
[hostlist:shttpd]
preload=host:preload
default=host:localhost
localhost=host:localhost
localhost:80=host:localhost
設定の左辺名に二つの特殊な名前、preload、default を使用できる。preload は他の設定が読み込まれる前に読み込まれる設定で、ここに設定することで、全ての設定に設定できる。default は HTTP_HOST にマッチした名前がない場合、これが使用される。
設定 セクション
ここでは実際の動作設定を行う。“プロパティ名=値”で設定する。特殊な記述方法が使用できる。この記述と、
[host:localhost]
base.document_root=c:\home\myhome\public_html
base.index=index.html, index.htm
この記述は等価である。
[host:localhost]
base.=host:base.localhost
[host:base.localhost]
document_root=c:\home\myhome\public_html
index=index.html, index.htm
GUI 設定では、状況に応じてどちらかの形式が使われる。それ以外の形式で記述した場合、GUI 設定はサポートしない。
プロパティ名 | 説明 | 設定例 |
base.document_root | ドキュメントベースの物理ディレクトリを指定する | base.document_root=c:\home\myhome\public_html |
base.index | ファイル名の指定がない場合のファイル名を , で区切って指定する。 | base.index=index.html, index.htm |
vdir._仮想ディレクトリ_ | _仮想ディレクトリ_ が使用する物理ディレクトリを指定する。_仮想ディレクトリ_ は必ず / で開始する。 | vdir./mydoc=c:\mydoc\public vdir./test=c:\mydoc\test
|
mime._拡張子_ | _拡張子_ に応じた MIME タイプを設定する | mime.ini=text/plain mime.exe=application/x-exe mime.php=application/x-php |
handler._MIMEタイプ_ |
_MIMEタイプ_ に応じたハンドラを指定する。
ハンドラの種類
copy | 単純にファイルをユーザに返す |
exec | そのままファイルを実行する |
nphexec | exec と同じだが、ヘッダの加工はしない。 |
shellexec | ファイルの一行目が #! で始まっている場合、それ以降で指定されているプログラム FULLPATH_AND_PROG で実行する。ただし、shellexec.FULLPATH_AND_PROG が設定されている場合、それに置き換えて実行する (1.80.0.12+) |
nphshellexec | shellexec と同じだが、ヘッダの加工はしない (1.80.0.12+) |
script | script.? で指定されるプログラムでそのファイルを実行する |
nphscript | nphscript.? で指定されるプログラムでそのファイルを実行する。ヘッダは加工しない |
| handler.application/x-exe=exec handler.application/x-php=script |
script._MIMEタイプ_ | _MIMEタイプ_ に応じた script で実行するエンジンのフルパスを指定する | script.application/x-php=c:\php\bin\php-cgi.exe |
nphscript._MIMEタイプ_ | _MIMEタイプ_ に応じた nphscript で実行するエンジンのフルパスを指定する | nphscript.application/x-php=c:\php\bin\php-cgi.exe |
shellexec.FULLPATH_AND_PROG | ハンドラが shellexec の場合、FULLPATH_AND_PROG を指定のプログラムと置き換える。FULLPATH_AND_PROG に * を使用すると、一致するものがなかった場合それが使用される。 (1.80.0.12+) | shellexec./usr/local/bin/php5=c:\php\bin\php5.exe |
nphshellexec.FULLPATH_AND_PROG | ハンドラが nphshellexec の場合、FULLPATH_AND_PROG を指定のプログラムと置き換える。FULLPATH_AND_PROG に * を使用すると、一致するものがなかった場合それが使用される。 (1.80.0.12+) | nphshellexec./usr/local/bin/php5=c:\php\bin\php5.exe |
|