メールサーバー移行メモ をテンプレートにして作成
検索
開始行:
> ホスティング会社を変える時の、2台のサーバーを使って旧サーバーで運用しているMTAを新サーバーで運用するべく移行する、qmail+vpopmailを使ったメールサーバー移行手順メモ
** 事前準備 [#a318ca4a]
- 移行先にqmail+vpopmailで環境を構築、vpopmail/domainsフォルダや、vpasswdファイルを参考にメールアカウントも移植する。.qmail-* も忘れずに移植しておく。
- 移行先サーバー内でメールが受け取れることを確認しておく。ローカルサーバー宛に該当ドメインのアカウントにメール送ってみる。
- 移行前にDNSレコードのTTLを短めに設定しておく。
** 切り替え [#c9f94bb8]
+ smtproutesを記述して受付メールをすべて新サーバーに転送する
+ 旧サーバーのメールデータを新サーバーにSyncする
+ DNSレコードを切り替える
- 旧サーバー設定を変えて、メールを新サーバーに配送する設定にする。
-- smtproutes
hutcraft.jp:newserver.hutcraft.jp
-- virtualhost で、該当ドメインをローカルに保存する設定を解除。このあとqmail-sendにHUPを送ると反映される。
#hutcraft.jp:hutcraft.jp
-- これ以降旧サーバーにメールが届いたとしても旧サーバーに保存されることはなく、新サーバーに転送される。
- POP用のDNSレコードを新サーバーに向ける。
-- MTUは新サーバーにPOPしにいくようになる。
- MXレコードを新サーバーに向ける。
** 切り替え後 [#d85779d5]
- 基本これで完了。TTLの生存期間を超えてるのに旧サーバーに通達してくるのもたまにいるけど、そういうのは大抵まっとうなMTAではない。
- 切り替え中に旧サーバーにメールが保存された可能性がある場合、vpopmail/domains/ 以下のMaildirなりをrsyncなりで同期しちゃえ。新サーバーに保存される際のUID/GIDには気をつけて。
* インストールメモ [#z3d4dca9]
groupadd -g 601 nofiles
useradd -u 601 -g nofiles -d /var/qmail/alias -m -s /sbin/nologin alias
useradd -u 602 -g nofiles -d /var/qmail -M -s /sbin/nologin qmaild
useradd -u 603 -g nofiles -d /var/qmail -M -s /sbin/nologin qmaill
useradd -u 604 -g nofiles -d /var/qmail -M -s /sbin/nologin qmailp
groupadd -g 602 qmail
useradd -u 605 -g qmail -d /var/qmail -M -s /sbin/nologin qmailq
useradd -u 606 -g qmail -d /var/qmail -M -s /sbin/nologin qmailr
useradd -u 607 -g qmail -d /var/qmail -M -s /sbin/nologin qmails
groupadd -g 650 vchkpw
useradd -u 650 -g vchkpw -d /home/vpopmail -m vpopmail
** envdir [#o27c1a33]
- daemontoolsを使う
> tar xfz daemontools-xx.tar.gz
> cd admin
> vi src/conf-ld # <- --include=/usr/include/errno.h を追加
> ./package/compile
# cp command/envdir /usr/local/bin/envdir
** relay-ctrl [#z8a8f9a0]
> make
# ./install
# mkdir /var/spool/relay-ctrl
# chown vpopmail:vchkpw !$
# mkdir /var/qmail/etc
# echo /var/spool/relay-ctrl > /var/qmail/etc/RELAY_CTRL_DIR
# echo 300 > /var/qmail/etc/RELAY_CTRL_EXPIRY
# mkdir /var/spool/relay-ctrl
# chown vpopmail:vchkpw !$
** ucspi-tcp [#d9b8e8ad]
- conf-cc でgccを指定
> make
# make setup check
/usr/bin/ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in substdio.a(substdo.o)
/lib64/libc.so.6: could not read symbols: Bad value
collect2: ld はステータス 1 で終了しました
** qmail [#tf82c8b1]
- 以下のエラーが出る場合、conf-cc と conf-ld のコンパイラー設定でgccを使うように変更する
- 64bit OSの場合 conf-ccを gcc -O2 --include /usr/include/errno.h にするとよいらしい。
/usr/bin/ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in substdio.a(substdo.o)
/lib64/libc.so.6: could not read symbols: Bad value
collect2: ld はステータス 1 で終了しました
- /var/qmail/control あたりをいい感じにしとく
- /var/qmail/tcpserver
# mkdir /var/qmail/tcpserver
# cd !$
# vi tcp.smtp
xxx.xxx.xxx.xxx:allow,RELAYCLIENT="" # グローバルIPアドレスで許可
127.:allow,RELAYCLIENT=""
:allow
# tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
- /var/qmail/rc
#!/bin/sh
PATH="/var/qmail/bin:/usr/local/bin:$PATH"
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/ splogger qmail &
envdir /var/qmail/etc tcpserver -u qmaild -g nofiles -x /var/qmail/tcpserver/tcp.smtp.cdb 0 25 \
relay-ctrl-check qmail-smtpd &
envdir /var/qmail/etc tcpserver -u qmaild -g nofiles -x /var/qmail/tcpserver/tcp.smtp.cdb 0 587 \
relay-ctrl-check qmail-smtpd &
envdir /var/qmail/etc tcpserver 0 pop3 qmail-popup hutcraft.jp \
/home/vpopmail/bin/vchkpw relay-ctrl-allow qmail-pop3d Maildir 2>&1 | splogger pop3d 4 &
** vpopmail [#j170bcf7]
# cd /home/vpopmail/etc
# touch tcp.smtp
# tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
# ./configure --enable-roaming-users=y --enable-relay-clear-minutes=10 --enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp --enable-logging=y --enable-qmaildir=/var/qmail
# make
# make install
終了行:
> ホスティング会社を変える時の、2台のサーバーを使って旧サーバーで運用しているMTAを新サーバーで運用するべく移行する、qmail+vpopmailを使ったメールサーバー移行手順メモ
** 事前準備 [#a318ca4a]
- 移行先にqmail+vpopmailで環境を構築、vpopmail/domainsフォルダや、vpasswdファイルを参考にメールアカウントも移植する。.qmail-* も忘れずに移植しておく。
- 移行先サーバー内でメールが受け取れることを確認しておく。ローカルサーバー宛に該当ドメインのアカウントにメール送ってみる。
- 移行前にDNSレコードのTTLを短めに設定しておく。
** 切り替え [#c9f94bb8]
+ smtproutesを記述して受付メールをすべて新サーバーに転送する
+ 旧サーバーのメールデータを新サーバーにSyncする
+ DNSレコードを切り替える
- 旧サーバー設定を変えて、メールを新サーバーに配送する設定にする。
-- smtproutes
hutcraft.jp:newserver.hutcraft.jp
-- virtualhost で、該当ドメインをローカルに保存する設定を解除。このあとqmail-sendにHUPを送ると反映される。
#hutcraft.jp:hutcraft.jp
-- これ以降旧サーバーにメールが届いたとしても旧サーバーに保存されることはなく、新サーバーに転送される。
- POP用のDNSレコードを新サーバーに向ける。
-- MTUは新サーバーにPOPしにいくようになる。
- MXレコードを新サーバーに向ける。
** 切り替え後 [#d85779d5]
- 基本これで完了。TTLの生存期間を超えてるのに旧サーバーに通達してくるのもたまにいるけど、そういうのは大抵まっとうなMTAではない。
- 切り替え中に旧サーバーにメールが保存された可能性がある場合、vpopmail/domains/ 以下のMaildirなりをrsyncなりで同期しちゃえ。新サーバーに保存される際のUID/GIDには気をつけて。
* インストールメモ [#z3d4dca9]
groupadd -g 601 nofiles
useradd -u 601 -g nofiles -d /var/qmail/alias -m -s /sbin/nologin alias
useradd -u 602 -g nofiles -d /var/qmail -M -s /sbin/nologin qmaild
useradd -u 603 -g nofiles -d /var/qmail -M -s /sbin/nologin qmaill
useradd -u 604 -g nofiles -d /var/qmail -M -s /sbin/nologin qmailp
groupadd -g 602 qmail
useradd -u 605 -g qmail -d /var/qmail -M -s /sbin/nologin qmailq
useradd -u 606 -g qmail -d /var/qmail -M -s /sbin/nologin qmailr
useradd -u 607 -g qmail -d /var/qmail -M -s /sbin/nologin qmails
groupadd -g 650 vchkpw
useradd -u 650 -g vchkpw -d /home/vpopmail -m vpopmail
** envdir [#o27c1a33]
- daemontoolsを使う
> tar xfz daemontools-xx.tar.gz
> cd admin
> vi src/conf-ld # <- --include=/usr/include/errno.h を追加
> ./package/compile
# cp command/envdir /usr/local/bin/envdir
** relay-ctrl [#z8a8f9a0]
> make
# ./install
# mkdir /var/spool/relay-ctrl
# chown vpopmail:vchkpw !$
# mkdir /var/qmail/etc
# echo /var/spool/relay-ctrl > /var/qmail/etc/RELAY_CTRL_DIR
# echo 300 > /var/qmail/etc/RELAY_CTRL_EXPIRY
# mkdir /var/spool/relay-ctrl
# chown vpopmail:vchkpw !$
** ucspi-tcp [#d9b8e8ad]
- conf-cc でgccを指定
> make
# make setup check
/usr/bin/ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in substdio.a(substdo.o)
/lib64/libc.so.6: could not read symbols: Bad value
collect2: ld はステータス 1 で終了しました
** qmail [#tf82c8b1]
- 以下のエラーが出る場合、conf-cc と conf-ld のコンパイラー設定でgccを使うように変更する
- 64bit OSの場合 conf-ccを gcc -O2 --include /usr/include/errno.h にするとよいらしい。
/usr/bin/ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in substdio.a(substdo.o)
/lib64/libc.so.6: could not read symbols: Bad value
collect2: ld はステータス 1 で終了しました
- /var/qmail/control あたりをいい感じにしとく
- /var/qmail/tcpserver
# mkdir /var/qmail/tcpserver
# cd !$
# vi tcp.smtp
xxx.xxx.xxx.xxx:allow,RELAYCLIENT="" # グローバルIPアドレスで許可
127.:allow,RELAYCLIENT=""
:allow
# tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
- /var/qmail/rc
#!/bin/sh
PATH="/var/qmail/bin:/usr/local/bin:$PATH"
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/ splogger qmail &
envdir /var/qmail/etc tcpserver -u qmaild -g nofiles -x /var/qmail/tcpserver/tcp.smtp.cdb 0 25 \
relay-ctrl-check qmail-smtpd &
envdir /var/qmail/etc tcpserver -u qmaild -g nofiles -x /var/qmail/tcpserver/tcp.smtp.cdb 0 587 \
relay-ctrl-check qmail-smtpd &
envdir /var/qmail/etc tcpserver 0 pop3 qmail-popup hutcraft.jp \
/home/vpopmail/bin/vchkpw relay-ctrl-allow qmail-pop3d Maildir 2>&1 | splogger pop3d 4 &
** vpopmail [#j170bcf7]
# cd /home/vpopmail/etc
# touch tcp.smtp
# tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
# ./configure --enable-roaming-users=y --enable-relay-clear-minutes=10 --enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp --enable-logging=y --enable-qmaildir=/var/qmail
# make
# make install
ページ名:
[
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]