このWebサイト ひつじ帳 は、管理者がWEB関連の技術をまとめた備忘録サイトです。 Linux,CentOS,PHP,MySQL,Blogger,JavaScript,CSS について記録しています。

さくらのVPS/メール/Dovecot(PostfixAdmin対応)

[ さくらVPS/メール ]

バーチャルメールボックス管理ディレクトリ作成

  • 格納ディレクトリを /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 件のコメント:

人気記事

アーカイブ

このブログを検索