
前回のqmailのインストールから初期設定の続きになります。qmailがすでにインストールされていることが条件となります。
1.vpopmailインストール準備
※Postfixからの乗り換えの場合、vpopmailで使用するid89をpostfixユーザに割当てられているため、Postfix削除及び、postfixユーザ削除を先に行って下さい。
postfixもsedmailもインストールされていない場合はpostfixやsendmailの削除、ユーザーの削除も不要です。
1 | [root@ns ~]# yum -y remove postfix ← Postfix削除 |
3 | [root@ns ~]# userdel postfix ← postfixユーザ削除 |
5 | [root@ns ~]# groupadd -g 89 vchkpw ← vchkpwグループ作成 |
7 | [root@ns ~]# useradd -g vchkpw -u 89 vpopmail -s /sbin/nologin -m -k /dev/null ← vpopmailユーザ作成 |
2.vpopmailインストール
01 | [root@ns ~]# wget http://sourceforge.net/projects/vpopmail/files/vpopmail-devel/5.4.33/vpopmail-5.4.33.tar.gz ← vpopmailダウンロード |
03 | [root@ns ~]# tar zxvf vpopmail33-5.4..tar.gz ← vpopmail展開 |
05 | [root@ns ~]# cd vpopmail33-5.4. ← vpopmail展開先ディレクトリへ移動 |
07 | [root@ns vpopmail33-5.4.]# ./configure --disable-clear-passwd ← configure |
08 | ※メールユーザパスワードを平文で保存しないようにする設定を追加 |
10 | [root@ns vpopmail33-5.4.]# make && make install-strip ← vpopmailインストール |
12 | [root@ns vpopmail33-5.4.]# cd ← vpopmail展開先ディレクトリを抜ける |
14 | [root@ns ~]# rm -rf vpopmail33-5.4. ← vpopmail展開先ディレクトリ削除 |
16 | [root@ns ~]# rm -f vpopmail33-5.4..tar.gz ← ダウンロードしたvpopmail削除 |
※メールサーバーでウィルス&スパムチェック導入している場合のみ、以下の設定をしてください。
1 | [root@ns vpopmail33-5.4.]# vi vpopmail.c ← vpopmail.c編集(ユーザ追加時に自動でスパムメール用メールボックスが作成されるようにする) |
2 | ※メールサーバーでウィルス&スパムチェック導入している場合のみ |
3 | const char *dirnames[] = {"Maildir", "Maildir/new", "Maildir/cur", |
6 | const char *dirnames[] = {"Maildir", "Maildir/new", "Maildir/cur", "Maildir/tmp", |
7 | "Maildir/.Spam", "Maildir/.Spam/new", "Maildir/.Spam/cur", "Maildir/.Spam/tmp"}; |
3.vpopmail設定
1 | [root@ns ~]# cp /etc/tcp.smtp* /home/vpopmail/etc ← /etc/tcp.smtpと/etc/tcp.smtp.cdbをvpopmail環境へ移行 |
3 | [root@ns ~]# vi /home/vpopmail/etc/vlimits.default ← デフォルト制限設定ファイル編集 |
4 | # default quota for newly created users (in bytes) |
5 | # example shows a user with a 10MB quota and a limit of 1000 messages |
7 | #default_maxmsgcount 1000 |
8 | default_quota ←コメントを外す。デフォルトのメールボックスの容量は10MBになります。 |
4.qmailのvpopmail対応
起動スクリプトをvpopmailに対応させます。
01 | [root@ns ~]# vi /etc/rc.d/init.d/qmail ← qmail起動スクリプト編集 |
04 | if [ -z $(/sbin/pidof qmail-send) ] ; then |
05 | echo -n "Starting qmail" |
08 | csh -cf '/var/qmail/rc &' 2>&1 > /dev/null |
11 | tcpserver -qv -l0 -HR -u `id -u qmaild` -g `id -g qmaild` \ |
12 | -x /etc/tcp.smtp.cdb 0 smtp \ |
13 | qmail-smtpd `hostname` /bin/checkpassword /bin/true 2>&1|\ |
17 | tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` \ |
18 | -x /home/vpopmail/etc/tcp.smtp.cdb 0 smtp \ |
19 | qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|\ |
24 | [ $RETVAL = 0 ] && touch /var/lock/subsys/qmail |
27 | echo "qmail is already started" |
31 | [root@ns ~]# /etc/init.d/qmail restart ← qmail再起動 |
5.qmail-pop3dのvpopmail対応(受信メールサーバーをPOPにする場合)
僕はpop3で受信しているのでこの設定にしたいと思います。
01 | [root@ns ~]# vi /etc/rc.d/init.d/qmail ← qmail起動スクリプト編集 |
04 | if [ -z $(/sbin/pidof qmail-send) ] ; then |
05 | echo -n "Starting qmail" |
08 | csh -cf '/var/qmail/rc &' 2>&1 > /dev/null |
11 | tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` \ |
12 | -x /home/vpopmail/etc/tcp.smtp.cdb 0 smtp \ |
13 | qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|\ |
17 | tcpserver -qvRH -u `id -u qmaild` -g `id -g qmaild` \ |
18 | 0 pop3 qmail-popup `hostname` /bin/checkpassword \ |
19 | qmail-pop3d Maildir 2>&1 | splogger pop3 & |
22 | tcpserver -qvRH -u `id -u vpopmail` -g `id -g vpopmail` \ |
23 | 0 pop3 qmail-popup `hostname` /home/vpopmail/bin/vchkpw \ |
24 | qmail-pop3d Maildir 2>&1 | splogger pop3 & |
28 | [ $RETVAL = 0 ] && touch /var/lock/subsys/qmail |
31 | echo "qmail is already started" |
35 | [root@ns ~]# /etc/rc.d/init.d/qmail restart ← qmail再起動 |
6.メインドメイン移行
メインドメイン環境をvpopmail配下へ移行します。
01 | [root@ns ~]# /home/vpopmail/bin/vadddomain `hostname -d` ← メインドメイン追加 |
02 | Please enter password for postmaster: ← postmaster@ドメイン名のパスワード応答※パスワードは表示されない |
03 | enter password again: ← postmaster@wドメイン名のパスワード応答(確認)※パスワードは表示されない |
04 | NOTICE: Out of order entries found in /var/qmail/control/rcpthosts |
07 | [root@ns ~]# vi /home/vpopmail/domains/`hostname -d`/.qmail-default ← メインドメインの.qmail-default編集 |
08 | #| /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox |
09 | | /var/qmail/bin/fastforward -p -d /etc/aliases.cdb ← 追加(/etc/aliasesを有効にする) |
10 | | /var/qmail/bin/dot-forward `/home/vpopmail/bin/vuserinfo -d $EXT@$HOST`/.forward ← 追加(.forwardを有効にする) |
11 | | /home/vpopmail/bin/vdelivermail '' delete ← 変更(宛先不明メールは送信元へ通知せずに捨てる)※ |
7.システムアカウント移行
システムアカウントをvpopmail配下のメインドメインへ移行する。
1 | ※パスワードをもっているシステムアカウントのみvpopmail配下に移行される |
3 | [root@ns ~]# /home/vpopmail/bin/vuserinfo -n -D `hostname -d` ← 移行されたユーザの確認 |
8.メールデータ移行
システムアカウントのメールデータ(~/Maildir/,~/.forward,~/.qmail)をvpopmail配下のメインドメイン内該当ユーザのホームディレクトリへ移行する
01 | [root@ns ~]# vi migrate-maildir ← メールデータ移行スクリプト作成 |
09 | if [ $user = "root" ]; then |
15 | if [ -d $home/Maildir ] && [ -d /home/vpopmail/domains/$DOMAIN/$user/Maildir ]; then |
16 | /bin/cp -r $home/Maildir \ |
17 | /home/vpopmail/domains/$DOMAIN/$user |
18 | [ -f $home/.forward ] && /bin/cp -r $home/.forward \ |
19 | /home/vpopmail/domains/$DOMAIN/$user |
20 | [ -f $home/.qmail ] && /bin/cp -r $home/.qmail \ |
21 | /home/vpopmail/domains/$DOMAIN/$user |
22 | chown -R vpopmail. /home/vpopmail/domains/$DOMAIN/$user |
28 | for user in `ls /home/`; |
36 | [root@ns ~]# sh migrate-maildir ← メールデータ移行スクリプト実行 |
43 | [root@ns ~]# rm -f migrate-maildir ← メールデータ移行スクリプト削除 |
バーチャルドメインの追加はここでは触れておりません。
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS