このページではLinux構築した自宅サーバーで、WebメーラーとしてSquirrelMailを利用する方法について初心者向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
メールサーバーの構築

メールサーバーについて

電子メールシステムについて

メールアカウントの作成

POP/IMAPサーバーの設定

Sendmailの設定

Postfixの設定

ユーザー認証によるメール送信

SMTP AUTHの設定

POP/IMAP before SMTP

dracによるPBS構築
(WBEL3,CentOS3(i386))

Pop-before-smtpの設定
(WBEL3,4_CentOS3,4+UW IMAP)

Pop-before-smtpの設定
(WBEL4_CentOS4,5+Dovecot)

SquirrelMailの設定

サブミッションポートの設定

メールの転送設定のコツ

メールサーバーのコントロール

メールサーバーの動作チェック

ポートフォワーディングの設定


日本でWebメールが普及しなかった理由とは

MUA として Webブラウザ を利用し、 クライアント機 上にはメールの保存を一切行わない形で電子メールを利用する、いわゆる Webメール方式 は、メールの利用にあたって、

1.必ずしも自分でパソコンを所有する必要がない。

2.必ずしも自宅に通信環境を持つ必要がない。

3.Webサーバーが送受信の認証を仲介するので、認証作業が簡単になる

という大きな利点があります。

海外では比較的利用者の多いこのWebメールですが、日本ではいまひとつ普及度が低いのが実状です。

日本ではインターネットが普及するずっと以前から UNIX OS による電子メールシステムが運用されていました。

そしてインターネットの普及後も、その発展型ともいえる POP3 + SMTP というスタイルを中心にメールシステムが構築されていきました。

つまり日本の電子メール事情は、仕組みを提供する側が「それを当たり前のスタイル」として定着させてしまった感があります。

一方それを利用する側も、「通信環境も ハードウェア も、それを自分で所有することがインターネットへ参加するための必要条件。」という「自己所有を偏重する志向」が強かったため、「借り物の回線で、借り物のパソコンでメールを扱う。」ということに抵抗があったことも、Webメールが普及できなかった理由の一つでしょう。

その一方で、海外では多くの国々が国家政策としていち早く高速な通信回線を普及させ、利用者を増やすために公のインターネット利用拠点を拡充させていった結果、「自分で通信環境やパソコンを持たなくてもインターネットが利用できる。」という環境が先に整いました。

そのことがPOP3+SMTP方式よりもWebメール方式を普及させる結果になったのは疑うべくもありません。

Webメールは原則としてメールのデータをクライアント機に ダウンロード しませんから、インターネットに接続できる環境にあるパソコンがあれば、何時でも何処からでも利用できます。

また、専用の MUA を使わないので、利用にあたって一々接続設定を行う必要もありません。利用に必要なのは ユーザーアカウント 名とパスワードだけです。

つまり、

・ノートパソコンは持っていないけれども、外出先からメールを扱いたい。

・職場や学校のパソコンで自分のメールを扱いたいけれども、MUAが利用制限されている。

・そういった知人や友人にもメールを扱わせてやりたい。

某日本国の某国営放送で最近放送された初心者向けの「趣味のパソコン講座」的番組の中で、
「電子メールを利用するには、 ISP と通信契約を結ぶ必要があります。」
などと、初心者に無駄なお金を払わせるような発言が平気でなされていました。
もちろん、メールを試してみるだけならインターネットカフェでフリーのメールアドレスをもらえば良いだけです。
ウソはいけませんよね。

というような場合には、Webメールは非常に重宝する手段といえるでしょう。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

SquirrelMailの有効化の設定

この コンテンツ に沿って WBEL CentOS インストール を行うと、 デフォルト SquirrelMail と呼ばれる Webメール システムがインストールされているはずです。

SquirrelMailは、 Apache と任意の MTA 、及び IMAP4 が利用できる サーバー であれば、簡単に利用することができますし、これらの アプリケーション がきちんとセットアップされていれば、基本的な接続設定は不要で利用を開始することができます。

まず、これらのアプリケーションが稼動していることを確認してください httpdの動作確認 Sendmailの動作確認 Postfixの動作確認 POP3/IMAPの動作確認

次に、以下の説明を参考に httpd の設定を変更し、 SquirrelMailのディレクトリ パス への HTTP でのアクセスを有効化してください。

設定は、httpdの主設定ファイル "/etc/httpd/conf/httpd.conf" に対するアクセス許可の記述で行うこともできます。

しかしながら、Apacheのモジュール用設定ファイルディレクトリ "/etc/httpd/conf.d/" Apacheの構成ファイルについて に、 "squirrelmail.conf" として専用の設定ファイルが予め準備されています。

できれば、通常のhttpdサービスの設定と紛らわしくならないように、SquirrelMailの設定はこちらに記述するようにしましょう。

まず、 サブネット 内の適当な クライアント機 から SSHクライアント 構築中のLinuxサーバー ログイン します SSHクライアントでサーバーに接続する(WBEL3) SSHクライアントでサーバーに接続する(CentOS3) SSHクライアントでサーバーに接続する(WBEL4) SSHクライアントでサーバーに接続する(CentOS4) SSHクライアントでサーバーに接続する(CentOS5)

それから su コマンドで アカウント "root" に変更し、 nano エディタで "/etc/httpd/conf.d/squirrelmail.conf" を開きます nanoエディタでファイルを開く

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# nano /etc/httpd/conf.d/squirrelmail.confEnter


nanoで/etc/httpd/conf.d/squirrelmail.confを開く
nanoで"/etc/httpd/conf.d/squirrelmail.conf"を開く

つまりデフォルトでは、 "Alias" ディレクティブ Aliasディレクティブについて で、

「ディレクトリ"/usr/share/squirrelmail"を、 URL "http://www.obenri.com/webmail/"でアクセスできるようにする。」

と設定されています。

もしも、"/etc/httpd/conf/httpd.conf"の中の "/(ルート)" ディレクトリに対するアクセス制御の設定 ルートディレクトリに対するコンテナディレクティブの設定 が、デフォルトの、

<Directory />
  Options FollowSymLinks
  AllowOverride None
</Directory>

のままであれば、この

「/(ルート)以下の全ディレクトリに対して、全ての ノード からのHTTPによるアクセスを許可する。」

という設定がそのまま下位の"/usr/share/squirrelmail"にも適用されます。

従ってこの場合は、"/etc/httpd/conf.d/squirrelmail.conf"には何の変更を加えなくても、 "http://www.obenri.com/webmail/"にアクセスできます。

しかし、この コンテンツ の勧めに従い、 セキュリティ 重視で、

<Directory />
  Options FollowSymLinks
  AllowOverride None
  Order Deny,Allow
  Deny from all
</Directory>

と修正している場合、この

「/(ルート)以下の全ディレクトリに対して、全てのノードからのHTTPアクセスを禁止する。」

という設定が、その下位のディレクトリ"/usr/share/squirrelmail"に対しても有効になっていますから、このままでは"http://www.obenri.com/webmail/"にアクセスすることはできません。

従ってこの場合には、"/usr/share/squirrelmail"に対して明示的にHTTPによるアクセス許可の設定を行う必要があります。

具体的には web空間式コンテナ web空間式コンテナについて ディレクティブを使って、"/etc/httpd/conf.d/squirrelmail.conf"に対して、以下のような修正、追加記述を行います。

#
# SquirrelMail is a webmail package written in PHP.
#
Alias /webmail /usr/share/squirrelmail

<Location /webmail>
  Order Deny,Allow
  Deny from all
  Allow from 127.0.0.1 192.168.100
</Location>
WAN からでもSquirrelMailを使用できるようにする方法は、次のステップで説明します。

これでSquirrelMailが LAN 内からのみ利用可能になります。

記述が終わったらnanoエディタを終了してファイルを保存し nanoエディタでファイルを閉じる 、httpdの再起動、または設定の再読み込み httpdのコントロール を行って設定を有効にしてください。

それから、 LAN 内の任意の ホスト機 Webブラウザ を起動し、アドレスバーに

http://www.obenri.com/webmail/

とタイプして Webサーバー に接続してみてください。次のような ログイン 画面が表示されるはずです。

Squirrelmailはかなりの頻度で細かいバージョンアップが行われるアプリケーションです。
以下は CentOS5 上で2010年5月頃行われたアプリケーションの アップデート 後の仕様に基づいて解説します。
右のログイン画面もバージョンが変わるところころ換わりますが、基本的な機能が大きく変わることはないようです。
もしもログイン画面中に示されるSquirrelmailのバージョンが右の "1.4.8-5" よりも古い場合には yum によるアップデートを行って最新バージョンにアップデートしてください yumによるプログラムのアップデート(WBEL3) yumによるプログラムのアップデート(CentOS3) yumによるプログラムのアップデート(WBEL4) yumによるプログラムのアップデート(CentOS4) yumによるプログラムのアップデート(CentOS5)
以後の説明はアップデート後のSquirrelmailを例に解説しています。
SquirrelMailのユーザーログイン画面
"SquirrelMail"のユーザーログイン画面

ここで、 @ にメールの送受信で用いる 構築中のLinuxサーバー 上の ユーザーアカウント 名、 A にログインパスワードをタイプして ログイン ボタンをクリックしてください。以下のように直ぐに利用できる状態になります。

SquirrelMailの初期画面
"SquirrelMail"の初期画面

SquirrelMailは基本的に PHP で動作しますから高速で動作負荷も小さいのが特徴です。

また、 "OutlookExpress" のような専用の MUA のように多機能ではありませんが、一般的な用途でしたらまず問題ありません。自由自在とまではいきませんが、ユーザーが好みに合わせて初期設定を行うこともできます。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

このページの先頭へ↑

SquirrelMailのセキュリティ対策

WAN からでも SquirrelMail を利用可能にするには、 "/etc/httpd/conf.d/squirrelmail.conf" "Order" ディレクティブ の記述を、

#
# SquirrelMail is a webmail package written in PHP.
#
Alias /webmail /usr/share/squirrelmail

<Location /webmail>
  Order Allow,Deny
  Allow from all

</Location>
WAN空間でSquirrelMailを利用するには、 HTTP IMAP POP3 の三つの Well-Knownポート (順に80,143,110)を、 ルーター 構築中のLinuxサーバー ポートフォワーディング しなければなりません。 httpdのポートフォワーディング設定について メールサーバーのポートフォワーディング設定について

に変更すればOKですが、この場合は デフォルト のディレクトリ名である "webmail/" は、できるだけ別の名称に変更することをお勧めします。

SquirrelMailは、利用者がだれであっても、まず Webブラウザ から

http://www.obenri.com/webmail/

にアクセスしてユーザーログイン画面、

SquirrelMailのユーザーログイン画面
"SquirrelMail"のユーザーログイン画面

を呼び出し、それから ログイン 作業を行うようになっています。

もちろん、 ユーザーアカウント とそのパスワードがなければここから先へは進めない訳ですが、その場合でも 構築中のLinuxサーバー はユーザーログイン画面を表示したり、認証を拒否したり、という仕事を行わなければなりません。

世の中には色々な人がいますから、たまたま表示されたユーザーログイン画面であっても、とりあえず適当な名前とパスワードでログインを試してみる人もいるでしょうし、中には悪意を持って、

http://[個人サーバーと思われるFQDN]/webmail/

を探し回って、 スパムメールサーバー にしてしまおうと目論んでいる人もいるかもしれません。

つまり、 "webmail/" というディレクトリ名をそのままにしておくことはセキュリティ上好ましいことではありませんから、例えば、

#
# SquirrelMail is a webmail package written in PHP.
#
Alias /obenrimail /usr/share/squirrelmail

<Location /obenrimail>
  Order Allow,Deny
  Allow from all
</Location>

のようにディレクトリ名を変更してしまい、

http://www.obenri.com/obenrimail/

でアクセスしなければならないようにしてしまいましょう。

たったこれだけの設定で、無駄なアクセスはずっと減るはずです。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

このページの先頭へ↑

SquirrelMailの構成ファイル

以下に、 WBEL CentOS に標準で インストール されている SquirrelMail を構成するファイルで、重要と思われるものを示します。

SquirrelMailの構成ファイル一覧
SquirrelMailの構成ファイル一覧

SquirrelMailは PHP スクリプト を中心とした多数の サーバーサイドアプリケーション から構成される コンテンツ です。

当然、 Webサーバー が稼動していなければ、SquirrelMailも利用できません。

従って、起動させておく デーモン などはありません。ドキュメントルートである "/usr/share/squirrelmail/" HTTP でアクセスできる状態が「稼動状態」、アクセスできない状態が「停止状態」、ということになります。

つまり、 "/etc/httpd/conf.d/squirrelmail.conf" "Alias" ディレクティブ をコメントアウトすれば、意図的に停止状態にすることができます。

もちろん、この設定ファイルの保存後に httpd の再起動または設定の再読み込みが必要です。 httpdのコントロールについて
#
# SquirrelMail is a webmail package written in PHP.
#
#Alias /obenrimail /usr/share/squirrelmail

<Location /obenrimail>
  Order Allow,Deny
  Allow from all
</Location>

SquirrelMailは、正しくは メールサーバー ではありません。

SquirrelMailは "OutlookExpress" などと同じ MUA アプリケーション の機能を クライアント に提供するものですから、正確にいえば MUA サーバー です。

つまり、SquirrelMailの基本的な動作は、 Sendmail または Postfix などの MTA 、及び UW IMAP などの MRA が提供する IMAP デーモンに従いますから、メールサーバーとしての設定は当然不要になります。

従って、以下のパートで説明するのは、SquirrelMailが各クライアントに提供するMUA機能の デフォルト 設定ということになりますが、その設定ファイルは "/etc/squirrelmail/config.php" というPHPスクリプトです。

そのスクリプトファイルを直接編集することもできますが、スクリプトの書式を崩すことなく、簡単に設定を行い、"/etc/squirrelmail/config.php"の書き換えを行うための Perl スクリプトとして、 "/usr/share/squirrelmail/config/conf.pl" が準備されています。

またSquirrelMailは、クライアントが自分の好みに合わせて初期設定を変更することができますが、その設定は、 "/var/lib/squirrelmail/prefs/" に収められるようになっています。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

このページの先頭へ↑

SquirrelMailの設定

まず、 サブネット 内の適当な クライアント機 から SSHクライアント 構築中のLinuxサーバー ログイン します SSHクライアントでサーバーに接続する(WBEL3) SSHクライアントでサーバーに接続する(CentOS3) SSHクライアントでサーバーに接続する(WBEL4) SSHクライアントでサーバーに接続する(CentOS4) SSHクライアントでサーバーに接続する(CentOS5)

それから su コマンド アカウント "root" に変更し、 cp コマンドで "/etc/squirrelmail/config.php" のバックアップを作成した後、 Perl スクリプト "/usr/share/squirrelmail/config/conf.pl" を実行します。

[tanaka@web1 tanaka]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 root]# cp /etc/squirrelmail/config.php /etc/squirrelmail
/config.php.org
Enter
[root@web1 root]# /usr/share/squirrelmail/config/conf.plEnter


/usr/share/squirrelmail/config/conf.plを実行する
"/usr/share/squirrelmail/config/conf.pl"を実行する

実際に設定を始める前に、上のイメージの オレンジ の線の文字がきちんと見えるかどうかを確認してください。

もしも見えないときは、お使いの SSHクライアント の表示色が、このスクリプトの表示色とマッチしていませんので、表示されるメッセージの一部が画面上表示されません。

そのときは、 c Enter とタイプして、カラー表示をオフに切り替えてください。

また、

表示されるメッセージに従って操作すれば難しくはないはずです。もちろん、メッセージはすべて英語ですが。

設定は基本的に、修正したい項目を数字で選び、 Enter を押して選択し、設定したいパラメータを入力して Enter で確定します。

最後に s Enter で設定を保存し、 q Enter で設定スクリプトを終了します。

SquirrelMail には非常に多くの設定項目がありますが、 WBEL CentOS に標準で インストール されているSquirrelMailは、言語の設定を除くとほぼ最適な設定になっていますので、実際に修正が必要な部分はほとんどありません。

10. Languages〜デフォルト言語の設定

まずはSquirrelMailの表示言語を日本語に変更してしまいましょう。もちろん英語表記のままでいい場合にはそのままでも構いません。

表示言語の設定は、後からユーザーが個別にSquirrelMailのオプション画面から任意に変更することができますが、ここで デフォルト の言語を日本語に設定しておくと、新規のユーザーは日本語の画面から利用を開始することができるようになります。

設定メニューのトップ画面から "10." を選ぶと、次のような画面になります。

10. Languagesメニュー
"10. Languages"メニュー

これを以下のように修正してください。

修正後の10. Languagesメニュー
修正後の"10. Languages"メニュー

設定を保存すると、例えばログイン画面が以下のように日本語表記になります。

日本語表記のSquirrelMailのユーザーログイン画面
日本語表記の"SquirrelMail"のユーザーログイン画面

もちろん、ログイン後の操作ページも同じように日本語化されているはずですので試してみてください。

1. Organization Preferences〜表示する基本情報の設定

SquirrelMail のユーザー ログイン 画面や、操作画面の中で表示する各種情報の設定です。

1. Organization Preferencesメニュー
"1. Organization Preferences"メニュー

5. 6. は必須の設定なので変更しないでそのままにしておきますが、その他の項目は適宜修正すると、SquirrelMailのインターフェースを自分なりのイメージに変更することができます。

その他のパラメータは、以下の部分に対応します。


これらの設定は、SquirrelMailの主要な機能ではありませんので、詳しい設定内容の説明は割愛します。例えば、

1. Organization Preferencesの設定例
"1. Organization Preferences"の設定例

のように設定を行うと、以下のように表示が変わります。

もちろん、これらの設定がSquirrelMailの動作に重要な影響を与えることはありませんので、自由にカスタマイズしてかまいません。

2. Server Settings〜サーバーに関する設定

メールサーバー との連携に関する設定です。

2. Server Settingsメニュー
"2. Server Settings"メニュー

修正しておくべきところは で示した "1. Domain:" の設定だけです。

設定の意味としては、 Postfix の設定ファイル "/etc/postfix/main.cf" "myorigin" ディレクティブ myoriginディレクティブについて と同じです。

これは SquirrelMail の利用者が自分の個人情報を設定する際、自分のメールアドレスの部分の設定を省略した場合に、

[ ユーザーアカウント名 ]@[1.Domain:のパラメータ]

と自動で設定を行うために使われるパラメータです。

デフォルト のパラメータの "localhost" は、 サーバー の正式ホスト名を示しますから、もしもユーザーアカウント "tanaka" が利用する場合には、自動的に、

tanaka@web1.obenri.com

がデフォルトの送信者側のメールアドレス情報となります。

もちろんこれでは少し具合が悪いので、この設定は "localhost" から "obenri.com" に変更しておきましょう。すると、

tanaka@obenri.com

がデフォルトの送信者側メールアドレス情報として扱われるようになります。

もちろん、利用者の個人設定をきちんとしてもらうに越したことはありませんが、この部分をきちんとしておくことで余計なトラブルを未然に防ぐことになります。

注意深い方は、メニューの中の "A." の設定項目の末尾の、 "(uw)" が、 UW IMAP を指すのでは、と思われるかもしれません。
もちろん正解です。
ということはWBEL4やCentOS4、CentOS5で Dovecot IMAP サーバー として使用する場合はこれを変更する必要がありそうですが、特に設定を変更しなくても大丈夫のようですね。
ただし、利用するMRAが異なるとサーバー上の送信メールの保管ディレクトリが変わってしまいますので、MRAを変更するときは注意が必要です。
ここではその詳細は説明しませんが、 プロンプト から ホームディレクトリ を覗くと意味はおわかりになると思います。

この "2. Server Settings" メニューでは、他に設定を変更すべき点はありません。

設定の中にはいくつか Sendmail というパラメータが使われている部分もありますが、 MTA としてPostfixを利用する場合でも特に変更する必要はありません。

なぜなら WBEL CentOS 上のPostfixはSendmailの互換 アプリケーション として振舞うように設計されているため、その他のアプリケーションがSendmailをMTAとして指定していても、問題なく動作するように配慮されているからです。

5. Themes〜デフォルトの表示に関する設定

SquirrelMail は、利用者が自分の好みの表示色とフォントを選択できるように設計されていますが、この "5. Themes" は利用者に対して デフォルト で提供される表示色とフォントに関する設定です。

設定の方法は少し特殊ですが、実際に操作をしながらメッセージを読めば判るはずですので、ここでは説明はしません。

例えば、

In The Pink+sans-10で画面をカスタマイズ
"In The Pink"+"sans-10"で画面をカスタマイズ

のように変更することができます。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

このページの先頭へ↑

SquirrelMailをもっと快適に!

このパートの目的は、 サーバー の構築ですので、 SquirrelMail に関する説明はこれで終わります。

ただSquirrelMailは、非常に多くの追加プログラム(PlugIn)を利用して、もっと多機能に、もっと便利にすることができますから、興味のある方は色々チャレンジしてみるのも良いかもしれません。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System