インストール

旧バージョンからのアップグレード

既存のバージョンをアップグレードするには、 以下の標準のインストール手順に従ってください。 前のバージョンとconfigureスクリプトに対するオプションが 同じになるよう確認してください。 新しいリリースになって追加されたオプションを用いることもできます。

3.0より前のバージョンからのアップグレード

メジャーアップグレードになります

すべてのメールパスワードを3.0より前のバージョンからアップグレードするときに 再設定する必要があります。 3.0より前のSqWebMailでは、ウェブメールのログインのために独立したパスワードファイルを 扱っていました。 それはシステムパスワードから自動的に初期設定されましたが、 独立に管理されていました。 「システムパスワード」とは、伝統的な/etc/passwdファイル、 MySQL、LDAPなどの方法で、パスワード認証を行うもの全般を指しています。

SqWebMailはシステムパスワードを更新するお手ごろな手法がなかったため、 独立なウェブメールパスワードファイルが必要だったのです。 3.0の登場とともに、実際のパスワードを更新するためのコードとスクリプトが付加され、 SqWebMailの独立したパスワードファイルは取り除かれました。 ここに統合プランを紹介します:

注釈:もしauthvchkpwモジュールを使っていたなら、 窮地から脱することになります。 非常に古いバージョンを除いたすべてのSqWebMailは、 SqWebMailとvpopmailのパスワードを同期させる authvchkpwモジュールを持っています。 ほどんど窮地から免れていますが、順調な移行を保証するために 以下の手順を追うべきでしょう。

注釈: 標準の設定はauthdaemonモジュールを構築し、 authdaemon内のすべての実際の認証モジュールを構築するように変更になりました。 これはauthvchkpwモジュールに対しても当てはまります。 authdaemondは新しいパスワード認証の枠組みを支えるものとして必要なものです。

1.1より前のバージョンからのアップグレード

SqWebMail1.1より前では、 ぞれぞれのバージョンが標準の設定ファイル一式をインストールしていました。 もし既存の設定に変更が加えられていた場合、 インストール後にそれらの変更を再適用する必要がありました。

バージョン1.1の開始と共に、この過程はほどんど自動化されました。 バージョン1.1の開始と共に、自動的なアップグレードを可能とするため、 設定ファイルに付加的なメタデータが含まれました。 これが機能するために、新旧双方の背一定ファイルがこのメタデータを含まなければなりません。

それゆえに、バージョン1.1にアップグレードする際は、次のようにします。 既存の設定をバックアップし、このバージョンをインストールする以下の手順に従います。 既存の設定ファイあるは自動更新のためのメタデータを含んでいないため、 インストールのスクリプトは設定ファイルをそれぞれ「filename」から「filename.bak」に 名前を変更し、標準の「filename」をそこに書き込みます。 その後、「filename」を編集し、主導ですべての設定変更を再入力します。 前の設定ファイルを単純にコピーし、新しいバージョンのものを上書きしないでください。 なぜなら、自動更新のめたデータが失われてしまうからです。

注釈:すべての設定ファイルが自動的にアップグレードされるわけではありません。 自動でアップグレードされる設定ファイルは、 authdaemonrc, authldaprc, authmysqlrcldapaddressbookです。

概要

SqWebMailをインストールするために必要なものは:

SqWebMailをコンパイルしインストールする典型的なコマンドの手順は次の通りです:

 
  ./configure [オプション - 以下を参照]
  make configure-check
  make
  make check
  make install-strip       # これが動作しなければ make install を実行
  make install-configure   # 設定ファイルをインストール

  # cronジョブを設定し、システムの起動スクリプトを変更する。

  # ウェブサーバをMSIE用に調節する。

GNU makeがSqWebMailをコンパイルしインストールするために必要です。 xBSDシステムでは、GNU makeは「gmake」コマンドとしてインストールされています。 この文章が「make」コマンドと述べている部分すべてを「gmake」と置き換えてください。 もしシステムにgmakeがない場合、 SqWebMailをインストールする前にgmakeをインストールしてください。

configureプログラムに対するオプションは次の通りです:

configureを実行した後、 CGIファイルとイメージファイルがインストールされるディレクトリを確認するため、 make configure-checkを実行してください。 make configure-checkは、 設定スクリプトがウェブサーバがインストールされていると判断したディレクトリを表示します。 もしSqWebMailが間違って判断していれば、 --enable-cgibindir--enable-imagedirで適切な指定をし、 configureを再実行してください。

SqWebMailをコンパイルするためにmakeを実行します。 そして、ファイルをインストールするために make install-stripを実行します。 前に述べたように、make install-stripが機能しなければ、 make installを使ってください。

警告: make installmake install-stripを実行する前に、 umask値を022に設定してください。

make install-stripを実行する前に、 sendit.shスクリプトの内容を検証し、 メール転送エージェント(MTA)が正常に呼び出されているか確認してください。

cleancache.plをcronジョブにインストールします

インストール後、定期的にcleancache.plスクリプトを 実行するようにcronジョブに加えます(1時間に一度が最適です)。 cleancache.pl/usr/local/share/sqwebmailに インストールされています。 make installcleancache.plスクリプトの インストールに関する追加情報を表示します。

設定ファイルをインストールします

設定ファイルを初期化するためにmake install-configureを事項します。 SqWebMailの設定ファイルの一部は、複数の設定を担っています。 例えば、authdaemonrcldapaddressbookなどです (これらの設定についての追加情報は以下を参照)。

これらの設定ファイルについて、make installfilename.distをインストールします。 make install-configurefilename.distを元に filenameを作成します。 もし、前のfilenameが存在し、 それが自動更新の情報を含んでいれば(SqWebMail1.1以降)、 既存の設定は可能な限り保持されます。 自動更新に対応していない古い設定ファイルの場合は、 filename.bakと名前が変更されます。

自動更新の間、make install-configureは 各設定に対する処置をレポートします。 設定は新しいバージョンにおいても有効である限り保持されます。 古くすたれた設定項目は自動的に削除されます。 もし設定が無効であり保存されない場合は filename.distから標準の設定が取り込まれます。 make install-configureの出力を保存することをお勧めします (make install-configure > upgrade.log)。 そうすれば、手動で設定すべき項目を見分けるのに使うことが出来ます。

インストール後の設定

LDAP認証かvpopmail認証を使うつもりなら、 以下でそれぞれの解説に目を通してください。

標準の設定スクリプトは、認証処理を行うauthdaemondプロセスをインストールします。 システム起動時に認証プロセスが起動するように次のコマンドをシステム起動スクリプトに加えてください:

/usr/local/share/sqwebmail/libexec/authlib/authdaemond start

authdaemond stopはシステム終了時に実行されるべきですが、 必ずしも必要ではありません。

MSIEのためにウェブサーバを調節する

MSIEブラウザ(インターネットエクスプローラ)には、 HTTP/1.1の実装にたくさんのバグがあります(少なくともMSIE4.xと5.x)。 MSIEブラウザと通信する際に、HTTP/1.0を使うように ウェブブラウザを設定しなければなりません(少なくともバグが修正されるまでは)。 問題は添付ファイルのダウンロードに関係するはずです。 明らかにMSIEブラウザはHTTP/1.1を使った際にMIMEがどう機能するかを知りません。 Apacheサーバでは、次の命令をhttpd.confに加えます:

BrowserMatch "MSIE" nokeepalive downgrade-1.0 force-response-1.0

Apacheの最近のバージョンでは既に、 MSIEの特定のバージョン(MSIE 4.0b2)に対する同様な命令が設定されています。 MSIEのどのバージョンにも機能するようbrowsermatchで置き換えましょう。

ログインスクリーンを表示します

ログインページを表示するためにsqwebmail バイナリへのURLを指定します。 テストアカウントでログインを試します。 使いたい付加機能を有効にするため設定ファイルの残りを再確認してください。

IMAP と Unicode

もしメールアカウントがIMAPでアクセスできないならば、 --disable-utf7-folder-encodingオプションは、 SqWebMailから不要なコードを一部取り除きます。 IMAPは非アスキー文字を「modified-UTF7」と呼ばれる概念に従って符号化します。 現在、SqWebMailと互換性のあるIMAPサーバは、 Courier-IMAPだけです。

Modified-UTF7に対応するにはいくぶんのオーバーヘッドが生じますので、 このオプションはmodified-UTF7を無効にするために使います。 同じメールアカウントにIMAPによるアクセスがないならば、 これら一式を含める必要はありません。

フォルダ名を符号化するためにmodified-UTF7を用いないIMAPクライアントもいくつかあります。 この場合は、--disable-utf7-folder-encodingを使わなければなりません。 同時にUTF7クライアントと非UTF7クライアントの両方に対応することはできません。

SqWebMailにおける更なるオーバーヘッドは、 ローカル文字集合をUnicodeに対応づける変換テーブルによるものです (Unicodeからmodified UTF-7が派生しました)。 --disable-utf7-folder-encodingオプションが使われない限り、 この作業は行われます。 configureスクリプトはHTMLテンプレートのための文字集合をとり、 その文字集合とUnicodeとの対応付けを導入します。 標準では、SqWebMailはiso-8859-1文字集合を使ったHTMLテンプレート がひとつ含まれた状態で配布されています。 追加テンプレートを含んだ派生物をインストールした場合に、 configureは、これらのテンプレートで使われている文字集合を追加します。 有効な文字集合のリストはunicode/charsetlist.txtファイルの中で見つかります。

すべての有効な文字集合がコンパイルされることが確認できるでしょう。 必要な文字集合だけが最終的なSqWebMailの実行ファイルに取り込まれますので、 安心してください。

重要:UTF7符号化が正しく機能するために、 すべてのアプリケーション(IMAPクライアントとSqWebMail)で、 同一の文字集合が設定されている必要があります。 SqWebMailにおいては、HTMLテンプレートディレクトリのCHARSETファイルが 適切な文字集合に設定されている必要があることを意味します。

--enable-unicodeオプションは、 明示的にどの文字集合テーブルを含めるかを指定し、 configureによる選択を上書きするために用いることができます。 これは同じ基本文字集合に対して異なる符号化方式があるときに役に立ちます (KOI8-RIBM866のように)。 「--enable-unicode=koi8-r,ibm866」オプションは、 koi8-r文字集合のHTMLテンプレートと共に用いられたときは、 SqWebMailはibm866で符号化されたEメールを koi8-r文字集合を使って表示することが可能になります(逆もまた然り)。 このように機能するためには、KOI8-RのHTMLテンプレートをインストール しなければなりません。困ったときには、 sqwebmail/html/en/CHARSETを単純に編集してみてください。

注釈:GnuPG 1.0.5以降を利用する場合は、utf-8文字集合を指定しなければなりません。 configureスクリプトは、GnuPG 1.0.5 以降を見つけた場合、 標準でUnicode対応を有効にし、utf-8文字集合を標準で加えます。

スペルチェック

SqWebMailはスペルチェックメッセージに ispellパッケージかaspellパッケージのどちらかを利用することができます。 SqWebMailをインストールする前に、ispellかaspellをインストールしてください。

注釈:SqWebMailは呼び出すスペルチェック辞書を"english"と仮定しています。 一部のシステムでは標準のスペルチェック辞書に異なった名前が使われているでしょう。 SqWebMailで用いられるスペルチェック辞書の名前を変えるためには、 /usr/local/share/sqwebmail/html/en-us/ISPELLDICTファイルに 辞書の名前を書きます。

認証モジュール

認証モジュールは、入力されたユーザIDとパスワードを取り、 それらを検証し、そのアカウントに対応するMaildirを開く作業を担っています。

たくさんの認証モジュールが有効です。 それぞれの認証モジュールはログイン認証方法を独自に実装しており、 すべての認証モジュールがあらゆるシステムで使われるわけではありません。 一部の認証モジュールは、特定のライブラリとソフトウエアが インストールされたシステムでのみ用いられます。

configureスクリプトは、システムの設定を確認し 利用される認証モジュールの標準セットを自動で準備します。 --without-moduleオプション ("module"の位置にはモジュールの名前が入ります)を、 モジュールを選択的に無効にするために用いることが出来ます。 しかしながら、通常はそうする理由はありません。 モジュールは実行時にも簡単に無効にすることが出来ます。 authdaemonモジュールがインストールされるのであれば、 authmodulelist設定ファイルかauthdaemonrcファイルから それらを取り除くことによって実行時に無効にできます。

有効な認証モジュールの簡単なリストです:

ほとんどの認証モジュールはパラメータを定義した対応する設定ファイルがあります (パラメータは、サーバの位置、フィールド名など)。 インストール後、それらの設定ファイルを開き、 設定ファイル内の手引きを追う必要があるでしょう。

バージョン3.0より、SqWebMailの標準設定で authdaemonモジュールをコンパイルし、 他のモジュールをauthdaemondバックグラウンドデーモン内に配置します。 authdaemondは常駐するバックグラウンドプロセスで、 SqWebMailからの認証リクエストをauthdaemonモジュールを介して受け取ります。

バージョン3.0よりauthdaemonモジュールは、 configureスクリプトで明示的に無効にしない限り、常にインストールされます。 これでインストールの手引きが大変簡素なものになります。 更に、authdaemonはSqWebMailでのパスワードの変更を可能とするため必要です。 authdaemonがインストールされていなければ、 SqWebMailはアカウントパスワードを変更することができないでしょう。 というのは、その手続きが一般的に高い権限を必要とするからです (SqWebMailはroot権限をすぐに放棄しますが、 authdaemonがバックグラウンドで権限を保持しています)。

すべての認証モジュールがコンパイルされることを留意しておいてください。 configureスクリプトで不要な認証モジュールを無効にすることは可能ですが、 実行時にそれらを無効にした方が良いです。 すべての有効な認証モジュールは /usr/local/share/sqwebmail/authdaemonrc設定ファイルより読み込まれます。 無効にするにはこの設定ファイルから認証モジュールを取り除きます。

他の authdaemond モジュール

authdaemondの起動は実際はスクリプトによるものです。 それはシステムの設定に依存します。 一つ以上の異なるauthdaemondバイナリが インストールされているためです。

authdaemond.plainは特定の「重い」認証モジュールを除いて すべての有効な認証モジュールが含まれます。 現在の「重い」認証モジュールとは、authldapauthpgsqlauthmysqlです。

「重い」認証モジュールの対応が選択されていると、 authdaemond.mysqlauthdaemond.pgsqlauthdaemond.ldapなどの 追加バイナリがインストールされます。 authdaemond起動スクリプトは「重い」認証モジュールが インストールされているかどうかを確認し、もしそうならば、それを起動します。 そうでなければ、標準のauthdaemond.plainバイナリを起動します。

これでLDAPやPostgreSQLやMySQLに対応・非対応の SqWebMail配布バイナリを作ることが簡単になります。 配布者は、SqWebMailをLDAPとPostgreSQLとMySQLの開発ライブラリを含むシステムで構築し、 authdaemond.mysqlauthdaemond.pgsqlauthdaemond.ldap以外のすべてをSqWebMailの基本パッケージに含めます。 authdaemond.mysqlauthdaemond.pgsqlauthdaemond.ldapを独立したサブパッケージに含めます。 基本パッケージの導入で基本的なシステム認証サービスがインストールされます。 LDAPかPostgreSQLかMySQLに対応するためには、対応するサブパッケージを導入するだけです。

authpam

このモジュールはPAMライブラリを持つシステムで使われるべきです。 このモジュールでは、SqWebMailはPAMモジュールが「webmail」PAMサービスの 認証として定義しているものを用います。 基本的に、authpamはSqWebMailログイン認証に どんなPAMモジュールが用いられことを許可します。 注釈:このモジュールを含めるのに加えて、 更にPAMライブラリを「webmail」PAMサービスのために設定するための サイト特有の作業が必要です。 PAMの設定に関する詳細はシステムによって異なり、ドキュメントを確認してください。 もしどうPAMの対応を導入すべきか検討がつかない場合は、 タオルを投げてauthshadowauthpwdを使うことに誘惑されるでしょうが、 それはあまりお勧めできません。 PAMライブライが有効ならば、authpamを使うことを強く推奨します。

PAM認証を設定する実際の手順はシステムによって異なりますが、 /etc/pam.dディレクトリがある場合は、 次のテキストを含む/etc/pam.d/webmailファイルを作ってみてください:

#%PAM-1.0
auth    required  /lib/security/pam_pwdb.so shadow nullok
account required  /lib/security/pam_pwdb.so

システムによっては、pam_pwdb.soモジュールの代わりに pam_unix.soモジュールが使われているかもしれませんし、 モジュールが異なったディレクトリにあるかもしれません。

もし/etc/pam.dディレクトリの代わりに、 /etc/pam.confファイルがある場合は、 次の行をファイルの最後に追加してみてください:

webmail auth    required pam_pwdb.so shadow nullok
webmail account required pam_pwdb.so shadow nullok

繰り返しになりますが、 pam_unix.soを使わなければならないかもしれませんし、 PAMモジュールへの絶対パスをしていしなければならないかもしれません。

他のPAMサービスがどう設定されているか見て、 webmailサービス用に設定を複製してみてください。 もしあれば、pppサービスが参考にするのに良い例です。

authuserdb

このモジュールはユーザIDとパスワードを調べるための GDBMかDBデータベースファイルを利用します (通常は/etc/userdb.dat/etc/userdbshadow.dat)。 これらのファイルが、/etc/passwd/etc/shadowファイルと おおよそ同等の機能を持つGDBMかDBデータベースファイルです。 データベースファイルは複数のPerlスクリプト(SqWebMailに含まれています) によって間接的に管理されます。 テキストエディタやコマンドラインから実行されるPerlスクリプトによって編集できる プレインテキストファイル(通常/etc/userdb)より Perlスクリプトによってデータベースファイルが構築されます。 /etc/userdbは同じフォーマットの複数のテキストファイル を含むディレクトリである場合もあります(テキストファイルは連結されます)。 このモジュールは対応するログインアカウントのない 仮想メールアカウントを作ることを可能とします。 仮想メールアカウントは、同じシステムユーザIDを共有できます。 /etc/userdbは、完全に/etc/passwdの代わりとして 利用することもできます。 多くのアカウントが存在する場合に、 アカウントを検索するため/etc/passwdを順次検索しなければならないことは まったくの資源の浪費です。代わりに高速なデータベース検索はデータベースファイルから 同じ情報を高速に取り出すことができます。 詳細は、userdb(8)から始まる同封されているマニュアルページを参照してください。

userdbデータベースは maildropメールフィルタによっても対応されています。 maildropをSqWebMailで利用するにはバージョン1.3.4以降でなければなりません。

authmysql

このモジュールの設定をするためには authmysqlrc設定ファイルを編集してください。 詳細は、authlib/README.authmysql.htmlを参照してください。

authpgsql

このモジュールの設定をするためには authpgsqlrc設定ファイルを編集してください。 PostgreSQLの設定はMySQLの情報とほぼ同じです。 詳細はauthlib/README.authpostgres.htmlを参照してください。

authdaemon

make installを実行した後、 システムの起動スクリプトを編集し、システム起動時に authdaemond startが実行されるようにします。

選択された認証オプションの確認

実際どの認証モジュールが使われるか確認するには、 configureスクリプトを実行した後に、 makeを実行し、コンパイルに成功しなければなりません。 makeを実行した際に、authlibディレクトリ内の authinfoプログラムがコンパイルされます。 このプログラムを実行すると、 どの認証モジュールがコンパイルで組み込まれたか確認することが出来ます。

有効にする認証モジュールを変更するには、 configureスクリプトを再実行するだけです。

パスワードの変更

SqWebMailをインストールした後、ログインパスワードを SqWebMailを通して変更できることを確認してください (もし--disable-changepassを指定した場合はこの項目を無視してください)。 ログアウトとログインを繰り返し、 パスワードの変更が毎回正しく反映されることを確認してください。

仮想ドメインモジュール(authldapauthmysqlauthpgsqlの類)においては、 ログインパスワードを変えることは簡単なことです。 難しい状況はSqWebMailがログインにシステムパスワードを使っているときです (authpwdauthshadowauthpam認証モジュール)。 システムごとにログインパスワードを保持するために異なった手段が用いられています。 多くのシステムは従来通りの/etc/passwd/etc/shadowを用いていますが、 他のシステムでは、バイナリデータベースを用いたり、NISを用いたりしています。 更に一部のシステムではパスワード検索ライブラリは外部のLDAPディレクトリや データベースへのラッパーです。 最大限の互換性を保つため、SqWebMailはpasswdコマンドを実行して ログインパスワードを変更します。 これは従来のUNIXのログインパスワードを変更するコマンドです。 passwdは対話的なコマンドです。 通常、端末から呼び出されます。 SqWebMailは、外観の節で述べたように、passwdからの対話的な応答に答えるため、 expectスクリプトを利用します。 expectスクリプトは、単純でありふれた次のように機能する passwdコマンドを予期しています。

     # passwd
     Changing password for luser
     (current) UNIX password:         (古いパスワードがここで入力される)
     New UNIX password:               (新しいパスワードがここで入力される)
     Retype new UNIX password:        (新しいパスワードがここで再入力される)
     passwd: all authentication tokens updated successfully
     #

大きく異なった対話形式を持つpasswdコマンドを使ったシステムでは、 標準のexpectスクリプトは失敗するかもしれません。 そのようば場合は、システムのpasswdコマンドの出力形式に合うように、 expectスクリプトを調節しなければなりません。

最近のシステムは「悪い」バスワードを拒否するpasswdコマンドを使っています。 悪いパスワードとは、辞書の単語に基づくものや、短すぎるものや、 その他の理由から自明のものです。 SqWebMailのパスワード変更機能を確認するときは、 テスト用のパスワードとして無作為に選ばれたちんぷんかんぷんな文字列を使うようにしてください。 さもなければ、標準のexpectスクリプトは正しく機能しているのに、 正しく機能していないように考えてしまうでしょう。 セキュリティの理由から、passwdの実際のメッセージは SqWebMailによって表示されることはありません。

実行時の設定

インストールの後に行える設定がいくつかあります。 以下ではSqWebMailの設定ファイルが/usr/local/share/sqwebmail にインストールされていると仮定して話を進めます(標準の位置)。

/usr/local/share/sqwebmail/hostname - SqWebMailが単独ドメイン用の基本設定でインストールされているとき、 SqWebMailはシステムで定義されたホスト名を送出メッセージ用の リターンアドレスドメインとして設定します。 このファイルが存在するとき、 その値がシステムで定義されたホスト名の代わりに使われます。

/usr/local/share/sqwebmail/autoresponsesquota - 自動応答とメールフィルタが有効である場合、 自動応答に対するシステム全体(systemwide)のクォータ(容量制限)を設定します。 このファイルの内容は一行で、 "Cnnn" か "Snnn"、もしくはその両方を同じ行の中に含みます。 Cnnn は、nnn個までの自動応答の作成を許可します。 Snnn は、すべての自動応答の全体サイズが nnnバイトまで作成されることを許可します。 もし、両方の記述がある場合は、両方の制限が適用されます。 このファイルがなければ、自動応答の制限はありません。 このクォータ(容量制限)はシステム全体に適用されます。 特定のMaildirに対するクォータ(容量制限)の設定を上書きするには、 そのMaildir内にautoresponsesquotaファイルを作成します (これが優先されます)。

/usr/local/share/sqwebmail/sendit.sh メッセージを実際に送出するために呼ばれるシェルスクリプトです。 ヘッダを書き換えたり、ヘッダにクライアントのIPアドレスを付加するような カスタマイズが可能です (sqwebmailは標準ではそのようなことはしません)。

/usr/local/share/sqwebmail/nochangingfrom - もしこのファイルが存在すれば(0バイトのダミーファイル)、 SqWebMailはFrom:ヘッダを書き換えることをさせず、 常に標準の値になります。

/usr/local/share/sqwebmail/usexsender - もしこのファイルが存在すれば、 SqWebMailはX-Sender:ヘッダをすべての送出メッセージに付加します。 この機能は、Fromヘッダを変更可能にし、かつ送られたメールを オリジナルアカウントに対して追跡可能にもしたい場合に用います。 メールサーバは送信ユーザのIDをメッセージヘッダに書き込む必要があるのですが、 同じシステムのユーザIDを複数の仮想アカウントで共有している場合は不可能です。

/usr/local/share/sqwebmail/noimages - もしこのファイルが存在すれば、 イメージやアイコンは使われません。 生成される画面は、文字のみの画面となります。

/usr/local/share/sqwebmail/logindomainlist - もしこのファイルが存在すれば、 ログインスクリーンにこのファイルの内容を含んだ ドメインのドロップダウンリストが現れます。 このファイルには、電子メールのドメインのリストを一行一項目ずつ書きます。 SqWebMailが複数ドメインのメールアカウントを提供する場合に作るべきです。 ログイン時に"user@domain"と入力する代わりに、 "user"と入力しドメインをドロップダウンリストから選択するだけで良くなります。

/usr/local/share/sqwebmail/html/LANG/footer - もしこのファイルが存在すれば、 その内容がすべての送信メッセージの最後に付加されます。 LANGの場所には言語コードが入ります。 インストールされている言語ごとに個別のフッタを準備します。

/usr/local/share/sqwebmail/html/LANG/TIMEZONELIST - 他のタイムゾーンのリストです。 標準では、すべての日時はサーバの標準のタイムゾーンで表示されます。 ログインスクリーンのドロップリストにより他のタイムゾーンを選ぶことができます。 SqWebMailに標準で含まれるタイムゾーンリストは、ほんのわずかな項目だけしかありません。 このファイルを編集して ログインスクリーンに表示されるタイムゾーンを追加できます。

セッションタイムアウトの調整

ログインされたセッションは、動作がない時間が一定以上続くと 自動的にログアウトします。 タイムアウト期限は標準で20分で、configureスクリプトの --enable-softtimeoutオプションで設定することができます。 この値は、環境変数SQWEBMAIL_TIMEOUTSOFTを設定することで 調節することもできます。 例えば、Apacheではhttpd.confファイルに次のように追加してください:

SetEnv SQWEBMAIL_TIMEOUTSOFT 3600

ハードタイムアウトという概念もあります。 バードタイムアウトは例え何をしようともセッションをログアウトします。 タイムアウト期限は標準で2時間で、configureスクリプトの --enable-hardtimeoutオプションで変更することができます。 また、環境変数SQWEBMAIL_TIMEOUTHARDで設定することもできます。

警告:

ハードタイムアウトの期間はログインキャッシュを管理するために用いられます (もしログインキャッシュ機能が選択されていれば)。 この値は、cleancache.pl清掃スクリプトで使われており、 この値の変更は適切に調整されていなければなりません。 同じログインキャッシュと異なるハードタイムアウト値を使うことは不可能です (次のセッションで述べられるバーチャルドメインと異なって)。 いたずらに環境変数で値をいじる事はまったくお勧めできません。 簡単にシステム全体が機能しなくなります。それは、おやめください。

もし、ハードタイムアウトを調整したなら、同時にログインキャッシュディレクトリを削除し、 インストールされているcleancache.plスクリプトの $timeouthard 変数の値を調整してください。

ドメインベース・テンプレート

動的に生成されるHTMLの標準テンプレートセットは /usr/local/share/sqwebmail/htmlにインストールされています。 同じサーバで複数のドメインのWebアクセスを処理する場合に、 ドメインごとに異なったHTMLテンプレートセットを指定することが可能です。

この機能は直接SqWebMail内で実装されているのではなく、 SqWebMailで直接指定する標準の機構は存在しません。 代わりに、設定する作業が若干必要となります。

ドメインベース・テンプレートはsqwebmailバイナリを実行する前に、 Webサーバで環境変数SQWEBMAIL_TEMPLATEDIRを設定することで実現されます。 この環境変数の内容が標準の場所である /usr/local/share/sqwebmail/htmlを書き換えます。 Webサーバでドメインごとにこの変数の値を設定することによって、 ドメインごとに使われる異なったテンプレートを使うことができます。

これをするために、HTMLテンプレートディレクト /usr/local/share/sqwebmail/htmlのコピーを作成します。 そして、WebサーバのSQWEBMAIL_TEMPLATEDIRの値を適切に設定します。 例えば、Apacheでは、

  <VirtualHost a.b.c.d>
    ServerName webmail.example.com
    [...]
    SetEnv SQWEBMAIL_TEMPLATEDIR /usr/local/share/webmail/webmail.example.com
    [...]
  </VirtualHost>
可能性は無限大です。

共有フォルダ(Shared folders)

SqWebMailは共有フォルダ(shared folders)に対応しています。 SqWebMailは共有フォルダを作成するための 拡張maildirmakeコマンドを配布物に含んでいます。

maildirmakeコマンドは標準では /usr/local/libexec/sqwebmailにインストールされ、 マニュアルページは標準では /usr/local/share/sqwebmail/manにインストールされます。

共有フォルダを設定するための詳細はマニュアルページを参照してください。

LDAP アドレス帳

SqWebMailは公開されているLDAPアドレス帳から個人のアドレス帳に 電子メールアドレスを取り込むことが出来ます。 システム共通のアクセス可能なLDAPアドレス帳リストが全員に定義され、 個人はそれぞれのために追加のLDAPアドレス帳を設定することが出来ます。

LDAPアドレス帳を検索するには、 OpenLADPの実行時ライブラリとツールがインストールされている必要があります。 OpenLDAP開発ライブラリはインストールされている必要がありません。 SqWebMailは単純にLDAPアドレス帳を問い合わせるために ldapsearchツールを実行し、結果を読み込みます。

/usr/local/share/sqwebmail/ldapaddressbookファイルは、 アクセス可能なアドレス帳のシステム共通の標準リストを含んでいるべきです。 標準ファイルがインストールされ、 共通のインターネットアドレス帳がいくつか記述されています。 それぞれの行は次のような情報から構成されます:

name<tab>host<tab>port<tab>suffix<tab>binddn<tab>bindpw

<tab> はASCII文字のTABコードです。

/usr/local/share/sqwebmail/ldapsearchldapsearchツールを呼び出すためのラッパーシェルスクリプトです。 configureスクリプトはOpenLDAPツールがインストールされている場所を探します。 このシェルスクリプト中のldapsearchへのパスが正しいか確認し、 必要があれば修正します。 標準のシェルスクリプトはldapsearchに 検索時間を60秒に、アドレス帳から最大で20項目を返すように制限するための オプションを追加して起動します。

メールフィルタ

メールフィルタは付加機能です。 メールフィルタにより到着するメッセージを自動的に特定のフォルダに振り分けたり、 転送したり、受信拒否をしたり、メッセージのヘッダや本文の内容によって判断する 規則を設定することが可能となります。 簡単な自動応答機能も使うことができます。 メールフィルタ機能を利用するには、ローカルメールエージェントとして maildropメールフィルタがインストールされている必要があります。 メールフィルタはmaildropのバージョン1.3.4以降を必要とします。 SqWebMailはメールを配送するときに使われるmaildropのための フィルタのレシピを作成します。 maildropのメールフィルタ言語は非常に強力で、 SqWebMailはメールフィルタ言語の一部の機能のみを提供しますが、 メールフィルタに必要な主な機能には十分対応されています。

メールフィルタをインストールし、有効にするための詳細は、 maildir/README.maildirfilter.htmlファイルを参照してください。

自動応答

メールフィルタオプションは自動応答機能を設定するためにも使われます。 自動応答機能は独立したスクリーンで提供されます。 標準では、作成される自動応答の数とサイズに制限はありません。 それゆえ、自動応答の容量制限を設定することを推奨します ("実行時の設定"を参照してください)。

自動応答は適切なMIMEコンテンツを含めることができます (プレインテキスト以外のMIMEコンテンツをアップロードすることができます)。 次の特別な手順が自動応答コンテンツをマルチパートで準備するために必要です。 例えば、同じメッセージをテキストとHTMLで記述したものでは:

ファイル拡張子をmessage/rfc822MIMEコンテンツに割り当てます。 例えば、mime.typesファイルを編集し、 message/rfc822MIMEタイプを見つけ(なければ追加し)、 "msg"のようなファイル拡張子を少なくとも一つあることを確認します。

マルチパートMIMEの自動応答を準備します。 一番便利な方法は、従来の電子メールクライアントを使って 普通の電子メールメッセージを準備することです。 RFC822形式のメッセージを".msg"拡張子でファイルに保存し、 自動応答スクリーンでそれをアップロードします。

SqWebMailはアップロードされた message/rfc822コンテンツから MIMEヘッダを除くすべてのヘッダを取り除き、 MIMEコンテンツタイプヘッダとMIMEコンテンツを残します。

スケジュール管理

このSqWebMailのリリースには 基本的なスケジュール管理の試験的な実装が含まれています。 この機能を有効にすることができます。 詳細はpcp/README.htmlを参照してください。 SqWebMailのスケジュール管理機能は、 私的なメールサーバで使われることを想定してデザインされています。 公開ウェブサーバでの利用には適していません。 更なる情報のためにはREADMEファイルを参照してください。

暗号化

SqWebMailはGnuPGを使ったメールの暗号化と復号化を行うことができます。 暗号化を使うための設定に関する詳細は、 gpglib/README.htmlファイルを参照してください。

FAQ: 認証モジュールをコンパイルできない

http://www.courier-mta.org/FAQ.html#authlibを参考にしてください。 認証モジュールに関するもっと詳細な解説、一般的な問題に対する提案や対策が記述されています。

FAQ: 認証モジュールがコンパイルできても、動作しない

時々Solarisのように風変わりなOSでは、 前節の手順ではコードがコンパイルされても、実行に失敗し、 奇抜なエラーメッセージが出力されます。

これは、OSが実行時ライブラリがある標準的なディレクトリしか 参照していないために起こる問題です。 /usr/local/openldap/libにリンクすべき共有ライブラリがあったとしても、 OSは実行時ライブラリを/lib/usr/libにしか探しにいきません。

コンパイラによっては、実行ファイルに共有ライブラリへのパスを含めるための オプションが準備されています。 詳細は、コンパイラのドキュメントを参照してください。 これらのオプションが有効であると判断できないときは、 必要なライブラリを/usr/libに移動するか、 シンボリックリンクを/usr/libからそれぞれのライブラリへ張るという 解決方法もあります。

FAQ: インターネットエクスプローラのバージョン4と5での 添付ファイルのダウンロードに関する問題

Microsoft Internet Explorerのあるバージョン(バージョン4と5)には、 HTTP/1.1プロトコルの実装にバグがあり、 添付ファイルをダウンロードする際に、無作為に奇妙なエラーがMSIEに発生します。

この特定のバグに対してApacheを調節する方法を示します。 次の命令をApacheのhttpd.confに加え、 インターネットエクスプローラクライアントへの応答には HTTP/1.0プロトコルを強制的に使うようにします。

BrowserMatch "MSIE [45]" nokeepalive downgrade-1.0 force-response-1.0

Copyright 1998 - 2002 Double Precision, Inc.

日本語訳 市川 俊一 Toshikazu Ichikawa


「SqWebMail 日本語サイト」に戻ります EXIT
Copyright (c) 2001-2002 Ichikawa Toshikazu