このWebサイト ひつじ帳 は、管理者がWEB関連の技術をまとめた備忘録サイトです。 Linux,CentOS,PHP,MySQL,Blogger,JavaScript,CSS について記録しています。

CentOS-5/qmail+vpopmail/vpopmail インストール

[ qmail ] [ qmail + vpopmail/qmail インストール ] [ qmail + vpopmail/vpopmail 設定 ]

vpopmail 用 ユーザ・グループ作成


[root@linux ~]# groupadd -g 89 vchkpw ←■ vpopmail用グループの vchkpwグループ作成
[root@linux ~]# useradd -g vchkpw -u 89 vpopmail -s /sbin/nologin -m -k /dev/null ←■ vpopmailユーザ作成
[root@linux ~]# chmod 755 /home/vpopmail ←■ パーミッション変更

vpopmail インストール

最新版確認 → vpopmail ダウンロードページ

再インストールする場合


[root@linux ~]# cp vpopmail-5.4.25 ←■ vpopmailインストール用ディレクトリへ移動
[root@linux vpopmail-5.4.25]# make distclean ←■ 以前のmakeファイルを削除

リレー許可DBの作成


[root@linux ~]# mkdir -p /home/vpopmail/etc/ ←■ インストール前に必要なディレクトリ作成
[root@linux ~]# echo '127.:allow,RELAYCLIENT=""' > /home/vpopmail/etc/tcp.smtp ←■ リレー許可として127.を追加
[root@linux ~]# tcprules /home/vpopmail/etc/tcp.smtp.cdb /home/vpopmail/etc/tcp.smtp.tmp < /home/vpopmail/etc/tcp.smtp ←■ cdbの作成
[root@linux ~]# chown -R vpopmail. /home/vpopmail/etc ←■ 作成したディレクトリ以下の所有者変更

configure時のオプション


--enable-logging=y ←■ メール受信時のログを記録する場合は「y」
--enable-roaming-users=y ←■ POP before SMTP認証を使う場合は「y」
--enable-relay-clear-minutes=10 ←■ POP before SMTP用 relayがclearされる時間を10分に指定(デフォルトは180分)
--enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp ←■ リレー許可ファイルのパス(問題が起これば指定してみる)
--enable-clear-passwd=n ←■ パスワードを平文で保存しないようにする場合は追加(SMTP認証では指定しない事)

vpopmail(SMTP認証用)インストール


[user@linux qmail]$ wget http://nchc.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.25.tar.gz ←■ vpopmailダウンロード
[user@linux qmail]$ tar zxvf vpopmail-5.4.25.tar.gz ←■ vpopmail 展開

[user@linux qmail]$ cd vpopmail-5.4.25 ←■ vpopmail 展開先ディレクトリへ移動

※ メールサーバーでウィルス&スパムチェック導入している場合のみ
[user@linux vpopmail-5.4.25]$ vi vpopmail.c ←■ vpopmail.c 編集(ユーザ追加時に自動でスパムメール用メールボックスを作成)
+----------------------------------------------------------------------------------------
| const char *dirnames[] = {"Maildir", "Maildir/new", "Maildir/cur",
|        "Maildir/tmp"};
+----------------------------------------------------------------------------------------
 ↓■ 変更
+----------------------------------------------------------------------------------------
| const char *dirnames[] = {"Maildir", "Maildir/new", "Maildir/cur", "Maildir/tmp",
|        "Maildir/.Spam", "Maildir/.Spam/new", "Maildir/.Spam/cur", "Maildir/.Spam/tmp"};
+----------------------------------------------------------------------------------------

:wq ←■ 保存して閉じる

[user@linux vpopmail-5.4.25]$ vi vchkpw.c ←■ vchkpw.c の修正
hmac_md5( (unsigned char *) challenge, strlen(challenge), (unsigned char *) password, strlen(password), digest);
↓■ 2か所変更 747行目辺り
hmac_md5( (unsigned char *) response, strlen(response), (unsigned char *) password, strlen(password), digest);

return(strcmp(digascii,response));
↓■ 1か所変更 759行目辺り
return(strcmp(digascii,challenge));

:wq ←■ 保存して閉じる

[user@linux vpopmail-5.4.25]$ su - ←■ root権限になる

[root@linux vpopmail-5.4.25]# ./configure \
--enable-qmail-ext=n \
--enable-logging=y                  [Enter] ←■ configure

~ 中略 ~

           vpopmail 5.4.25           
            Current settings
---------------------------------------

vpopmail directory = /home/vpopmail
 domains directory = /home/vpopmail/domains
               uid = 89
               gid = 89
     roaming users = OFF --disable-roaming-users (default)
 password learning = OFF --disable-learn-passwords (default)
     md5 passwords = ON  --enable-md5-passwords (default)
      file locking = ON  --enable-file-locking (default)
vdelivermail fsync = OFF --disable-file-sync (default)
     make seekable = ON  --enable-make-seekable (default)
      clear passwd = ON  --enable-clear-passwd (default)
 user dir hashing  = ON  --enable-users-big-dir (default)
address extensions = OFF --disable-qmail-ext (default)
          ip alias = OFF --disable-ip-alias-domains (default)
   onchange script = OFF --disable-onchange-script (default)
       auth module = cdb --enable-auth-module=cdb (default)
          auth inc = -Icdb
          auth lib = 
  system passwords = OFF --disable-passwd (default)
        pop syslog = show successful and failed login attempts --enable-logging=y
      auth logging = ON  --enable-auth-logging (default)
      spamassassin = OFF --disable-spamassassin (default)
          maildrop = OFF --disable-maildrop (default)
[root@linux vpopmail-5.4.25]#

[root@linux vpopmail-5.4.25]# make 
[root@linux vpopmail-5.4.25]# make install-strip ←■ vpopmail インストール

[root@linux vpopmail-5.4.25]# chown root. /home/vpopmail/bin/vchkpw ←■ vchkpw にroot権限の設定
[root@linux vpopmail-5.4.25]# chmod 4755 /home/vpopmail/bin/vchkpw ←■ vchkpw のパーミッション変更

[root@linux vpopmail-5.4.25]# cd ../ ←■ vpopmail 展開先ディレクトリを抜ける
[root@linux vpopmail-5.4.25]# rm -rf vpopmail-5.4.25 ←■ vpopmail 展開先ディレクトリ削除
[root@linux vpopmail-5.4.25]# rm -f vpopmail-5.4.25.tar.gz ←■ ダウンロードした vpopmail 削除

参考 SMTP認証時の /home/vpopmail/etc/ 内のファイル一覧


-rw-r--r-- 1 root     root     25  5月 22 12:52 inc_deps
-rw-r--r-- 1 root     root     42  5月 22 12:52 lib_deps
-rw-r--r-- 1 root     root      0  5月 22 13:19 tcp.smtp
-rw-r--r-- 1 vpopmail vchkpw 2048  5月 22 15:00 tcp.smtp.cdb
-rw-r--r-- 1 vpopmail vchkpw 1161  5月 22 12:52 vlimits.default

※ 続いて → qmail + vpopmail/vpopmail 設定


vpopmail(POP Before SMTP用)インストール


[user@linux qmail]$ wget http://nchc.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.25.tar.gz ←■ vpopmailダウンロード
[user@linux qmail]$ tar zxvf vpopmail-5.4.25.tar.gz ←■ vpopmail 展開

[user@linux qmail]$ cd vpopmail-5.4.25 ←■ vpopmail 展開先ディレクトリへ移動

※ メールサーバーでウィルス&スパムチェック導入している場合のみ
[user@linux vpopmail-5.4.25]$ vi vpopmail.c ←■ vpopmail.c 編集(ユーザ追加時に自動でスパムメール用メールボックスを作成)
+----------------------------------------------------------------------------------------
| const char *dirnames[] = {"Maildir", "Maildir/new", "Maildir/cur",
|        "Maildir/tmp"};
+----------------------------------------------------------------------------------------
 ↓■ 変更
+----------------------------------------------------------------------------------------
| const char *dirnames[] = {"Maildir", "Maildir/new", "Maildir/cur", "Maildir/tmp",
|        "Maildir/.Spam", "Maildir/.Spam/new", "Maildir/.Spam/cur", "Maildir/.Spam/tmp"};
+----------------------------------------------------------------------------------------

:wq ←■ 保存して閉じる

[user@linux vpopmail-5.4.25]$ su - ←■ root権限になる

[root@linux vpopmail-5.4.25]# ./configure \
--enable-roaming-users=y \
--enable-relay-clear-minutes=10 \
--enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp \
--enable-qmail-ext=n \
--enable-logging=y                  [Enter] ←■ configure
 
~ 中略 ~

           vpopmail 5.4.25           
            Current settings
---------------------------------------

vpopmail directory = /home/vpopmail
 domains directory = /home/vpopmail/domains
               uid = 89
               gid = 89
     roaming users = ON  --enable-roaming-users
    tcpserver file = /home/vpopmail/etc/tcp.smtp
    open_smtp file = /home/vpopmail/etc/open-smtp
rebuild tcpserver file = ON  --enable-rebuild-tcpserver-file (default)
 password learning = OFF --disable-learn-passwords (default)
     md5 passwords = ON  --enable-md5-passwords (default)
      file locking = ON  --enable-file-locking (default)
vdelivermail fsync = OFF --disable-file-sync (default)
     make seekable = ON  --enable-make-seekable (default)
      clear passwd = ON  --enable-clear-passwd (default)
 user dir hashing  = ON  --enable-users-big-dir (default)
address extensions = OFF --disable-qmail-ext (default)
          ip alias = OFF --disable-ip-alias-domains (default)
   onchange script = OFF --disable-onchange-script (default)
       auth module = cdb --enable-auth-module=cdb (default)
          auth inc = -Icdb
          auth lib = 
  system passwords = OFF --disable-passwd (default)
        pop syslog = show only failed attempts --enable-logging=e (default)
      auth logging = ON  --enable-auth-logging (default)
      spamassassin = OFF --disable-spamassassin (default)
          maildrop = OFF --disable-maildrop (default)
[root@linux vpopmail-5.4.25]#

[root@linux vpopmail-5.4.25]# make 
[root@linux vpopmail-5.4.25]# make install-strip ←■ vpopmail インストール

[root@linux vpopmail-5.4.25]# chown root. /home/vpopmail/bin/vchkpw ←■ vchkpw にroot権限の設定
[root@linux vpopmail-5.4.25]# chmod 4755 /home/vpopmail/bin/vchkpw ←■ vchkpw のパーミッション変更

[root@linux vpopmail-5.4.25]# cd ←■ vpopmail 展開先ディレクトリを抜ける
[root@linux vpopmail-5.4.25]# rm -rf vpopmail-5.4.25 ←■ vpopmail 展開先ディレクトリ削除
[root@linux vpopmail-5.4.25]# rm -f vpopmail-5.4.25.tar.gz ←■ ダウンロードした vpopmail 削除

参考 POP Before SMTP時の /home/vpopmail/etc/ 内のファイル一覧


-rw-r--r-- 1 root     root     25  5月 22 12:52 inc_deps
-rw-r--r-- 1 root     root     42  5月 22 12:52 lib_deps
-rw-r--r-- 1 vpopmail vchkpw    0  5月 22 15:00 open-smtp
-rw------- 1 root     root      0  5月 22 12:53 open-smtp.lock
-rw-r--r-- 1 root     root      0  5月 22 13:19 tcp.smtp
-rw-r--r-- 1 vpopmail vchkpw 2048  5月 22 15:00 tcp.smtp.cdb
-rw-r--r-- 1 vpopmail vchkpw 1161  5月 22 12:52 vlimits.default

メール受信時の認証に成功すれば、open-smtp に接続時のIPが登録され tcp.smtp.cdb が更新される。

CRON 設定

POP Before SMTP の場合は、受信認証を通った期限切れIPのを定期的に削除する必要があります。

[root@linux ~]# crontab -e
*/10 * * * * /home/vpopmail/bin/clearopensmtp > /dev/null 2>&1 ←■ 最終行に追記する(10分毎に処理します。)

※ インストールの続き → qmail + vpopmail/vpopmail 設定

0 件のコメント:

人気記事

アーカイブ

このブログを検索