arinux

Linux サーバー設定備忘録
<< openLDAP 構築(46) - メール管理(Postfix) (1) | main | openLDAP 構築(48) - メール管理(Postfix + Dovecot + openldap) >>
openLDAP 構築(47) - メール管理(Postfix + Dovecot)


メモ Dovecot インストール


pop3/imap サーバーとして、Dovecot をインストールします。ここでは pop3 の利用を前提に説明します。


  1. http://www.dovecot.org/download.html から、
    「dovecot-1.0.13.tar.gz」 をダウンロードして、「/usr/local/src」 に置きます。


  2. 解凍します。
    [root]# cd /usr/local/src
    [root]# tar zxvf dovecot-1.0.13.tar.gz
    


  3. 「dovecot」 ユーザーとグループを作成します(ログインさせないようにします)。
    [root]# groupadd dovecot
    [root]# useradd -g dovecot -d /dev/null -s /bin/false dovecot
    


  4. コンフィグ、コンパイル、インストールします。
    [root]# cd dovecot-1.0.13
    [root]# ./configure --with-ldap --with-pam
    [root]# make
    [root]# make install
    


  5. 「/usr/local/etc」 以下のコンフィグファイルを 「/usr/local/etc/dovecot」 に移動します。
    [root]# cd /usr/local/etc
    [root]# mkdir dovecot
    [root]# mv dovecot-*.conf dovecot/.
    


  6. dovecot.conf を編集します。ここでは、pam 認証を使用します。
    [root]# cd /usr/local/etc/dovecot
    [root]# cp dovecot-example.conf dovecot.conf
    [root]# vi dovecot.conf
    
    protocols = pop3 imap
    listen = *
    disable_plaintext_auth = no
    log_path = /var/log/dovecot.log
    log_timestamp = "%b %d %H:%M:%S "
    syslog_facility = mail
    ssl_disable = yes
    mail_location = maildir:~/Maildir
    lock_method = fcntl
    protocol imap {
    }
    protocol pop3 {
      pop3_uidl_format = %u
    }
    protocol lda {
      postmaster_address = postmaster@test15.examples.net
    }
    auth default {
      mechanisms = plain
      passdb pam {
        args = dovecot
      }
      userdb passwd {
      }
      user = root
    }
    dict {
    }
    plugin {
    }
    


  7. /etc/pam.d/dovecot を作成します。
    [root]# vi /etc/rc.d/init.d/dovecot
    
    #%PAM-1.0
    auth       required     pam_stack.so service=system-auth
    account    required     pam_stack.so service=system-auth
    


  8. スタートアップ・スクリプトを作成します。
    [root]# vi /etc/rc.d/init.d/dovecot
    
    #! /bin/bash
    
    # Source function library.
        . /etc/init.d/functions
    RETVAL=0
    
    prog=dovecot
    path=/usr/local/sbin/dovecot
    conf=/usr/local/etc/dovecot/dovecot.conf
    
    start() {
            echo -n $"Starting $prog: "
            $path -c $conf
            RETVAL=$?
            echo
            [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
            return $RETVAL
    }
    
    stop() {
            echo -n $"Stopping $prog: "
            killproc $path
            RETVAL=$?
            echo
            [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
            return $RETVAL
    }
    
    restart() {
            stop
            sleep 2
            start
    }
    
    case "$1" in
      start)
            start
            ;;
      stop)
            stop
            ;;
      restart)
            restart
            ;;
      status)
            status $path
            ;;
      condrestart)
            [ -f /var/lock/subsys/$prog ] && restart || :
            ;;
      *)
            echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}"
            exit 1
    esac
    
    exit $?
    


  9. パーミッションを変更します。
    [root]# chmod 755 dovecot
    


  10. dovecot を起動します。
    [root]# /etc/rc.d/init.d/dovecot start
    dovecot を起動中:
    


  11. telnet でログイン認証のテストをします。
    [root]# telnet localhost 110
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    +OK Dovecot ready.
    user muser                 (/etc/passwd にあるユーザー名を入力)
    +OK
    pass muserpasswd           (パスワードを入力)
    +OK Logged in.
    quit                       (telnet から抜けます)
    +OK Logging out.
    Connection closed by foreign host.
    [root]#
    
    虫眼鏡 エラーが出る場合


    -ERR Authentication failed.
    
    • パスワードが違います。


    -ERR Password expired
    
    • パスワードの有効期限が切れています。


  12. pam 認証をしていますので、posixAccount があれば LDAP ユーザーでもログインができます。例として、以下の LDIF ファイルを作成します。
    [root]# vi useradd_sanga.ldif
    
    dn: uid=sanga,ou=people,dc=examples,dc=com
    uid: sanga
    objectClass: top
    objectClass: inetOrgPerson
    objectClass: posixAccount
    objectClass: shadowAccount
    sn: kyoto
    cn: sanga
    uidNumber: 2001
    gidNumber: 1001
    userPassword: {MD5}bzfNschX/CgDQ9/b2ga37A==
    homeDirectory: /home/sanga
    loginShell: /bin/bash
    shadowLastChange: 0
    shadowMin: 0
    shadowMax: 30
    shadowWarning: 7
    


  13. エントリーを追加します。
    [root]# ldapadd -x -W -D "cn=Manager,dc=examples,dc=com" -f ./useradd_sanga.ldif
    Enter LDAP Password:
    adding new entry "uid=sanga,ou=people,dc=examples,dc=com"
    


  14. 一度ログインして、ホームディレクトリを作成し、パスワードを変更します。
    [root]# ssh -l sanga localhost
    The authenticity of host 'localhost (127.0.0.1)' can't be established.
    RSA key fingerprint is c5:7b:60:f3:f4:48:4e:86:02:38:1d:e7:4b:a3:b1:cb.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
    sanga@localhost's password:  (現パスワードを入力)
    You are required to change your password immediately (root enforced)
    You are required to change your LDAP password immediately.
    Creating directory '/home/sanga'.
    WARNING: Your password has expired.
    You must change your password now and login again!
    Changing password for user sanga.
    Enter login(LDAP) password:  (現パスワードを入力)
    New password:                (新パスワードを入力)
    Retype new password:         (再入力)
    LDAP password information changed for sanga
    passwd: all authentication tokens updated successfully.
    Connection to localhost closed.
    [root]#
    


  15. telnet で LDAP ユーザーのログイン認証のテストをします。
    [root]# telnet localhost 110
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    +OK Dovecot ready.
    user sanga
    +OK
    pass sangapasswd
    +OK Logged in.
    quit
    +OK Logging out.
    Connection closed by foreign host.
    [root]#
    


  16. テストメールを送信します。
    [root]# echo "test 11" | mail -s "test mail 11" sanga@test15.examples.net
    


  17. メールが届いたかを確認します。
    [root]# ls /home/sanga/Maildir/new
    
    1210309096.V808I7c8bM199092.test15.examples.net
    


  18. メール・クライアントから送受信テストをします。以下のように、メール・クライアントで新規メールボックスを作成します(ここでは Becky! を例にしています)。
    Becky! メールボックス 基本設定 Becky! メールボックス 詳細


  19. メールが受信できるかを確認します。
    Becky! メールボックス 受信テスト


  20. 「返信」 もしくは 「新規メール」 で、メールの送信テストを行います。



つづく

| arinux | openldap | 10:49 | comments(2) | trackbacks(0) | pookmark |
管理者の承認待ちコメントです。
| - | 2018/04/10 10:44 AM |
管理者の承認待ちコメントです。
| - | 2018/05/04 9:00 AM |









http://www.arinux.net/trackback/65
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< May 2018 >>
+ SELECTED ENTRIES
+ RECENT COMMENTS
+ RECENT TRACKBACK
+ CATEGORIES
+ ARCHIVES
+ 掲載予定のタイトル
  • Wordpress
  • Pukiwiki
  • SMTPs/POPs/IMAPs
  • fml
  • Tips
+ CSS Nite
+ MOBILE
qrcode
+ LINKS
+ RECOMMEND
+ PROFILE