Проблема с электронной почтой Dovecot/ RainLoop/ CyperPanel/ GCP VM
Я видел много подобных вопросов, но не мог найти решения в течение нескольких дней. Я запускаю CyperPanel на GCP Ubuntu VM. При входе в RainLoop я получаю сообщение об ошибке «Авторизация не удалась».
Вот что я запускаю
systemctl status dovecot
dovecot.service - Dovecot IMAP/POP3 email server
Loaded: loaded (/lib/systemd/system/dovecot.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-03-03 14:19:25 UTC; 14min ago
Docs: man:dovecot(1)
Main PID: 3249 (dovecot)
Tasks: 5 (limit: 9544)
Memory: 5.2M
CGroup: /system.slice/dovecot.service
├─3249 /usr/sbin/dovecot -F
├─3268 dovecot/anvil
├─3269 dovecot/log
├─3270 dovecot/config
└─3305 dovecot/stats
Mar 03 14:19:25 cyberpanel-2-vm dovecot[3249]: master: Dovecot v2.3.13 (89f716dc2) starting up for imap, pop3 (core dumps disabled)
Mar 03 14:21:00 cyberpanel-2-vm dovecot[3269]: auth: Fatal: sql: Unknown database driver 'mysql'
Mar 03 14:21:00 cyberpanel-2-vm dovecot[3249]: master: Error: service(auth): command startup failed, throttling for 2.000 secs
Mar 03 14:21:00 cyberpanel-2-vm dovecot[3269]: imap-login: Disconnected: Auth process broken (disconnected before auth was ready, waited 0 secs): user=<>, rip=127.0.0.1, lip=127.0.0.1, secured, session=<P19zj6K8kqJ/AAAB>
Mar 03 14:21:09 cyberpanel-2-vm dovecot[3269]: auth: Fatal: sql: Unknown database driver 'mysql'
Mar 03 14:21:09 cyberpanel-2-vm dovecot[3249]: master: Error: service(auth): command startup failed, throttling for 4.000 secs
Бег
grep dovecot
LISTEN 0 100 0.0.0.0:110 0.0.0.0:* users:(("dovecot",pid=3249,fd=21))
LISTEN 0 100 0.0.0.0:143 0.0.0.0:* users:(("dovecot",pid=3249,fd=38))
LISTEN 0 100 0.0.0.0:993 0.0.0.0:* users:(("dovecot",pid=3249,fd=40))
LISTEN 0 100 0.0.0.0:995 0.0.0.0:* users:(("dovecot",pid=3249,fd=23))
LISTEN 0 100 [::]:110 [::]:* users:(("dovecot",pid=3249,fd=22))
LISTEN 0 100 [::]:143 [::]:* users:(("dovecot",pid=3249,fd=39))
LISTEN 0 100 [::]:993 [::]:* users:(("dovecot",pid=3249,fd=41))
LISTEN 0 100 [::]:995 [::]:* users:(("dovecot",pid=3249,fd=24))
Любые предложения, на что смотреть? Я не буду публиковать решения, которые я пробовал и которые не сработали, я готов повторить все это снова и опубликовать результаты. Заранее спасибо!
//добавляем содержимое некоторых, возможно, релевантных файлов
auth-sql.conf.ext
# Authentication for SQL users. Included from 10-auth.conf.
#
# <doc/wiki/AuthDatabase.SQL.txt>
passdb {
driver = mysql
# Path for SQL configuration file, see example-config/dovecot-sql.conf.ext
args = /etc/dovecot/dovecot-sql.conf.ext
}
# "prefetch" user database means that the passdb already provided the
# needed information and there's no need to do a separate userdb lookup.
# <doc/wiki/UserDatabase.Prefetch.txt>
#userdb {
# driver = prefetch
#}
userdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
# If you don't have any user-specific settings, you can avoid the user_query
# by using userdb static instead of userdb sql, for example:
# <doc/wiki/UserDatabase.Static.txt>
#userdb {
#driver = static
#args = uid=vmail gid=vmail home=/var/vmail/%u
#}
dovecot.conf
protocols = imap pop3
log_timestamp = "%Y-%m-%d %H:%M:%S "
#mail_location = maildir:/home/vmail/%d/%n/Maildir
#mail_location = mdbox:/home/vmail/%d/%n/Mdbox
ssl_cert = <cert.pem
ssl_key = <key.pem
mail_plugins = zlib
mdbox_rotate_size = 2M
namespace {
type = private
separator = .
prefix = INBOX.
inbox = yes
}
service auth {
unix_listener auth-master {
mode = 0600
user = vmail
}
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
user = root
}
service auth-worker {
user = root
}
protocol lda {
log_path = /home/vmail/dovecot-deliver.log
auth_socket_path = /var/run/dovecot/auth-master
postmaster_address = postmaster@example.com
mail_plugins = zlib
}
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
mail_plugins = $mail_plugins zlib
}
protocol imap {
mail_plugins = $mail_plugins zlib imap_zlib
}
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
plugin {
zlib_save = gz
zlib_save_level = 6
}
service stats {
unix_listener stats-reader {
user = vmail
group = vmail
mode = 0660
}
unix_listener stats-writer {
user = vmail
group = vmail
mode = 0660
}
}
dovecot-sql.conf.ext
driver = mysql
connect = host=localhost dbname=cyberpanel user=cyberpanel password=xxxxxx port=3306
password_query = SELECT email as user, password FROM e_users WHERE email='%u';
user_query = SELECT '5000' as uid, '5000' as gid, mail FROM e_users WHERE email='%u';
//изменить Пробное решение: https://forums.cyberpanel.net/discussion/4807/cant-login-to-rainloop
I installed Cyberpanel on Ubuntu 20.4 minimal on GCP but the problem remained.
Followed the next steps found on another discussion to solve:
apt remove dovecot-core dovecot-mysql dovecot-pop3d dovecot-imapd
sed -e '/deb/ s/^#*/#/' -i /etc/apt/sources.list.d/dovecot.list
apt clean all
apt install dovecot-core dovecot-mysql dovecot-pop3d dovecot-imapd
apt-get install -y libmysqlclient-dev
Then check devecot status with:
systemctl status dovecot -l
Then you go to YourIP:8090/manageSSL/sslForMailServer and install a SSL certificate for your Domain.
Then it will work
Теперь новая ошибка:
root@cyberpanel-2-vm:/home/admin_# journalctl -f | grep dovecot
Mar 03 17:00:33 cyberpanel-2-vm dovecot[824]: imap-login: Disconnected (auth failed, 1 attempts in 2 secs): user=<xxx@xxx.xx>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, TLS, session=<J7XgyaS8VJZ/AAAB>