Cài đặt ISP mail server trong khoảng 5 phút.
ISP mail server này cải tiến từ hướng dẫn ISPmail guide for Debian 11 “Bullseye” – workaround.org
- Dùng openDKIM, SpamAssassin
- Dùng phương thức mã hóa mật khẩu mới nhất
- Sửa lỗi Password Plugin dành cho Roundcube
- Admin cho từng domain
- Cài đặt relayhost nếu cần, đếm mail được gởi đi
Sau khi cài đặt, người dùng có:
- mail server dùng được ngay
- web server dùng cho adminer, mailadmin, roundcube
- Hướng dẫn sử dụng và các thông tin quan trọng của mail server
Chuẩn bị
- Mail server dùng để gởi mail dạng you@domain.name nên trước hết cần có domain riêng
- Thiết lập ít nhất một record A trỏ đến RPi chạy mail server và mở port 25, 587, 993
- Công cụ để cập nhật IP cho domain, subdomain nếu dùng IP động
- Máy tính RPi mới cài đặt Debian Bullseye, chỉ cần bản lite 64bit
- RPi có kết nối internet
Yêu cầu 4 RPi phải mới cài đặt để tránh xung đột phần mềm hay các cài đặt đã có. Tuy nhiên nếu đã cài đặt mail server thì có thể dùng option -u để gở bỏ trước khi cài đặt mới. Script này có thể cài đặt lại nhiều lần để trả lại cấu hình căn bản mà không có trở ngại gì.
Yêu cầu 5 về đường truyền internet, băng thông càng rộng thì cài đặt càng nhanh vì liên quan đến việc tải về phần mềm.
Cài đặt
Sử dụng: isp.mail [-h hostname]
[-a domain]
[-w www_dir]
[-k token]
[-r file.sql]
[-S][-c|-u]
h: FQDN của mail server, mặc định là tên máy đang dùng
a: thêm domain để gởi mail dạng @domain ngoài domain của mail server
w: document root của web server, mặc định /mnt/www
k: API token của Cloudflare, nếu DNS là Cloudflare
S: Dùng http web server, thí dụ cho backend của proxy
c: chỉ cấu hình, không cài đặt phần mềm
r: dùng relay host
u: purge và reinstall softwares
# Thí dụ:
/path/to/isp.mail -a example.org -r /path/to/relayhost.sql
Nếu dùng relayhost, cần chuẩn bị thông tin về relayhost trong file .sql, tương tự như sau
INSERT INTO relayhost (id, domain, host, username, password, quota, active) VALUES
(1, 'example.com','[mail.gmail.com]:587', 'user1@gmail.com', 'pass1', 500, 1),
(2, 'example.com','[mail.gmail.com]:587', 'user2@gmail.com', 'pass2', 500, 0),
(3, 'example.org','[smtp.gmail.com]:587', 'user1@gmail.com', 'pass1', 500, 1),
(4, '_', '[smtp.gmail.com]:587', 'user2@gmail.com', 'pass2', 500, -1);
# domain này gởi email thông qua relayhost gì
# với tài khoản nào
# quota
# active hay dự trữ
Sau cài đặt
Thư mục INFO chứa thông tin cài đặt mail server, có dạng
## mail.example.com ##
Adminer
https://adminer.example.com
admin: mailadmin
password: fC9nunzEFWjf7VEvWpy3
mailAdmin
https://mailadmin.example.com
admin: sa
password: fC9nunzEFWjf7VEvWpy3
Webmail
https://webmail.example.com
Postmaster
user: postmaster@example.com
password: example.com
Setup mail client
Incomming (IMAP): mail.example.com, port 993 SSL
Outgoing (SMTP): mail.example.com, port 587 STARTTLS
Open ports
Port: 25,110,143,587,993,80,443/tcp
IP: Local ip of mail server
A record
Name: mail.example.com
adminer.example.com
mailadmin.example.com
webmail.example.com
Value: Public ip of mail server
DKIM record of example.com
Type: TXT
Name: default._domainkey
Value: v=DKIM1;h=sha256;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQ...
DMARC record
Type: TXT
Name: _dmarc
Value: v=DMARC1; p=none; pct=100; rua=mailto:dmarc-reports@example.com
SPF record
Type: TXT
Name: @
Value:v=spf1 mx ~all
MX record (required)
Name: @
Value: mail.example.com
Người dùng cần mở các port tương ứng (ở router internet) và thiết lập các DNS record theo hướng dẫn như trên