Bài viết được sự cho phép của tác giả Lê Chí Dũng
Lý do bạn áp dụng cài đặt mail server:
- Hỗ trợ nhiều domain như lcdung.top, rtcamp.com, google.com, …
- Hỗ trợ quản lý nhiều tài khoản mail ảo như admin@lcdung.top, rahul@apple.com, steve@rtcamp.com, … Tài khoản ảo này chỉ login mail server để gửi mail chứ không dùng như tài khoản ftp nhé.
- Hỗ trợ quản lý alias như mail gửi cho you@example.com cũng sẽ forward tới admin@lcdung.top)
- Hỗ trợ giao diện web để quản lý tài khoản mail, domain mail, alias và nhiều thứ nửa bới Vimbadmin.
- Hỗ trợ giao diện webmail để người dùng có thể đăng nhập gửi mail, nhận mail, đổi password một cách dễ dàng bời Round Cube.
1. Cài đặt các packed postfix, dovecot, mysql
Nếu mail server của bạn đã cài đặt packed nào thì bạn có thể bỏ qua những packed đó. Lưu ý là server của mình đã cài đặt PHP-FPM và Nginx
2. Cấu hình Postfix
Bạn có thể kiểm tra version của mình bằng command:
Version mình đang cài là mail_version = 2.10.1
Cấu hình Postfix tại folder “/etc/postfix/” qua 2 file: main.cf, master.cf. Và một số file cấu hình virtual
2.1 Cấu hình Postfix master.cf
File: /etc/postfix/master.cf
Nếu bạn sử dụng với SSL thì dùng smtp port 465, với TLS thì dùng smtp port 587. Bạn cần bỏ comment và cấu hình theo các dòng sau:
Lưu ý: Mail server của mình không mã hóa SSL và TLS nên đã comment smtps. Nếu dùng thì bạn bỏ comment nhé
2.2 Cấu hình Postfix main.cf
File: /etc/postfix/main.cf
Bạn có thể xóa hết và cấu hình theo chuẩn của mình:
Lưu ý:
1. Mail server của mình không mã hóa SSL và TLS nên đã comment
Nếu mail server bạn có hỗ trợ thì bỏ comment ra và sửa đường dẫn theo đúng folder của bạn.
2. Bạn sẽ thấy dòng
5000 là tên group và user dùng trong dovecot. Khi đến bước cài đặt dovecot bạn sẽ thấy
3. Virtual mailbox để lưu trữ và quản lý nhiều domain, alias, tài khoản mail trong database mysql
2.3 Cấu hình Postfix Virtual Mailbox
Trước tiên tạo folder để lưu file cấu hình postfix-mysql:
Virtual Alias Mapping
File: /etc/postfix/mysql/virtual_alias_maps.cf
Virtual Domain Mapping
File: /etc/postfix/mysql/virtual_domains_maps.cf
Virtual Mailbox (user) Mapping
File: /etc/postfix/mysql/virtual_mailbox_maps.cf
Lưu ý: user và password là tài khoản để quản lý database của Vimbadmin trong Mysql. Bạn nên tạo 1 tài khoản và 1 dabatase rỗng nhé.
Cuối cùng để start Postfix trên Centos 7 dùng command sau:
Tuy nhiên nếu dùng nhân Linux khác hoặc phiên bản Centos khác thì có lệnh khác tuy nhiên cũng là start postfix
3. Cấu hình Dovecot
Bạn có thể kiểm tra version của mình bằng command:
Version mình sử dụng là 2.2.10
Tạo user trong linux – vmail
Như ghi chú trong cấu hình Postfix cần tạo tài khoản người sở hữu vùng lưu trữ email
Cấu hình Dovecot
Cấu hình Dovecot bạn cần cấu hình một số file sau:
Bật protocols
File: /etc/dovecot/dovecot.conf
Cấu hình nơi lưu trữ khi nhận mail
File: /etc/dovecot/conf.d/10-mail.conf
Cấu hình chứng thực
File: /etc/dovecot/conf.d/10-auth.conf
Cấu hình mysql parameters trong dovecot
File: /etc/dovecot/dovecot-sql.conf.ext
Cấu hinh hình master
File: /etc/dovecot/conf.d/10-master.conf
Tùy nhu cầu mà bạn có thể thay đổi cho hợp lý hoặc theo toàn bộ cấu hình này.
Cấu hình Logging
File: /etc/dovecot/conf.d/10-logging.conf
Cấu hình Debug logging
Nếu bạn muốn ghi nhận debug khi chứng thực thì bật lên theo đoạn code sau:
Doveconf
Để track xem những cấu hình đã thay đổi và kiểm tra có bug phát sinh không
Tương tự xem tất cả cấu hình của các file
Cuối cùng để start Dovecot trên Centos 7 dùng command sau:
Tuy nhiên nếu dùng nhân Linux khác hoặc phiên bản Centos khác thì có lệnh khác tuy nhiên cũng là start dovecot
4. ViMbAdmin – Virtual Mail Server Administration
ViMbAdmin là giải pháp tối ưu nếu server bạn đang sử dụng PHP để phát triển ứng dụng hay website. Còn nếu đang sử dụng sẳng ruby/rails thì bạn nên sử dụng posty để quản trị.
Cài đặt ViMbAdmin v3
Để cài Vimbadmin cần cài đặt composer trước.
Sau đó
Tạo database hoặc user cho vimbadmin
Bạn có thể chạy lệnh sau hoặc tự custom theo ý mình
Cấu hình vimbadmin
Backup file cấu hình
Sau đó chỉnh file cấu hình: application/configs/application.ini
Lưu ý: đảm bảo đúng cấu hình MySQL
Memcache glitch
Nếu bạn dùng memcache thì comment dòng session này lại
Tạo bảng trong MySQL tự động
Như đã cấu hình trên Postfix và Dovecot dùng database tên Vimbadmin nên cần chạy lệnh sau:
Chnage Ownership
set timezone in php
Vào file: /etc/php.ini
Thêm timezone
Restart PHP-FPM
Cấu hình Nginx chạy web mail server
Bạn có thể thay đổi vma.example.com thành sub domain của bạn.
Sau khi cài đặt lần chạy đầu tiên sẽ yêu cầu bạn cài đặt mã salt, user và password đề vào hệ thống quản lý domain, virtual mail-users,… bằng tài khoản ViMbAdmin.
5. Cài đặt Round Cube – Giao diện quản lý mail box
Sau khi chắc chắn việc cài đặt mail server thành công và kiểm thử gửi mail cũng thành công trên IMAP hoặc POP3 thì tiến hành cài Round Cube để sử dụng web mail.
yum -y install roundcubemail
Sau khi cài đặt Round Cube được lưu tại đây:
/usr/share/roundcubemail
Cấu hình Round Cube để chạy cài đặt tại đây:
/etc/roundcubemail/defaults.inc.php
Chỉnh file cấu hình kết nối với database roundcube đã tạo tại đây: /etc/roundcubemail/config.inc.php
Cấu hình Nginx để chạy Webmail Round Cube
Sau khi chạy mail.example.com trên trình duyệt và sử dụng tài khoản mail được tạo ra từ Vimbadmin để login vào và sử dụng.
Bài viết gốc được đăng tải tại lcdung.top
Có thể bạn quan tâm:
- Hướng dẫn cấu hình SPF và DKIM cho mail server để xác thực hợp lệ tránh vào spam
- Hướng dẫn cài đặt Elasticsearch, Logstash và Kibana (ELK Stack) trên CentOS 7 để quản lý Log
- Cài đặt Elasticsearch trên CentOS
Xem thêm Việc làm IT hấp dẫn trên TopDev