~ To be, or not to be, or to think about it tomorrow. ~ null-i.net |
Linux/dovecotのインストール | |
dovecot のソースからのビルド(2016-11-26) (※ここにある情報は古いです。CentOS Stream8での手順 を別途メモしています) はじめに†dovecot は メール受信機能を実装するためのパッケージです。 以下に絡む話は、 postfix の方 で説明しています。
既存のdovecotの確認†まず、入っているかどうかの確認から。 既存のバージョンで満足するならば、yum install 等でよろしいかと。 # dovecot --version # yum info dovecot 新たにソースからビルドしたい場合は、パッケージの方は一旦削りましょう。 # yum remove dovecot srcのダウンロード†Dovecotのサイト で適当なURLを探してダウンロード。 # cd 任意のディレクトリ # wget http://www.dovecot.org/releases/2.2/dovecot-2.2.26.0.tar.gz 必要ならば、鍵の検証もやっておくこと # vi ~/.gnupg/gpg.conf (で、keyserver-options auto-key-retrieve のコメントを外しておく) # wget http://www.dovecot.org/releases/2.2/dovecot-2.2.26.0.tar.gz.sig # gpg --verify dovecot-2.2.26.0.tar.gz.sig 特に問題なければ、ファイルを展開、makeまで行う。 # tar zxvf dovecot-2.2.26.0.tar.gz # cd dovecot-2.2.26.0/ # ./configure --sysconfdir=/etc --localstatedir=/var (デフォルトは /usr/local 配下にインストールされるので、 オプションはお好みで。 ./configure --help 参照) # make # make install (上記では sysconfdir=/etc にしているので、/etc/dovecot にコピー) # cp -pri /usr/local/share/doc/dovecot/example-config/* /etc/dovecot/ yum installだと 専用のユーザ、dovecot と dovenull も作ってくれそうですが(忘れました)、 # useradd -u 97 -d /usr/libexec/dovecot -s /sbin/nologin dovecot # useradd -d /dev/null -s /sbin/nologin dovenull 以下、 /var/run は configure で指定した場所に読み替えてください。 (指定しなかった場合は、 /usr/local/dovecot/var かと) # mkdir -p /var/run/dovecot/{login,empty} # chown -R root:dovecot /var/run/dovecot # chown root:dovenull /var/run/dovecot/login # chmod 750 -R /var/run/dovecot/login さらに、(CentOS 7より) # vi /etc/tmpfiles.d/dovecot.conf d /var/run/dovecot 0775 root dovecot - d /var/run/dovecot/empty 0775 root dovecot - d /var/run/dovecot/login 0775 root dovenull - (消されないように、なら d では無くて x が正解かもしれませんが。 あとは、退避したファイルがあれば戻して、 /etc/init.d/dovecot を作ってから chkconfig --add dovecot します。*1 サンプルの頭に、こんなかんじで追記。chkconfig の値を環境に合わせて変える事。 #!/bin/sh # # Starts the dovecot daemon # # chkconfig: 2345 65 35 # description: Dovecot Imap Server # processname: dovecot # config: /etc/dovecot.conf (以下はサンプルをそのままコピペ) # chmod 755 /etc/init.d/dovecot # chkconfig --add dovecot 設定†※注意:この段階では、インターネット接続なのにSSL認証を使っていません。 confを設定していきます。ちなみに、dovecot.conf には、こう書いてありますね。 # If you're in a hurry, see http://wiki2.dovecot.org/QuickConfiguration /etc/dovecot/ で、取り急ぎ変えたのはこんな感じ。 # vi dovecot.conf protocols = imap pop3 # コメントを外す # vi 10-logging.conf log_path = /var/log/dovecot.log auth_verbose = yes # 認証失敗の記録を見る場合。 auth_verbose_passwords = plain # 失敗passを表示。暗号化したければsha1など。 # vi 10-mail.conf mail_location = maildir:/var/spool/mail/%u # postfixに合わせること # vi 10-master.conf inet_listener imap { port = 143 # コメント外す } inet_listener pop3 { port = 110 # コメント外す } # vi 10-ssl.conf ssl = no # yes にするのは後日 #ssl_cert = </etc/ssl/certs/dovecot.pem # コメントアウト #ssl_key = </etc/ssl/private/dovecot.pem # コメントアウト # vi 10-auth.conf disable_plaintext_auth = no # 一時的にOKにする # vi auth-system.conf.ext #driver = pam # コメントアウト。pam の方がベターらしいですが・・・ driver = shadow # 私は手抜きで shadow を使います。pam は後日・・・ ※shadow ではなく、PAM認証を使う場合は 一通り終わったら、設定内容をチェックします。 # doveconf -n chkconfig で add しているので、起動は service から # service dovecot start で、tail -f /var/log/dovecot などを見ながら、外のアドレスにメールを投げられるか確認。 # useradd -d /dev/null -s /sbin/nologin testuser # passwd testuser # 検証用のパスワードを作りましょう # echo "test mail for dovecot" | mail testuser@localhost (メールソフトで、POP3から受信してみる) ・・・繋がらない! どうやら、CentOS7 にしたら firewall でデフォルト止められていた模様。 # firewall-cmd --list-all-zones (で、通らないことを確認) # firewall-cmd --get-services (そもそもpop3 なんて扱っていない。pop3sはある。) 一時的に firewall を止めて、再実行し、受信できることを確認・・・ # systemctl status firewalld # systemctl stop firewalld 後始末 # systemctl start firewalld # userdel testuser # service dovecot stop あとはログのローテーション。wiki2.dovecot.orgを参考に。 # vi /etc/logrotate.d/dovecot /var/log/dovecot*.log { weekly rotate 4 missingok notifempty compress delaycompress sharedscripts postrotate doveadm log reopen endscript } まずは、こんなところでしょうか。 へと続きます。 |
|