« vps の最低限の設定でセキュリティ確保 | メイン | vps で webサーバ導入 »

UNIX

vpsでのドメイン設定・メール送受信

■前提・方針
●1. お名前.comで独自ドメインを使用。
●2. 独自ドメインでのメールの受信は、googleApp に任せて、ディスク容量、スパム対策などもろもろの心配事を丸投げ。
●3. 独自ドメインでのメールの送信は、vpsサーバーからのみ送信。sendmail 8.13.8 使用。
vpsサーバーはOP25B(Outbound Port 25 Blocking)制限されない。
後述の、本サーバーのログやWEBからメールを送信できれば十分。
 ↓

●1-1. お名前.comのレンタルDNSレコード設定。

放っておけば、ドメインとIPアドレスの紐付が世界中に伝搬。

●1-2. 独自ドメイン名のホストへ切替
[root@hXX-XX-XX-XX ~]# mv /etc/sysconfig/network /etc/sysconfig/network.org
[root@hXX-XX-XX-XX ~]# cp /etc/sysconfig/network.org /etc/sysconfig/network
[root@hXX-XX-XX-XX ~]# vi /etc/sysconfig/network
[root@hXX-XX-XX-XX ~]# diff /etc/sysconfig/network.org /etc/sysconfig/network
4c4
< HOSTNAME=hXX-XX-XX-XX
---
> HOSTNAME=www.mydomain

[root@hXX-XX-XX-XX ~]# service network restart

●2. googleApp の設定手順はこちら
sendmail から利用する前に、一般的なメールクライアントでPOP受信しておかないとロックされる?もしログインできなければ24時間待つか次の手順を実行。
http://support.google.com/mail/bin/answer.py?hl=ja&answer=14257

●3-1. メール転送エージェント(MTA) sendmail のインストール
[root@www ~]# yum list installed | grep sendmail
[root@www ~]# yum info sendmail
[root@www ~]# yum -y install sendmail
●3-2. 設定ファイル生成ツール sendmail-cf のインストール
[root@www ~]# yumlist installed | grep sendmail-cf
[root@www ~]# yum info sendmail-cf
[root@www ~]# yum -y install sendmail-cf
● パッケージの確認
[root@www ~]# rpm -qa | grep sendmail
sendmail-cf-8.13.8-8.1.el5_7
sendmail-8.13.8-8.1.el5_7

●3-3. サーバー内での配送ルール。デフォルトのまま。下記はdnsで始まるコメントを除いたもの。
[root@www ~]# cat /etc/mail/submit.mc
divert(-1)


divert(0)dnl
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID(`linux setup')dnl
define(`confCF_VERSION', `Submit')dnl
define(`__OSTYPE__',`')dnl dirty hack to keep proto.m4 from complaining
define(`_USE_DECNET_SYNTAX_', `1')dnl support DECnet
define(`confTIME_ZONE', `USE_TZ')dnl
define(`confDONT_INIT_GROUPS', `True')dnl
define(`confPID_FILE', `/var/run/sm-client.pid')dnl
FEATURE(`use_ct_file')dnl
FEATURE(`msp', `[127.0.0.1]')dnl

●3-4. サーバー外への配送ルール。デフォルトのまま。下記はdnsで始まるコメントを除いたもの。
[root@www ~]# cat /etc/mail/sendmail.mc
divert(-1)dnl
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID(`setup for linux')dnl
OSTYPE(`linux')dnl
define(`confDEF_USER_ID', ``8:12'')dnl
define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST', `True')dnl
define(`confDONT_PROBE_INTERFACES', `True')dnl
define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl
define(`ALIAS_FILE', `/etc/aliases')dnl
define(`STATUS_FILE', `/var/log/mail/statistics')dnl
define(`UUCP_MAILER_MAX', `2000000')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`confAUTH_OPTIONS', `A')dnl
define(`confTO_IDENT', `0')dnl
FEATURE(`no_default_msa', `dnl')dnl
FEATURE(`smrsh', `/usr/sbin/smrsh')dnl
FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl
FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl
FEATURE(`access_db', `hash -T -o /etc/mail/access.db')dnl
FEATURE(`blacklist_recipients')dnl
EXPOSED_USER(`root')dnl
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
FEATURE(`accept_unresolvable_domains')dnl
LOCAL_DOMAIN(`localhost.localdomain')dnl
MAILER(smtp)dnl
MAILER(procmail)dnl

●3-5. mc → cf 変換(sendmailのrestartでも更新される)。
[root@www ~]# m4 /etc/mail/submit.mc > /etc/mail/submit.cf
[root@www ~]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

●3-6. このサーバーで受け取るドメイン。このサーバーでは受け取らないのでデフォルトのまま。
[root@www ~]# cat /etc/mail/local-host-names
# local-host-names - include all aliases for your machine here.

●3-7. 転送ホストの制限設定。このサーバーからのみ送信するのでデフォルトのまま。
[root@www ~]# cat /etc/mail/access
# Check the /usr/share/doc/sendmail/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
# package.
#
# by default we allow relaying from localhost...
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY
●3-8. 変更した場合access.db更新
[root@www ~]# makemap hash /etc/mail/access.db < /etc/mail/access

●3-9. サービス起動・再起動
[root@www ~]# service sendmail start
[root@www ~]# service sendmail restart

●3-a. テスト送信
もう一つのコンソールでログ監視(Ctrl + C で終了)
[root@www ~]# tail -f /var/log/maillog
サーバー内(root から taro へ)
[root@www ~]# echo "Hello sendmail" | mail -v taro
サーバー内から外部へ(root@mydomain から etc@outsidedomain へ)
[root@www ~]# echo "Hello sendmail" | mail -v etc@outsidedomain

●3-b. 自動起動の確認
[root@www ~]# chkconfig --list | grep sendmail
sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off
● 自動起動になっていなければ自動起動に変更
[root@www ~]# chkconfig sendmail on

トラックバック

このエントリーのトラックバックURL:
http://www.remix.asia/cgi/mt/mt-tb.cgi/6845

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)