Lỗi connection to storage server failed khi dùng mail của direct admin
17/04/2022 152 lượt xemĐôi khi bạn sử dụng webmail roundcube trên một hosting direct admin, có thể gặp thông báo lỗi lúc đăng nhập như sau: connection to storage server failed. Hiện tượng này do đâu và xử lý như thế nào… có một vài nguyên nhân như sau:
Nguyên nhân 1:
Có thể đã lâu bạn chưa cập nhật phiên bản mới của dovecot, trong khi direct admin thì liên tục cập nhật các phiên bản webmail roundcube. Để khắc phục tình trạng này bạn làm như sau: Xóa các file index của dovecot, để sau đó nó tự cập nhật các file mới và fix lỗi. Các lệnh cần thực hiện là:
# cd /home
# /etc/init.d/dovecot stop
# rm -f */imap/*/*/Maildir/dovecot*
# rm -f */imap/*/*/Maildir/.*/dovecot*
# rm -f */Maildir/dovecot*
# rm -f */Maildir/.*/dovecot*
# /etc/init.d/dovecot restart
Nguyên nhân 2:
Dovecot giới hạn số connection được mở từ một IP. Khi nhiều user cùng sử dụng webmail (roundcube) để checkmail, thì thực chất là các user này đã sử dụng chung một địa chỉ là 127.0.0.1 để tạo connection do vậy nó có thể vượt quá lượng connection giới hạn. Có thể kiểm tra để khẳng định điều này bằng lệnh #cat /etc/log/maillog nếu thấy xuất hiện dòng log sau thì chắc chắn là đã quá số lượng connection trên ip này:
imap-login: Maximum number of connections from user+IP exceeded (mail_max_userip_connections=10)
hoặc
master: Error: service(imap-login): listen(*, 993) failed: Address already in use
Trong trường hợp này bạn có thể nên mở file cấu hình dovecot (/etc/dovecot/dovecot.conf) ra và sửa các con số trong các dòng sau:
mail_max_userip_connections = 15
remote 127.0.0.1 {
mail_max_userip_connections = 40
}
Sau đó bạn khởi động lại dịch vụ dovecot bằng lệnh #service dovecot restart.
Nguyên nhân 3:
Số lượng user login theo giao thức IMAP đã quá giới hạn. Bạn cũng có thể kiểm tra điều này bằng lệnh cat log file như ở nguyên nhân 2 và có thể thấy xuất hiện dòng sau:
imap-login: Maximum number of connections from user+IP exceeded (mail_max_userip_connections=10)
Nếu thấy dòng này thì rõ ràng là số lần login từ một địa chỉ IP nào đó đã vượt ngưỡng. Bạn có thể sửa các ngưỡng này trong file /etc/dovecot.conf như sau:
service imap-login {
process_limit = 800
process_min_avail = 16
user = dovecot
}
Các nguyên nhân khác:
bạn có thể tìm hiểu thêm các nguyên nhân khác trong các file log sau đây:
cd /var/log/httpd
tail -n 20 error_log
tail -n 20 domains/domain.com.log
tail -n 20 domains/domain.com.error.log
tail -n 20 /var/log/maillog