fedoracore6でメールサーバ
FedoraCore6でメールサーバを構築した時の覚書。
まず、必要なパッケージは
■メールサーバ
sendmail
sendmail-cf
cyrus-sasl
■pop3/imap
cyrus-imapd
を使う。
#yum list sendmail*
をしてパッケージを確認
入ってなかたっら
#yum -y install sendmail
でインストール
同様に他のパッケージを確認とインストール
※同然ですが、他のIMAPが入っていたら
#yum remove dovecot
とかで削除しましょう!
まず、sendmailの設定。
以下のファイルを編集。(デフォルトのsendmail.mc)
#cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.orig
#vi /etc/mail/sendmail.mc
dnl define(`confSMTP_LOGIN_MSG’, `$j Sendmail; $b’)dnl
この行を探して頭の"dnl “を消す。
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
dnl define(`confAUTH_MECHANISMS’, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)
この2行の頭”dnl ”を消す。
dnl define(`confLOCAL_MAILER’, `cyrusv2′)dnl
dnl define(`CYRUSV2_MAILER_ARGS’, `FILE /var/lib/imap/socket/lmtp’)dnl
と
dnl MAILER(cyrusv2)dnl
の行を探して同様に”dnl ”を消す。
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA’)dnl
の行を探して、頭に”dnl ”を加える。
最後の行に
define(’CYRUS_MAILER_FLAGS’,'A5@W’)dnl
を追加して、保存し
#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
を実行する。
次に
#cp /usr/lib/sasl2/Sendmail.conf /usr/lib/sasl2/Sendmail.conf.orig
#vi /usr/lib/sasl2/Sendmail.conf
saslauthd
の箇所を
auxprop
に変更
Cyrus-imapd(POP3とIMAP)の設定
#cp /etc/imapd.conf /etc/imapd.conf.orig
#vi /etc/imapd.conf
以下を修正
admins: cyrus ⇒ imapを管理するユーザに変更。ここでは、デフォルトのcyrus
※cyrus-imapdをインストールするとデフォルトで”cyrus”というユーザが追加されますが、お好みで管理用のユーザを追加してください。
:
sasl_pwcheck_method: saslauthd ⇒ auxporp に変更
取り合えずこんなところでOK!
で、
#service sendmail stop
#service cyrus-imapd start
#service saslauthd start
#service sendmial start
としてサービスを起動しなおす。
で、
#chkconfig –list sendmail
#chkconfig sendmail on
#chkconfig – list saslauthd
#chkconfig saslauthd on
#chkconfig – list cyrus-imapd
#chkconfig cyrus-imapd on
とかして、再起動してもサービスが実行されるようにする。
ここで、ちょっとした呪文が必要です。
#saslpasswd2 cyrus(管理用に設定したID)
PASSWORD:
#chown cyrus:mail /etc/sasldb2
#chmod 640 /etc/sasldb2
これは、一度実行すればOKでしょう!
Cyrus-imapdはFedoraCoreのユーザと非同期にメールユーザを管理することができます。
このため、Cyrus-imapdのコマンドを使用してメールユーザを追加する必要があります。
念のため
#su - imap管理用のユーザ
として、以下を実行します。
#cyradm -u 上で追加したimap管理用のユーザ localhost
IMAP PASSWORD:(管理用に設定したパスワードを入力)
ホスト名>
となり専用のプロンプトが表示されます。
ここで、
ホスト名>cm user.ユーザID
でユーザが追加されます。
以下必要な設定です。
ホスト名>setquota user.ユーザID 10000 ※メールボックスの容量
ホスト名>sam user.ユーザID imap管理用のユーザ lrswipcda ※ユーザのメールボックスを管理者権限で管理できる
ユーザの削除を行うには。
ホスト名>dm user.ユーザID
とすればOKです。
次に追加したユーザのパスワードを設定します。
#su -
#saslpasswd2 ユーザID
PASSWORD:
となるので、パスワードを入力してください。
これで、Outlook Expressからつなげてみましょう!
※オプションの設定で「デフォルトのメールボックス」の設定で「INBOX」をつけましょう!
これだけでは、メールのパスワードの変更が管理者しかできないので、webmailを導入します。
■webmail
squirremail
を使用することにします。
インストールの手順だけ以下に
#wget http://jaist.dl.sourceforge.net/sourceforge/squirrelmail/squirrelmail-1.4.9a.tar.bz2
#tar jxvf squirrelmail-1.4.9a.tar.bz2
#cd squirrelmail-1.4.9a
#wget ftp://ftp.back-street.net/pub/squirrelmail/squirrelmail-1.4.9a-ja-patch
#patch -p0 < squirrelmail-1.4.9a-ja-patch
#mv squirrelmail-1.4.9a /var/www/webmail
#wget http://jaist.dl.sourceforge.net/sourceforge/squirrelmail/all_locales-1.4.9-20070106.zip
#unzip all_locales-1.4.9-20070106.zip -d all_locales
#cd all_locales
#./install
#cd /var/www/webmail/po/
#./compilepo ja_JP
#chmod 730 /var/www/webmail/data/
#chown -R apache:apache /var/www/webmail/data/
#/var/www/webmail/config/conf.pl
以下はツールでの作業
Command >> 10
Command >> 1
[en_US]: ja_JP
Command >> 2
[iso-8859-1]: iso-2022-jp
Command >> r
Command >> 1
Command >> 5
[]: /webmail
Command >> r
Command >> 2
Command >> 1
[localhost]: 自分のドメイン
Command >> 3
Your choice [1/2] [1]:1 ⇐Sendmail
※SMTP−AUTHを実装しているのですが、SMTPを選択した場合、色々やってみましたがでダメでした。
Command >> r
Command >> 4
Command >> 7
Hide SM attributions (y/n) [n]: y
Command >> q
Save? [Y/n]: y
でな具合に設定します。
#wget http://www.squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fwww.squirrelmail.org%2Fplugins%2Fcompatibility-2.0.6.tar.gz
Compatibilityプラグイン:プラグインを全てのバージョンのSquirrelMailでそのまま動くようにする。
#wget http://www.squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fwww.squirrelmail.org%2Fplugins%2Fempty_trash-1.4-1.2.2.tar.gz
Empty Trashプラグイン:ゴミ箱フォルダを自動的に空にする。
#wget http://www.squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fwww.squirrelmail.org%2Fplugins%2Fchg_sasl_passwd-1.4.1-1.4.tar.gz
Change Sasl Passwordプラグイン:ユーザのパスワードを変更する。
をダウンロードします
ダウンロードファイルを
cd /var/www/webmail/plugins/
に移動して展開します。
それぞれのフォルダにconfig.php.sampleがあるので、config.phpにリネームします。
「Change Sasl Passwordプラグイン」は以下の設定が必要です。
#cd /var/www/webmail/plugins/chg_sasl_passwd
#gcc -o chgsaslpasswd chgsaslpasswd.c
#chown cyrus:apache chgsaslpasswd
#chmod 4550 chgsaslpasswd
を実行します。
そして、Pluginを登録するために
# /var/www/webmail/config/conf.pl
を実行し、8番のメニューを選択して一覧から登録対象を選択します
つぎに、Apacheの設定です。
#vi /etc/httpd/conf.d/webmail.conf
Alias /webmail /var/www/webmail
<Directory /var/www/webmail>
AllowOverride Limit
</Directory>
を保存します。
#service httpd reload
で設定を読み直して。
http://サーバ名/webmailでアクセスし、imapで設定したユーザでログインしてください。