| はじめての自宅サーバ構築 - Fedora/CentOS - | Last Update | 2008/07/25 | |
| It opened to 2004/09/19. 当サイトはFedora9で運用しています |
Visitors Pageviews Today(IP/PV) |
3,374,118 12,762,090 1,276/8,712 |
# yum -y install postfix dovecot procmail |
設定ファイルの編集 # vi /etc/postfix/main.cf ホスト名を設定する(ホスト名.ドメイン名) myhostname = fedora.kajuhome.com ドメイン名を設定する mydomain = kajuhome.com 送信者メールアドレスの@以降をドメイン名にする myorigin = $mydomain Postfix が待ち受けるべき全てのネットワークインターフェースを指定 inet_interfaces = all メールをローカルで受信するドメイン名を指定(ドメイン全体のメールサーバ) mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain 信頼されたネットワークをCIDR (network/mask) 表記で指定(ローカルネットワーク) mynetworks = 192.168.1.0/24, 127.0.0.0/8 中継を許可するドメインを指定 relay_domains = $mydestination バーチャル設定(最終行に追加) バーチャル転送(同名)設定ファイルの指定 virtual_alias_maps = hash:/etc/postfix/virtual メールボックスの基点を指定 (以下のディレクトリに全ユーザの「リアルドメイン」「バーチャルドメイン」のメールが管理される) virtual_mailbox_base = /home/user_mails バーチャルドメイン設定ファイルの指定 virtual_mailbox_domains = /etc/postfix/virtual_domains 各メールアカウントのメールボックス定義を行う設定ファイルの指定 virtual_mailbox_maps = hash:/etc/postfix/virtual_maps バーチャルメールの最小のUIDを指定(これより小さいUIDは拒否。 (以下は、一般ユーザの追加を行った場合(Fedora/CentOS)のデフォルト最小値「500」を基準としている。) virtual_minimum_uid = 499 バーチャルドメインで動作するメールボックスの配送を行うUIDを指定(適当値で) virtual_uid_maps = static:5000 バーチャルドメインで動作するメールボックスの配送を行うGIDを指定(適当値で) virtual_gid_maps = static:5000 |
# vi /etc/postfix/virtual : : : # AUTHOR(S) # Wietse Venema # IBM T.J. Watson Research # P.O. Box 704 # Yorktown Heights, NY 10598, USA # # VIRTUAL(5) 最終行に何も設定されていない事を確認 |
# vi /etc/postfix/virtual_domains
管理したいバーチャルドメインを設定(複数ある場合は、1行毎に1ドメインを設定する)
kaju.homeip.net
注意:ここには「リアルドメイン」を設定しない事。
本来の目的である「procmail」が動作しなくなります。
|
# vi /etc/postfix/virtual_maps 各ドメイン毎(メールアドレス毎)のメールボックスを定義する。 # kajuhome.com linux@kajuhome.com kajuhome.com/linux/Maildir/ fedora@kajuhome.com kajuhome.com/fedora/Maildir/ # kaju.homeip.net linux@kaju.homeip.net kaju.homeip.net/linux/Maildir/ fedora@kaju.homeip.net kaju.homeip.net/fedora/Maildir/ centos@kaju.homeip.net kaju.homeip.net/centos/Maildir/ 注意:「リアルドメイン」「バーチャルドメイン」の管理したいメールアドレス全てを定義する事。 また、メールボックスの末尾に「/」を忘れない事。(Maildir形式となります。) 上記例) linux@kajuhome.com kajuhome.com/linux/Maildir/ 「linux@kajuhome.com」のメールボックスはメールボックスの基点「virtual_mailbox_base」で指定した ディレクトリ配下に「kajuhome.com/linux/Maildir/」として作成される。 すなわち、「/home/user_mails/kajuhome.com/linux/Maildir/」が「linux@kajuhome.com」のメールボックスとなる。 メールボックス定義ファイルのDB化 # postmap /etc/postfix/virtual_maps メールボックスの基点作成とパーミッション変更 # mkdir /home/user_mails # chmod 1777 /home/user_mails ※:スティッキービット「1」を忘れない事。(以下パーミッション部分に「t」が付加される) 作成したメールボックスの基点の確認 # ls -ld /home/user_mails drwxrwxrwt 13 root root 4096 2007-12-20 12:01 /home/user_mails |
設定ファイルの編集
# vi /etc/dovecot.conf
プロトコルを指定
protocols = imap imaps pop3 pop3s
メールボックス(Maildir)を指定
mail_location = maildir:/home/user_mails/%d/%n/Maildir
%の意味:
%d :ドメイン名
%n :アカウント名
パスワードファイルを指定(「auth default」カテゴリ内である事に注意)
auth default {
passdb passwd-file {
# Path for passwd-file
args = /etc/dovecot-passwd
}
userdb passwd-file {
# Path for passwd-file
args = /etc/dovecot-passwd
}
}
|
# vi /etc/dovecot-passwd
各メールアドレス毎に設定する。
# kajuhome.com
linux@kajuhome.com:{plain}reallinuxpasswd:500:500::/home/user_mails/kajuhome.com/linux:/sbin/nologin:
fedora@kajuhome.com:{plain}realfedorapasswd:501:501::/home/user_mails/kajuhome.com/fedora:/sbin/nologin:
# kaju.homeip.net
linux@kaju.homeip.net:{plain}virtuallinuxpasswd:5000:5000::/home/user_mails/kaju.homeip.net/linux:/sbin/nologin:
fedora@kaju.homeip.net:{plain}virtualfedorapasswd:5000:5000::/home/user_mails/kaju.homeip.net/fedora:/sbin/nologin:
centos@kaju.homeip.net:{plain}virtualcentospasswd:5000:5000::/home/user_mails/kaju.homeip.net/centos:/sbin/nologin:
※:フォーマット
user:password:uid:gid:gecos:home:shell:extra
user :メールアドレス
password :パスワード(上記では「plain」としているがMD5等も指定可)
uid :ユーザID
リアルドメインの場合 :「/etc/passwd」のユーザ名のIDと同一にする事
バーチャルドメインの場合:「5000」固定。(postfix設定ファイルで指定した「virtual_uid_maps」の値)
gid :グループID
リアルドメインの場合 :「/etc/group」のユーザ名のグループIDと同一にする事
バーチャルドメインの場合:「5000」固定。(postfix設定ファイルで指定した「virtual_gid_maps」の値)
gecos :ユーザの詳細情報(設定しない)
home :メールボックスを指定
shell :シェル(上記では「/sbin/nologin」として無効)
extra :予備(何も使われていない)
|
レシピファイルの作成 全ユーザ共通の場合 : /etc/procmailrc 各ユーザ個別の場合 : < ユーザホームディレクトリ >/.procmailrc linuxユーザのレシピを作成する場合 # vi /home/linux/.procmailrc MAILDIRECTORY=/home/user_mails/kajuhome.com LOGFILE=$HOME/procmail.log LOCKFILE=$HOME/.lockfile DEFAULT=$MAILDIRECTORY/$LOGNAME/Maildir/ :0fw *!^X-Spam.* |/usr/bin/spamassassin :0 * ^X-Spam-Status: Yes $DEFAULT/.Spam/ :0 $DEFAULT ※:上記のレシピは例ですので、ご自身の目的に合ったレシピを作成して下さい。 なお、当サイトではレシピ自身の説明や回答は行っていません。 |

