Bạn muốn tự host email doanh nghiệp thay vì phụ thuộc Gmail / Microsoft 365? iRedMail là bộ cài mail server mã nguồn mở phổ biến, đóng gói sẵn Postfix, Dovecot, Nginx, Roundcube, Amavis, Fail2ban… chỉ cần một VPS Ubuntu là dựng được hệ thống gửi–nhận mail chuyên nghiệp.
Bài viết này hướng dẫn cài đặt iRedMail trên Ubuntu 24.04 LTS theo quy trình thực tế: từ chuẩn bị máy chủ, cài silent (unattended), cấu hình DNS, thêm nhiều domain, đến các lỗi hay gặp khi truy cập webmail bị 404.
DataOnline cung cấp IP sạch, & hỗ trợ cài đặt, quản trị Email Server. Vui lòng chọn gói VPS giá rẻ, chúng tôi sẽ hỗ trợ
iRedMail là bộ script cài đặt và cấu hình mail server full-stack. Sau khi cài, bạn có:
| Thành phần | Vai trò |
|---|---|
| Postfix | SMTP gửi / nhận mail |
| Dovecot | IMAP / POP3 / LMTP |
| Nginx + PHP | Web server |
| Roundcube | Webmail |
| iRedAdmin | Panel quản trị domain / mailbox |
| Amavis + ClamAV + SpamAssassin | Chống spam / virus, ký DKIM |
| Fail2ban | Chống brute-force |
| MariaDB / PostgreSQL / OpenLDAP | Lưu tài khoản mail |
Ưu điểm: cài nhanh, cấu hình đồng bộ, có webmail và admin panel sẵn.
Lưu ý: cần VPS sạch (fresh OS), ít nhất ~4 GB RAM, và DNS phải trỏ đúng thì mail mới gửi–nhận ổn định.
Phiên bản minh họa trong bài: iRedMail 1.8.4 trên Ubuntu 24.04 LTS.
Yêu cầu trước khi cài đặt iRedMail
Phần cứng / VPS
- CPU: 2 vCPU trở lên
- RAM: tối thiểu 4 GB (khuyến nghị 8 GB nếu bật ClamAV + spam filter)
- Ổ đĩa: ≥ 40 GB SSD
- IP public tĩnh (quan trọng cho PTR / reverse DNS)
Hệ điều hành
- Ubuntu 24.04 LTS (khuyến nghị) hoặc 22.04
- Máy mới cài, chưa có Postfix / Nginx / MySQL / Apache sẵn
- Quyền root qua SSH
Tên miền & DNS
Chuẩn bị sẵn:
- Domain ví dụ:
domaincuaban.vn - Hostname FQDN cho mail server, ví dụ:
mail.domaincuaban.vn - Bản ghi A của
mail.domain.com→ IP VPS (không để CNAME trỏ nhầm sang hosting web LiteSpeed/cPanel) - Nên nhờ nhà cung cấp VPS set PTR (reverse DNS) của IP về
mail.domain.com
Bước 1: Kết nối SSH và cập nhật hệ thống
ssh root@YOUR_SERVER_IP
apt update && apt upgrade -y
apt install -y gzip dialog curl wget ca-certificates openssl
Khuyến nghị reboot một lần sau khi upgrade kernel.
Bước 2: Thiết lập hostname FQDN
iRedMail bắt buộc hostname dạng FQDN (có dấu chấm), ví dụ mail.domaincuaban.vn — không dùng tên ngắn như email hay ubuntu.
hostnamectl set-hostname mail.domaincuaban.vn
# Thêm vào /etc/hosts (thay IP thật của bạn)
echo "YOUR_SERVER_IP mail.domaincuaban.vn mail" >> /etc/hosts
hostname -f
# Kết quả mong đợi: mail.domaincuaban.vn
Kiểm tra reverse DNS (nếu đã cấu hình PTR):
dig +short -x YOUR_SERVER_IP
# Nên trả về: mail.domaincuaban.vn.
Bước 3: Tải iRedMail bản mới nhất
cd /root
VER=1.8.4 # hoặc bản stable mới nhất trên iredmail.org
wget -q "https://github.com/iredmail/iRedMail/archive/refs/tags/${VER}.tar.gz" \
-O "iRedMail-${VER}.tar.gz"
tar xzf "iRedMail-${VER}.tar.gz"
cd "iRedMail-${VER}"
ls
Trang tải chính thức: https://www.iredmail.org/download.html — Ubuntu 24.04 được hỗ trợ chính thức.
Bước 4: Cài đặt iRedMail (2 cách)
Cách A — Cài tương tác (dễ với người mới)
cd /root/iRedMail-1.8.4
bash iRedMail.sh
Wizard sẽ hỏi lần lượt:
- Thư mục lưu mailbox — mặc định
/var/vmail - Web server — chọn Nginx
- Backend — chọn MariaDB (phổ biến nhất) hoặc PostgreSQL / OpenLDAP
- Mật khẩu MySQL root
- First mail domain — ví dụ
domaincuaban.vn(không nhập trùng hostnamemail.domaincuaban.vn) - Mật khẩu postmaster@domain
- Thành phần tùy chọn: iRedAdmin, Roundcube, Fail2ban, Netdata, SOGo…
Xác nhận Y để bắt đầu cài. Quá trình có thể mất 10–30 phút tùy tốc độ apt mirror.
Cách B — Cài silent / unattended (tự động hóa)
Phù hợp khi deploy lặp lại hoặc cài từ script.
Tạo file config trong thư mục iRedMail (mật khẩu nên tự sinh bằng openssl rand):
cd /root/iRedMail-1.8.4
cat > config <<'EOF'
export STORAGE_BASE_DIR='/var/vmail'
export WEB_SERVER='NGINX'
export BACKEND_ORIG='MARIADB'
export BACKEND='MYSQL'
export MYSQL_ROOT_PASSWD='DOI_MAT_KHAU_MYSQL_MANH'
export FIRST_DOMAIN='domaincuaban.vn'
export DOMAIN_ADMIN_PASSWD_PLAIN='DOI_MAT_KHAU_POSTMASTER'
export USE_IREDADMIN='YES'
export USE_ROUNDCUBE='YES'
export USE_NETDATA='YES'
export USE_FAIL2BAN='YES'
export VMAIL_DB_BIND_PASSWD='RANDOM1'
export VMAIL_DB_ADMIN_PASSWD='RANDOM2'
export MLMMJADMIN_API_AUTH_TOKEN='RANDOM3'
export NETDATA_DB_PASSWD='RANDOM4'
export AMAVISD_DB_PASSWD='RANDOM5'
export IREDADMIN_DB_PASSWD='RANDOM6'
export RCM_DB_PASSWD='RANDOM7'
export SOGO_DB_PASSWD='RANDOM8'
export SOGO_SIEVE_MASTER_PASSWD='RANDOM9'
export IREDAPD_DB_PASSWD='RANDOM10'
export FAIL2BAN_DB_PASSWD='RANDOM11'
#EOF
EOF
Chạy cài không hỏi xác nhận:
AUTO_USE_EXISTING_CONFIG_FILE=y \
AUTO_INSTALL_WITHOUT_CONFIRM=y \
AUTO_CLEANUP_REMOVE_SENDMAIL=y \
AUTO_CLEANUP_REPLACE_FIREWALL_RULES=y \
AUTO_CLEANUP_RESTART_FIREWALL=y \
AUTO_CLEANUP_REPLACE_MYSQL_CONFIG=y \
bash iRedMail.sh
Khi xong, màn hình in URL webmail / admin và nhắc reboot:
reboot
Bước 5: Kiểm tra dịch vụ sau khi cài
systemctl is-active postfix dovecot nginx mariadb amavis fail2ban iredapd
ss -tlnp | grep -E ':25|:80|:443|:587|:993|:995'
Các cổng cần mở (firewall iRedMail dùng nftables thường đã mở sẵn):
- 25, 587, 465 — SMTP
- 143/993 — IMAP
- 110/995 — POP3
- 80/443 — Webmail / Admin
- 22 — SSH
File thông tin quan trọng (giữ bí mật):
/root/iRedMail-x.y.z/iRedMail.tips
Bước 6: Truy cập Webmail và Admin
Sau khi DNS đúng, dùng:
| Dịch vụ | URL |
|---|---|
| Roundcube (webmail) | https://mail.yourdomain.com/mail/ |
| iRedAdmin | https://mail.yourdomain.com/iredadmin/ |
| Netdata (nếu bật) | https://mail.yourdomain.com/netdata/ |
Đăng nhập lần đầu:
- User:
postmaster@yourdomain.com - Password: mật khẩu đã đặt lúc cài
Cert mặc định là self-signed → trình duyệt cảnh báo SSL. Có thể cài Let’s Encrypt sau khi bản ghi A đã trỏ đúng.
Bước 7: Cấu hình DNS để gửi–nhận mail thật
Đây là bước quyết định mail có vào inbox hay vào spam.
Bản ghi bắt buộc
Giả sử IP mail server = 160.187.0.13, hostname = mail.domaincuaban.vn, domain = domaincuaban.vn:
mail.domaincuaban.vn. A 160.187.0.13
domaincuaban.vn. MX 10 mail.domaincuaban.vn.
domaincuaban.vn. TXT "v=spf1 mx a:mail.domaincuaban.vn ip4:160.187.0.13 ~all"
_dmarc.domaincuaban.vn. TXT "v=DMARC1; p=none; rua=mailto:postmaster@domaincuaban.vn"
DKIM
Lấy public key trên server:
amavisd showkeys yourdomain.com
# hoặc
/usr/sbin/amavisd showkeys yourdomain.com
Tạo TXT:
dkim._domainkey.yourdomain.com. TXT "v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEF..."
Lỗi hay gặp: vào /mail/ bị 404
Nếu https://mail.domain.com/mail/ trả 404 nhưng https://IP/mail/ vẫn vào được → DNS đang trỏ sai.
Triệu chứng điển hình:
dig +short mail.domain.comra IP hosting web (LiteSpeed/cPanel), không phải IP VPS iRedMail- Response header hiện
Server: LiteSpeedthay vìnginx
Cách sửa: xóa CNAME mail trỏ về domain gốc (nếu có), tạo A record mail → IP VPS mail. Kiểm tra lại:
dig +short mail.yourdomain.com A
# Phải ra đúng IP iRedMail
Trong lúc chờ DNS, truy cập tạm bằng IP:
https://YOUR_SERVER_IP/mail/
https://YOUR_SERVER_IP/iredadmin/
Bước 8: Thêm domain mới để tạo email
iRedMail hỗ trợ nhiều domain trên cùng một máy (ví dụ thêm idex.vn, yostay.vn).
Cách 1 — Qua iRedAdmin (khuyến nghị)
- Đăng nhập
https://mail.../iredadmin/bằngpostmaster@domain-chính(global admin). - Add → Domain → nhập domain mới.
- Add → User → tạo mailbox thuộc domain đó.
Cách 2 — Qua SQL + DKIM (nhanh, scriptable)
# Thêm domain
mysql --defaults-file=/root/.my.cnf vmail -e "
INSERT INTO domain (domain, description, transport, settings, created, modified, expired, active)
VALUES ('idex.vn', 'Secondary domain', 'dovecot', 'default_user_quota:1024;', NOW(), NOW(), '9999-12-31 00:00:00', 1);
"
# Tạo DKIM
/usr/sbin/amavisd genrsa /var/lib/dkim/idex.vn.pem 2048
chown amavis:amavis /var/lib/dkim/idex.vn.pem
chmod 400 /var/lib/dkim/idex.vn.pem
Thêm vào /etc/amavis/conf.d/50-user:
dkim_key('idex.vn', 'dkim', '/var/lib/dkim/idex.vn.pem');
và trong @dkim_signature_options_bysender_maps:
"idex.vn" => { d => "idex.vn", a => 'rsa-sha256', ttl => 10*24*3600 },
Restart Amavis:
systemctl restart amavis
Tạo mailbox bằng tool có sẵn:
cd /root/iRedMail-1.8.4/tools
bash create_mail_user_SQL.sh info@idex.vn 'MatKhauManh!' | \
mysql --defaults-file=/root/.my.cnf vmail
DNS cho domain phụ có thể dùng chung MX của máy mail chính:
idex.vn. MX 10 mail.domaincuaban.vn.
idex.vn. TXT "v=spf1 mx a:mail.domaincuaban.vn ip4:160.187.0.130 ~all"
Bước 9: Tạo thêm hộp thư email
Trên iRedAdmin
Add → User → chọn domain → đặt quota (MB) → Save.
Client mail (Outlook / Thunderbird / điện thoại)
| Trường | Giá trị |
|---|---|
| IMAP | mail.yourdomain.com — cổng 993 SSL/TLS |
| SMTP | mail.yourdomain.com — cổng 587 STARTTLS |
| User | full email, ví dụ info@idex.vn |
| Password | mật khẩu mailbox |
Bước 10: Bảo mật sau khi cài (checklist)
-
Đổi mật khẩu
postmasterngay sau lần đăng nhập đầu. -
Chỉ mở SSH key-based login, tắt password nếu có thể.
-
Giữ
/root/iRedMail.tipsvà fileconfigở nơi an toàn (hoặc xóa sau khi đã lưu mật khẩu). -
Cài Let’s Encrypt (sau khi A record đúng):
apt install -y certbot python3-certbot-nginx certbot --nginx -d mail.yourdomain.com
-
Theo dõi Fail2ban / Netdata; cập nhật Ubuntu định kỳ.
-
Kiểm tra điểm gửi mail: mail-tester.com, MX Toolbox.
Tóm tắt quy trình cài đặt iRedMail
- VPS Ubuntu 24.04 sạch, ≥ 4 GB RAM
- Đặt FQDN
mail.domain.com+/etc/hosts - Tải iRedMail → chạy
iRedMail.sh(hoặc silent config) - Reboot → kiểm tra Postfix/Dovecot/Nginx
- Trỏ DNS A / MX / SPF / DKIM / DMARC đúng IP mail server
- Vào Roundcube & iRedAdmin → tạo user / thêm domain
- Cứng hóa bảo mật + SSL Let’s Encrypt
Kết luận
Cài iRedMail trên Ubuntu 24.04 không phức tạp nếu bạn làm đúng thứ tự: máy sạch → FQDN → installer → DNS. Phần dễ “hỏng trải nghiệm” nhất sau khi cài xong thường không nằm ở iRedMail mà ở DNS: nếu mail.domain.com còn trỏ về hosting web cũ, webmail sẽ 404 dù dịch vụ trên VPS vẫn chạy tốt.
Khi DNS đã chuẩn và DKIM/SPF/DMARC đầy đủ, bạn có thể tự host email cho một hoặc nhiều domain (ví dụ domaincuaban.vn, idex.vn, yostay.vn) trên cùng một máy chủ, quản lý tập trung qua iRedAdmin và Roundcube.
中文 (中国)
English
