ISP mail server – cài đặt nhanh

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ị

  1. Mail server dùng để gởi mail dạng you@domain.name nên trước hết cần có domain riêng
  2. Thiết lập ít nhất một record A trỏ đến RPi chạy mail server và mở port 25, 587, 993
  3. Công cụ để cập nhật IP cho domain, subdomain nếu dùng IP động
  4. Máy tính RPi mới cài đặt Debian Bullseye, chỉ cần bản lite 64bit
  5. 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

Comments Off on ISP mail server – cài đặt nhanh

Filed under Software

Comments are closed.