GUI管理ツールの導入とユーザー情報のSQL化:実用qmailサーバ運用・管理術(7)(2/3 ページ)
コマンド操作が基本のqmailだが、Webベースの管理フロントエンドも存在する。今回はこれをインストールして日々の管理業務を効率化するとともに、メールユーザーの情報をMySQLに格納して認証を行えるようにする方法を紹介する。
qmailadminのインストールとカスタマイズ
qmailadminのインストールを始める前に、次のものが使用可能になっている必要があります。「autoresponder」はまだ紹介していませんが、それ以外はリンクした各記事を参考にインストールしておきます。
- qmail(第1回 qmailによるSMTPサーバの構築)
- vpopmail(第6回 バーチャルドメインにおけるqmailの運用)
- autoresponder
- ezmlmあるいはezmlm-idx(第5回 メーリングリストの構築と運用(後編))
- Apache(第3回 Apacheの基本インストール)
autoresponderとは
autoresponderは自動応答機能を実現するqmailアドオンツールで、単に応答メッセージを返すだけでなく次のような機能を持っています。
- envelope sender(第4回 メーリングリストの構築と運用(前編))の書き換え
- 次の条件では応答しない
MAILER-DAEMONからのメール
空のenvelope sender
MLでよく使われるヘッダ「Precedence:」が「bulk」や「list」の場合
一定の期間内に同じ差出人から来た場合 - ロギング機能
vacationコマンドを使ったことのある方にはなじみ深い機能です。ただ、残念ながら日本語のSubjectやメッセージ文には未対応です(注)。それでも日本語表示できるメーラもありますが、メール配送のマナーから大きく外れます。今回は、qmailadminを使用するうえでやむなく導入することとし、自動応答にマルチバイト文字を用いないようにします。
コラム autoresponderの日本語対応化
どうしても日本語で自動応答したい場合は、以下のようにする手もあります。
まず、autorespond.cの265行目に次の1行を挿入します。
fprintf(fdm,"Content-Type: text/plain; charset=\"ISO-2022-JP\"\n" );
そして通常どおりにインストールします。使用時は、次のように応答メッセージの文字コードをJISに変換しておく必要があります。
# cd mv ~vpopmail/domains/バーチャルドメイン名/AUTO/message
# nkf -j message > message.jis
# mv message.jis message
ただし、この方法でもSubjectの日本語化までは対応していません。また、メッセージの修正をqmailadmin上で行うと文字コードが適切に表示されません。
autoresponderのインストール
ではautoresponderのインストールです。http://inter7.com/qmailadmin/からautorespond-2.0.2.tar.gz(2002年3月時点の最新版)を適当な作業ディレクトリにダウンロードして展開します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
これで/usr/local/bin/autorespondがインストールされました。qmailadminから使用することが目的ですから、直接autorespondを使用する機会は少ないと思いますが概要だけ確認しておきます。
autoresponderは、第3回 SPAMメール徹底対策で紹介した/var/qmail/bin/bouncesayingと同じように使用します。具体的には、「.qmail」ファイルに次の1行を記述します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
引数やオプションの意味は以下のとおりです。
time:numに使う受付時間(単位:秒)
num:timeで指定された時間以内に受け付けるメールの最大数
message:応答メッセージファイル
dir:ログを作成するディレクトリ
flag(送信されてきたメッセージの扱い方)
0:応答メッセージに添付しない
1:応答メッセージに添付(デフォルト指定)
arsender(応答メッセージ中の差出人)
+:Fromを空にする
$:送られてきたメッセージ中の「To:」を使用
qmailadminのインストール
準備が整ったところで、qmailadminをインストールします。qmailadminの2002年3月時点の最新版は1.0.2です。http://inter7.com/qmailadmin/からqmailadmin-1.0.2.tar.gzを適当な作業ディレクトリにダウンロードして展開します。その後、ディレクトリを移動してconfigureを行います。vpopmailやautorespondのパスは、紹介したインストール方法であれば自動的に組み込まれます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
configureには、qmailadminの挙動を制御するさまざまなオプションが用意されています。主なオプションには次のようなものがあります。
--prefix={PREFIX}
qmailadminパッケージのインストール先。デフォルトは/usr/local
--enable-vpopmaildir={dir}
vpopmailをインストールしたディレクトリ(vpopmailユーザーのホームディレクトリ)
--enable-qmaildir={dir}
qmailのインストール先
--enable-cgipath={/cgi-bin/qmailadmin}
qmailadmin CGIのURL
--enable-vpopuser={vpopmail}
vpopmailをインストールした際のユーザー名
--enable-vpopgroup={vchkpw}
vpopmailをインストールした際のグループ名
--enable-autoresponder-bin={path}
autorespondのパス。使用しない場合は「n」を指定
--enable-ezmlmdir={dir}
ezmlmのインストール先
--enable-maxpopusers=unlimited
1バーチャルドメイン当たりの最大ユーザー数(「-1」は無制限。機能を利用しない場合は「0」を指定)
--enable-maxaliases=unlimited
1バーチャルドメイン当たりの最大エイリアス数(同上)
--enable-maxforwards=unlimited
1バーチャルドメイン当たりの最大転送設定数(同上)
--enable-maxautoresponders=unlimited
1バーチャルドメイン当たりの最大自動応答設定数(同上)
--enable-maxmailinglists=unlimited
1バーチャルドメイン当たりの最大ML数(同上)
--enable-maxusersperpage=15
Web 1ページ当たりに表示するユーザー数(デフォルトは15)
--enable-maxaliasesperpage=25
Web 1ページ当たりに表示するエイリアス数(デフォルトは25)
機能の制限や拡張をconfigureで指定することも可能ですが、これは各バーチャルドメインで制限する方法を取るため、configure時の指定は最小限にしておきます。
ではインストールを続けます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
インストールが完了したら、Webブラウザで確認してみましょう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
で、inter7社のデモと同じ画面が表示されます。
「アカウント」にpostmasterを指定した場合は、POPアカウントの追加・変更・削除、エイリアスの設定、転送、自動応答、MLといった、定常業務のほとんどが行えます。一般ユーザーを指定した場合は、パスワードの変更、コメントの登録、転送・Vacationメッセージの設定のみとなります。これで、いちいち管理者に作業を依頼することなく、Webでメールアカウントのパスワード変更が行えます。
qmailadminのカスタマイズ
qmailadminでは、以下のものがインストールされます。
/usr/local/share/qmailadmin | HTMLのひな型 |
---|---|
/home/httpd/cgi-bin/qmailadmin | CGI本体 |
/home/httpd/html/images/qmailadmin | 画像ファイル |
qmailadminのWeb画面をカスタマイズするには、/usr/local/share/qmailadmin/にあるHTMLのひな型を編集します(注)。jaファイルはページタイトルやエラーメッセージの日本語環境用セットです。社名や管理者のアドレスを入れるなどの簡単な変更は、このファイルを編集するだけです。
大規模なネットワークや商用利用で、まったく違ったルック&フィールを実現したい場合は、HTMLファイルを直接編集します。その場合、「##」で始まる値を消去したり変更しないように注意します。これらの値は、Webブラウザで表示する際にURLや表示内容として利用される大事なものです。画像を変更したり追加する場合は、/home/httpd/html/images/qmailadminディレクトリを利用します。
Webで設定できないこと
qmailadminの導入でほとんどの操作はWebで行えるようになりましたが、いくつかの作業はコマンドラインで行う必要があります。以下の作業に関しては、Webツールに頼ることができません。何にせよ、管理者にはメールサーバの運用に伴うさまざまなトラブルや障害に対応する責務がある以上、これくらいの作業はこなせるように努めましょう。
●新規にバーチャルドメインを追加したり削除する場合
バーチャルドメインの追加や削除は、従来どおりvpopmailのvadddomainとvdeldomainコマンドを使用します。qmailadminで行うことはできません。
両コマンドについては、第6回 バーチャルドメインにおけるqmailの運用を参照してください。
●バーチャルドメインごとに機能を制限
「.qmailadmin-limits」ファイルを使うことで、次の機能に制限を設けることができます。
- アカウント
- エイリアス
- 転送設定
- ML
- 自動応答
.qmailadmin-limitsファイルは、各バーチャルドメイン指定のディレクトリ「~vpopmail/domains/バーチャルドメイン名/」下に作成し、ユーザーvpopmailの権限で読み込めるようにパーミッションを変更します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
または、
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
作成や変更はqmailadmin起動後でも行えますが、変更前に作成したユーザーに対しては変更内容が反映されないことに注意しましょう。
先ほどの機能制限に用いた.qmailadmin-limitsは次のようになります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
これで、それぞれ50件まで利用できます。
●機能の無効化
同様に、.qmailadmin-limitsを用いることで次の機能を無効にできます。
- POP接続
- SMTPの外部リレー(ローカルホストのみの許可)
- パスワードの変更
.qmailadmin-limitsは次のようになります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
●ディスク使用量を制限する(quotaの設定)
バーチャルドメインごとにディスク使用量を制限するには、.qmailadmin-limitsファイルに次の1行を付け加えます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ドメインごとではなく、ユーザーごとにquotaの制限を変えたい場合は、次のvmoduserを使用します。
●すでに作成したアカウントの制限を変更する場合
.qmailadmin-limitsファイルを変更しても、それ以前から存在するユーザーに対してはquotaなどの機能制限が有効になりません。変更が必要な場合は、次のようにvmoduserコマンドを使用します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
そのほかのオプションについては、vmoduserを引数なしで実行すると表示されるヘルプメッセージを参考にしてください。
Copyright © ITmedia, Inc. All Rights Reserved.