Quản Trị Mạng - iRedMail là 1 đoạn mã shell có thể giúp bạn triển khai hệ thống giải pháp Mail Server mã nguồn mở 1 cách nhanh chóng, chỉ trong vòng 2 phút.
- Hỗ trợ tốt Red Hat(R) Enterprise Linux và CentOS 5.x, Debian 5.0.x, Ubuntu 8.04/9.04, FreeBSD 7.x/8.x, đồng thời hỗ trợ cả các nền tảng i386 và x86_64.
- Hầu hết các thành phần sử dụng trong iRedMail được cung cấp chính thức bởi Linux, điều này có nghĩa rằng người dùng iRedMail sẽ nhận được sự hỗ trợ về phần mềm và công nghệ theo vòng đời của sản phẩm.
- Hỗ trợ OpenLDAP và MySQL như 1 dạng backend để lưu trữ domain và user ảo.
- Cung cấp bảng điều khiển qua giao diện web. iRedOS là 1 sản phẩm được chỉnh sửa của CentOS 5.5, tại đây các gói không cần thiết đều bị loại bỏ, đồng thời nó đi kèm với phiên bản mới nhất của iRedMail (iredmail0.6.0).
- Các thành phần chính được ứng dụng trong giải pháp sau
- Forum thảo luận tại đây
- Trang chủ của dự án: http://code.google.com/p/iredmail/
Yêu cầu cơ bản
Các bạn cần phải có những thành phần sau: iRedOS-0.6.0-CentOS-5.5.i386.iso hoặc iRedOS-0.6.0-CentOS-5.5.x86_64.iso, download tại đây.
Lưu ý sơ bộ
Trong bài viết này chúng ta sẽ sử dụng các giá trị hostname: mail.example.com, địa chỉ IP: 192.168.1.10, LDAP suffix: dc=example,dc=com và domain ảo: example.com.
Cài đặt hệ thống cơ bản và iRedMail 0.6.0
Trước tiên, khởi động từ iredos, bấm Enter từ màn hình khởi động:
Lựa chọn ngôn ngữ:
Tiếp theo, chuẩn bàn phím:
Tại bài thử nghiệm này, chúng ta tiến hành cài đặt hệ thống CentOS 5.5 hoàn toàn mới và sạch sẽ, vì vậy chọn Yes khi nhận được câu hỏi Would you like to initialize this drive, erasing ALL DATA?
Bây giờ, chúng ta phải lựa chọn phân vùng mẫu để cài đặt. Để đơn giản hóa quá trình này, chọn Remove all partitions on selected drives and create default layout:
Chọn tiếp Yes với câu hỏi Are you sure you want to do this?
Trên mục thiết lập hệ thống mạng, các thông số kỹ thuật mặc định ở đây gán sẵn với việc kích hoạt tính năng DHCP, nhưng ở đây chúng ta cần tương tác với server, do đó địa chỉ IP tĩnh là 1 ý tưởng không tồi . Nhấn nút Edit phía trên bên phải:
Cửa sổ popup hiện ra, bỏ dấu tích ở ô Use dynamic IP configuration (DHCP) và Enable IPv6 support, và đặt địa chỉ IP cho card mạng (ở bài viết này chúng ta sử dụng 192.168.1.10) và địa chỉ netmask (255.255.255.0):
Thiết lập hostname (ví dụ mail.example.com), địa chỉ gateway (192.168.1.1) và 1 thông số DNS server bất kỳ (4.2.2.1):
Chọn múi thời gian phù hợp, nhớ đừng chọn mục System clock uses UTC:
Đặt mật khẩu root:
Và quá trình cài đặt sẽ bắt đầu, giai đoạn này chỉ mất vài phút:
Kết thúc quá trình trên, chúng ta sẽ chuyển sang việc cài đặt iredmail, nếu bạn chọn No hệ thống sẽ khởi động lại và không tiếp tục cài iredmail nữa:
Lựa chọn thư mục để lưu trữ mailbox của người sử dụng:
Lựa chọn backend để lưu trữ domain và người dùng ảo. Ở đây chúng ta sử dụng OpenLDAP:
Chọn giá trị LDAP suffix, thông thường là tên domain, ví dụ như dc=example,dc=com:
Đặt mật khẩu cho LDAP server admin: cn=Manager, dc=example, dc=com:
Tiếp tục đặt password cho MySQL root:
Và khởi tạo domain ảo:
Và đặt mật khẩu cho domain admin ảo: postmaster@example.com, bạn có thể đăng nhập vào iRedadmin và Awstats bằng tài khoản này:
Tiếp theo, đặt mật khẩu cho người dùng đầu tiên www@example.com cho domain ảo đầu tiên này:
Lựa chọn các thành phần hỗ trợ đi kèm:
Lựa chọn ngôn ngữ mặc định cho ứng dụng webmail:
Khi quá trình cài đặt kết thúc, hãy khởi động lại hệ thống:
Kiểm tra hệ thống mail
Hệ thống Webmail RoundCube
Kể từ phiên bản RoundCube 0.31 trở đi đã bổ sung thêm tính năng hỗ trợ plugin. Ở chế độ mặc định, iRedMail đã kích hoạt sẵn 2 plugin là password và managesieve, do vậy bạn có thể thay đổi mật khẩu và thiết lập hòm thư trả lời tự động nếu muốn. Hoặc cũng có thể lựa chọn và sử dụng plugin khác theo nhu cầu.
Đăng nhập vào RoundCube sử dụng tài khoản đầu tiên www@example.com:
Tài khoản này đã nhận được 2 email, hãy đọc thật kỹ. Vì tài khoản www@exmaple.com là root alias, do đó nhận được email hệ thống:
Thiết lập tính năng trả lời tự động:
Phiên bản iRedAdmin mã nguồn mở:
iRedAdmin phiên bản mã nguồn mở, là 1 dạng cơ chế điều khiển iRedMail bằng giao diện web, qua đó bạn có thể thêm, bớt, xóa hoặc tùy chỉnh các tài khoản domain, user và domain admin. Nếu cần nhiều tính năng hơn, bạn có thể tham khảo và sử dụng phiên bản full tại đây.
Đăng nhập vào iRedAdmin: postmaster@example.com:
Giao diện bảng điều khiển chính:
Bảng điều khiển mail domain:
Bảng điều khiển mail user:
Bảng điều khiển mail admin:
Quá trình tạo mới tài khoản:
Lựa chọn ngôn ngữ:
phpLDAPAdmin:
Đăng nhập vào phpLDAPAdmin: cn=manager, dc=example, dc=com:
Quản lý các tài khoản mail:
Với Awstats:
Đăng nhập vào Awstats: postmaster@example.com:
Kiểm tra các số liệu thống kê:
Những điều cần biết sau khi cài đặt
Nên đọc kỹ file /root/iRedMail/iRedMail.tips đầu tiên, trong file này có chứa dữ liệu liên quan đến: mật khẩu mặc định và các thông tin quan trọng, vị trí của mail có liên quan đến các file cấu hình và các tham số kỹ thuật khác.
Thiết lập bản ghi DNS cho SPF, tạo DNS cho DKIM và hướng dẫn iRedMail Admin.
Những câu hỏi thường gặp
- Tại sao người sử dụng thường xuyên nhận được email với độ trễ nhất định? Đó là do iRedMail cung cấp tính năng greylisting đi kèm với Policyd (v1.8.x). Greylisting tỏ ra đặc biệt hiệu quả với nhiều công cụ gửi thư rác bởi những kẻ spam không được thiết lập và xử lý các email đang trong tình trạng lỗi tạm thời. Bên cạnh đó, tính năng này có thể làm giảm lưu lượng email tới 50%, nhưng đồng thời cũng khiến cho những email đầu tiên bị chậm trễ. Bạn có thể sử dụng cách sau để kích hoạt hoặc tắt bỏ chức năng greylisting. Với RHEL/CentOS, file cấu hình /etc/postfix-policyd.conf:
# 1=on 0=off
GREYLISTING=1
Khởi động lại Policyd và tải Postfix.
- Làm thế nào để cập nhật iRedMail tới phiên bản mới nhất? Người dùng có thể sử dụng YUM để cập nhật các gói hỗ trợ, tham khảo thêm tại đây.
- Làm sao để kích hoạt disclaimers dành cho các thư gửi đi? Tìm đến dòng sau trong file /etc/amavisd.conf:
# ------------ Disclaimer Setting ---------------
# Uncomment this line to enable singing disclaimer in outgoing mails.
#$defang_maps_by_ccat{+CC_CATCHALL} = [ 'disclaimer' ];
Bỏ chú thích và khởi động lại dịch vụ amavis/amavisd, và cũng đừng quên đọc file @disclaimer_options_bysender_maps trong /etc/amavisd.conf để tìm hiểu thêm về các thiết lập này.
- Tạo ra hàng loạt tài khoản người dùng như thế nào? Để làm việc này, bạn phải chỉnh lại mã create_mail_user_OpenLDAP.sh trước tiên, thay đổi ldap suffix, bind dn và bind password:
# cd /path/to/iRedMail-x.y.z/tools/
# sh create_mail_user_OpenLDAP.sh domain.ltd user01 user02 user03
- Với các ứng dụng Anti-Virus và Anti-Spam. Làm thế nào để tắt hoặc bật chương trình? iRedMail sử dụng Amavisd-new là cầu nối giữa MTA và MDA, nó sẽ “gọi” SpamAssassin dành cho anti-spam và ClamAV để anti-virus. Bạn có thể thiết lập trạng thái bật hoặc tắt trong file /etc/amavisd.conf:
# @bypass_virus_checks_maps = (1); # controls running of anti-virus code
# @bypass_spam_checks_maps = (1); # controls running of anti-spam code
# $bypass_decode_parts = 1; # controls running of decoders&dearchivers
Ở chế độ mặc định, cả 2 đều ở trạng thái kích hoạt, khi bỏ dấu chú thích để tắt đi. Giá trị 1 nghĩa là tắt.
- Làm thế nào để tự tạo khóa SSL? Nếu muốn tự tạo SSL, bạn cần tải về hệ thống:
# wget http://iredmail.googlecode.com/hg/iRedMail/tools/generate_ssl_keys.sh
Chỉnh sửa lại các thông tin có liên quan trong đoạn mã đó:
# SSL key.
export SSL_CERT_FILE="${ROOTDIR}/certs/iRedMail_CA.pem"
export SSL_KEY_FILE="${ROOTDIR}/private/iRedMail.key"
export TLS_COUNTRY='CN'
export TLS_STATE='GuangDong'
export TLS_CITY='ShenZhen'
export TLS_COMPANY="${HOSTNAME}"
export TLS_DEPARTMENT='IT'
export TLS_HOSTNAME="${HOSTNAME}"
export TLS_ADMIN="root@${HOSTNAME}"
Sau đó chạy lại đoạn mã đó:
# bash generate_ssl_keys.sh
SSL keys were generated:
- /root/certs/iRedMail_CA.pem
- /root/private/iRedMail.key
Sao lưu file ssl_key cũ và file mới tới vị trí sau:
/etc/pki/tls/certs/iRedMail_CA.pem
/etc/pki/tls/private/iRedMail.key
Chúc các bạn thành công!