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