バーチャルメールボックス管理ディレクトリ作成
- 格納ディレクトリを /home/vmail/vhosts に設定する。
空きのUID・GIDを確認
- Linuxユーザーの一覧から未登録(空き)のユーザーIDとグループIDを確認する。
後で設定する際に ID を指定する必要があるので UID/GID の番号を覚えておく。
今回は、UIDに505 GIDに505 を使うこととする。
[root@www10000xx ~]# cat /etc/passwd
--------------------------------------------------
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
--------------------------------------------------
メールボックス用ディレクトリを作成する
##■ グループIDを作成する
[root@www10000xx ~]# groupadd -g 505 vmail
[root@www10000xx ~]#
##■ ユーザーを作成する
[root@www10000xx ~]# useradd -u 505 -g 505 -d /home/vmail -s /bin/bash -c "Virtual Mailbox" vmail
[root@www10000xx ~]#
##■ ユーザーのホームディレクトリ直下に、ディレクトリを作成する
[root@www10000xx ~]# mkdir -p /home/vmail/vhosts
[root@www10000xx ~]#
##■ 所有者を vmail に変更する
[root@www10000xx ~]# chown -R vmail:vmail /home/vmail
[root@www10000xx ~]#
##■ パーミッションを 700 にする
[root@www10000xx ~]# chmod 700 /home/vmail/vhosts
[root@www10000xx ~]#
Linuxユーザー追加時にディレクトリ作成
※ 新規ユーザ追加時に、ユーザーのホームディレクトリ直下に自動でMaildir形式メールボックスを作成する。
##■ ディレクトリ作成
[root@www10000xx ~]# mkdir -p /etc/skel/Maildir/{new,cur,tmp}
##■ パーミッション設定
[root@www10000xx ~]# chmod -R 700 /etc/skel/Maildir/
Dovecot インストール
dovecot インストール
[root@www10000xx ~]# yum -y install dovecot
~ 中略 ~
Installed:
dovecot.x86_64 1:2.0.9-5.el6
Complete!
[root@www10000xx ~]#
dovecot-pgsql インストール
※ dovecot-pgsql ドライバーをインストールします。
##■ ディレクトリ移動
[root@www10000xx ~]# cd /home/admin
[root@www10000xx admin]#
##■ ダウンロード
[root@www10000xx admin]# wget ftp://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/6.3/x86_64/updates/security/dovecot-pgsql-2.0.9-5.el6.x86_64.rpm
~ 中略 ~
2013-MM-DD 00:00:00 (36.3 KB/s) - `dovecot-pgsql-2.0.9-5.el6.x86_64.rpm’ へ保存終了 [40352]
[root@www10000xx admin]#
##■ インストール
[root@www10000xx admin]# rpm -ihv /home/admin/dovecot-pgsql-2.0.9-5.el6.x86_64.rpm
警告: dovecot-pgsql-2.0.9-5.el6.x86_64.rpm: ヘッダ V4 DSA/SHA1 Signature, key ID 192a7d7d: NOKEY
準備中... ########################################### [100%]
1:dovecot-pgsql ########################################### [100%]
[root@www10000xx admin]#
dovecot 起動
[root@www10000xx ~]# service dovecot start
Dovecot Imap を起動中: [ OK ]
[root@www10000xx ~]#
dovecot 自動起動 設定
##■ 自動起動 設定の確認
[root@www10000xx ~]# chkconfig --list dovecot
dovecot 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@www10000xx ~]#
##■ 自動起動 設定を ON にする
[root@www10000xx ~]# chkconfig dovecot on
[root@www10000xx ~]#
##■ 自動起動 設定の再確認
[root@www10000xx ~]# chkconfig --list dovecot
dovecot 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@www10000xx ~]#
Dovecot 設定
dovecot.conf 編集
##■ バックアップ
[root@www10000xx ~]# cp -a /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.org
[root@www10000xx ~]#
##■ viエディタでファイル編集する
[root@www10000xx ~]# vi /etc/dovecot/dovecot.conf
--------------------------------------------------
#!include_try /etc/dovecot/local.conf
##▼ ↓ デフォルトではコメントアウトされている為、追記する
!include_try /etc/dovecot/dovecot-local.conf
--------------------------------------------------
##■ 上書き保存して編集終了
:wq
[root@www10000xx ~]#
dovecot-local.conf 新規作成
##■ viエディタでファイルを新規作成する
[root@www10000xx ~]# vi /etc/dovecot/dovecot-local.conf
--------------------------------------------------
## 10-mail
mail_location = maildir:/home/vmail/vhosts/%d/%n/Maildir
valid_chroot_dirs = /home
## 10-auth
disable_plaintext_auth = no
auth_mechanisms = digest-md5 plain login
## 10-master
service auth {
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/dovecot-auth {
group = postfix
mode = 0660
user = postfix
}
}
## auth-sql
passdb sql {
driver = sql
args = /etc/dovecot/dovecot-pgsql.conf
}
userdb sql {
driver = sql
args = /etc/dovecot/dovecot-pgsql.conf
}
--------------------------------------------------
##■ 保存して編集終了
:wq
[root@www10000xx ~]#
dovecot-pgsql.conf 新規作成
##■ viエディタでファイルを新規作成する
[root@www10000xx ~]# vi /etc/dovecot/dovecot-pgsql.conf
--------------------------------------------------
driver = pgsql
default_pass_scheme = MD5-CRYPT
connect = host=localhost user=postfix password=PostgreSQLのパスワード dbname=postfix
password_query = SELECT password FROM mailbox WHERE username = '%u' AND active = true
user_query = SELECT '/home/vmail/vhosts/' || maildir AS home, 505 AS uid, 505 AS gid FROM mailbox WHERE username = '%u' AND active = true
--------------------------------------------------
##■ 保存して編集終了
:wq
[root@www10000xx ~]#
権限の変更
##■ グループ名を "dovecot" に変更する
[root@www10000xx ~]# chown root:dovecot /etc/dovecot/dovecot-pgsql.conf
[root@www10000xx ~]#
##■ パーミッションを 644 から 640 に変更する
[root@www10000xx ~]# chmod 640 /etc/dovecot/dovecot-pgsql.conf
[root@www10000xx ~]#
Dovecot 再起動
[root@www10000xx ~]# service dovecot restart
Dovecot Imap を停止中: [ OK ]
Dovecot Imap を起動中: [ OK ]
[root@www10000xx ~]#
以上で、設定完了です。
Dovecot 設定内容を確認する
[root@www10000xx ~]# dovecot -n
# 2.0.9: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-358.18.1.el6.x86_64 x86_64 CentOS release 6.4 (Final) ext4
auth_mechanisms = digest-md5 plain login
disable_plaintext_auth = no
mail_location = maildir:/home/vmail/vhosts/%d/%n/Maildir
mbox_write_locks = fcntl
passdb {
driver = pam
}
passdb {
args = /etc/dovecot/dovecot-pgsql.conf
driver = sql
}
service auth {
unix_listener /var/spool/postfix/private/dovecot-auth {
group = postfix
mode = 0660
user = postfix
}
}
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
userdb {
driver = passwd
}
userdb {
args = /etc/dovecot/dovecot-pgsql.conf
driver = sql
}
valid_chroot_dirs = /home
[root@www10000xx ~]#
[ Postfix(PostfixAdmin) インストール ] へ続く
0 件のコメント:
コメントを投稿