#author("2022-01-22T22:27:20+09:00","","")
#author("2022-01-22T22:29:52+09:00","","")
vi /etc/dnf/dnf.conf
 excludepkgs= dovecot
 更新しないように設定しておくこと


コンパイルエラーになるので手動でインストール

# wget https://dovecot.org/releases/2.3/dovecot-2.3.10.1.tar.gz
# tar xvfz dovecot-2.3.10.1.tar.gz
# cd dovecot-2.3.10.1
 ./configure \
    --disable-static             \
    --disable-rpath              \
    --with-nss                   \
    --with-shadow                \
    --with-pam                   \
    --with-gssapi=plugin         \
    --with-ldap=plugin           \
    --with-sql=plugin            \
    --with-pgsql                 \
    --with-mysql                 \
    --with-sqlite                \
    --with-zlib                  \
    --with-libcap                \
    --with-lucene                \
    --with-ssl=openssl           \
    --with-ssldir=%{ssldir}      \
    --with-solr                  \
    --with-systemdsystemunitdir=%{_unitdir}  \
    --with-vpopmail \
    --with-docs
#make
#make install

/etc/init.d/dovecot
 #!/bin/bash
 #
 # /etc/rc.d/init.d/dovecot
 #
 # Starts the dovecot daemon
 #
 # chkconfig: 2345 85 85
 # description: Dovecot Imap Server
 # processname: dovecot
 # Source function library.
 . /etc/init.d/functions
 test -x /usr/local/sbin/dovecot || exit 0
 
 RETVAL=0
 prog="Dovecot IMAP"
 
 start() {
 echo -n $"Starting $prog: "
 rm -f /usr/local/var/run/dovecot/master.pid
 daemon /usr/local/sbin/dovecot
 RETVAL=$?
 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dovecot
 echo
 }
 
 stop() {
 echo -n $"Stopping $prog: "
 killproc /usr/local/sbin/dovecot
 RETVAL=$?
 [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dovecot
 echo
 }
 
 #
 # See how we were called.
 #
 case "$1" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 reload|restart)
 stop
 start
 RETVAL=$?
 ;;
 condrestart)
 if [ -f /var/lock/subsys/dovecot ]; then
 stop
 start
 fi
 ;;
 status)
 status /usr/local/sbin/dovecot
 RETVAL=$?
 ;;
 *) [#w99a9935]
 echo $"Usage: $0 {condrestart|start|stop|restart|reload|status}"
 exit 1
 esac
 
 exit $RETVAL

  chmod +x /etc/init.d/dovecot

続きは★★に

●設定ファイルのコピー
 /usr/local/etc/dovecot/dovecot.conf に設定ファイルをいれる

 cp -rf /usr/local/share/doc/dovecot/example-config/* /usr/local/etc/dovecot/
 必要なものだけいれたほうがいいかも

★★

# vi /usr/local/etc/dovecot/dovecot.conf ← Dovecot設定ファイル編集
 protocols = imap
 listen = *

# vi /usr/local/etc/dovecot/conf.d/10-auth.conf

 #!include auth-system.conf.ext 
 !include auth-vpopmail.conf.ext ←  ※認証をvpopmailで行う設定。

 # 10行目:コメント解除し変更(プレーンテキスト認証も許可する)
 disable_plaintext_auth = no

 # 100行目:追記
 auth_mechanisms = plain login

# vi /usr/local/etc/dovecot/conf.d/10-mail.conf
 # 30行目:コメント解除して追記
 mail_location = maildir:~/Maildir
 
 first_valid_uid = 89
 ※first_valid_uid は、認証を許可するユーザIDの最小値。だと思う。
   なので今回はvpopmailユーザーの89を指定。

# vi /usr/local/etc/dovecot/conf.d/10-master.conf

 default_login_user = dovecot
 service imap-login {
 #inet_listener imap {private_words_default
 #port = 143
 #}
 inet_listener imaps {
 port = 993
 ssl = yes
 }
 
 #service lmtp {  
 # unix_listener lmtp {
 # #mode = 0666
 # }
 
 #}

# vi /usr/local/etc/dovecot/conf.d/10-ssl.conf
 # 8行目:変更
 ssl = yes
 
 ssl_cert = </etc/pki/tls/certs/domainname1.csr
 ssl_key = </etc/pki/tls/certs/domainname1.key
 
 ※SSL/TLSのキー指定。Apacheのを流用。
 ※/etc/letsencrypt/live/75.myeki.com/cert.pem
 ※/etc/letsencrypt/live/75.myeki.com/privkey.pem

# vi /usr/local/etc/dovecot/conf.d/auth-vpopmail.conf.ext
 #args = quota_template=quota_rule=*:backend=%q

# /etc/init.d/dovecot start
 chkconfig dovecot on ← dovecot起動&自動起動設定


========================================

# dnf -y install yum-utils  ← yumでSRPMをダウンロードするyumdownloaderを含むyum-utilsをインストール
# dnf -y install rpm-build  ← yumでrpm-buildをインストール

# dnfdownloader --source dovecot  ← DovecotのSRPMをダウンロード

 warning: user mockbuild does not exist - using root
 エラーメッセージで検索したら下記のページが参考になりました。
 Warning: user mockbuild does not exist: using root | System Network Programming Solution &#8211; Linux &#8211; windows &#8211; centos- security- cpanel &#8211; plesk -directadmin helm
 yum で mock をインストールする。
 yum install mock
 もしくは下記のコマンドで mockbuild を追加すると良いそうです。
 useradd -s /sbin/nologin mockbuild

# rpm -ivh dovecot-2.2.32-2.fc26.src.rpm  ← DovecotのSRPMを展開

# vi /root/rpmbuild/SPECS/dovecot.spec  ← specファイル編集

 %configure                       \
    INSTALL_DATA="install -c -p -m644" \
    --with-libcap                \
    --with-libwrap               \
    --with-vpopmail              \ ← 追加

# rpmbuild -bb --clean /root/rpmbuild/SPECS/dovecot.spec ← DovecotのRPMを作成
 エラー: ビルド依存性の失敗: がでるので、○○-develをインストールする
 yum -y install bzip2-devel

 先にインストールされている場合は削除する
 dnf remove dovecot

# rpm -ivh /root/rpmbuild/RPMS/x86_64/dovecot-2.2.32-2.fc26.x86_64.rpm ← Dovecotインストール

#[root@mail ~]# systemctl start dovecot 
#[root@mail ~]# systemctl enable dovecot


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS