倉金家ホームページ趣味の部屋/サーバー構築メモ/メールサーバー
| ||||||
メールサーバーの構想ここでいうメールサーバーというのは広い意味で、メールに関するサーバー群というのが正しいかもしれません。
以下のようなものを構築、設定していきます。 1) メール管理用データベースにPostfixAdmin + MySQL 2) MTA(メール送受信用)としてpostfix 3) MUA(ユーザのメール読出し用)としてPOP3とIMAP方式のいずれも可能なCourier-IMAP 4) 送信の認証用にSMTP-Authとpop-before-smtp 5) ウィルスチェッカーとしてAMaViS+clamav 6) WEBメールにSquirrelMail 7) メーリングリストサーバーとしてMailman もちろんスパムチェックも必須ですが、これはpostfix内の機能で実現します。 これらが一体で動作しますので、メールサーバーの構築というのはけっこうしんどい仕事です。 まず最初にメールの管理用データ(ユーザ名、メールアドレス、パスワード、メールボックス、転送設定、... などなど)をどうするかを決め、メールサーバー郡の設定をそれに合わせていきます。 このためにPostfixAdminというメール設定データ管理プログラムを導入します。 | ||||||
ご注意! 以下の内容は古~いバージョンのPostfixAdminについてですので、今はもう参考になりません。 かわりにこちらを参考にしてください。 | ||||||
PostfixAdminインストールプログラムを http://sourceforge.net/projects/postfixadmin/ よりダウンロードします。
解凍したフォルダを /home/mysite/www にでも移動し、フォルダ名を PostfixAdmin に変更。 このままでは日本語が使えないので、日本語をインストールします。 http://www.aconus.com/~oyaji/suse9.2/smtp-mysql-suse.htm を参考にさせていただき、さらに日本語化ファイルを http://www.aconus.com/~oyaji/suse9.2/ja.lang よりいただきます。 上記ja.langをダウンロードします。 このファイルの言語エンコーディングはShift-JISになっていますが、サーバーの設定によってはEUC-JPに変換しておく必要があるかもしれません。(私の場合はEUC-JPに変換し、最初のほうの言語設定の項目を $PALANG['charset'] = 'EUC-JP'; とした。) これをPostfixAdmin/languages に置きます。 INSTALL.TXTに従ってパーミッションの再設定やデータベースの作成を行います。 このとき、ユーザpostfix及びpostfixadminのmysqlへのログインパスワードを決めてDATABASE_MYSQL.TXTを変更しておきます。 | ||||||
PostfixAdminの設定PostfixAdmin/.htaccess をつくり以下の2行を記述します。
php_value magic_quotes_gpc on DirectoryIndex index.php さらにサーバーの言語設定によっては以下が必要かもしれません。 php_value default_charset EUC_JP(またはShift-JISなど) PostfixAdmin/admin/.htaccess の一行目の.htpasswdへのファイルパスをインストールしたディレクトリの.htpasswdへのパスに修正します。 PostfixAdmin/admin/.htpasswd の内容を消去します。 管理者のID adminIDとパスワードを決めて #htpasswd2 /home/mysite/www/PostfixAdmin/admin/.htpasswd adminID を実行し、パスワードを2回入力。新しい管理者IDとパスワードを設定します。 | ||||||
config.inc.php.sample を config.inc.php として複製し、これを編集します。
以下変更したところ。 $CONF['postfix_admin_url'] = 'http://localhost/PostfixAdmin'; $CONF['postfix_admin_path'] = '/home/mysite/www/PostfixAdmin'; $CONF['default_lang'] = 'ja'; $CONF['database_type'] = 'mysqli'; $CONF['database_user'] = '(mysqlに設定したusername)'; $CONF['database_password'] = '(mysqlに設定したpassword)'; $CONF['admin_email'] = '(管理者のメールアドレス)'; $CONF['default_aliases'] = array( 'abuse' => '(管理者のメールアドレス)', 'hostmaster' => '(管理者のメールアドレス)', 'postmaster' => '(管理者のメールアドレス)', 'webmaster' => '(管理者のメールアドレス)' ); $CONF['domain_path'] = 'YES'; $CONF['domain_in_mailbox'] = 'NO'; $CONF['transport'] = 'YES'; $CONF['alias_control'] = 'YES'; $CONF['show_header_text'] = 'YES'; その他好みに応じて適当に変更します。 | ||||||
起動サーバーのブラウザから
http://localhost/PostfixAdmin/ にアクセス。 Setup Checkerが起動し、チェックをしてくれます。 問題のないことを確認し(あれば修正し)、setup.phpを削除あるいは倉庫に移動。 再度 http://localhost/PostfixAdmin/ にアクセスしてログイン画面が表示されればOK。 | ||||||
管理者、ユーザの設定http://localhost/PostfixAdmin/admin/
よりサーバー管理者としてログインし、ドメインとドメイン管理者を設定します。 ドメインのhttp表示ディレクトリにPostfixAdminのリンクをおきます。 名前はなんでもよいのですが覚えやすいようmailadminとでもしておきます。 http://(ドメイン)/mailadmin/ よりドメイン管理者としてログインし、メールユーザのメールボックスとメールアドレスを作成します。 http://(ドメイン)/mailadmin/users/ よりログインしてメールユーザとしてパスワードの変更、転送設定ができます。 | ||||||