Hướng dẫn cài đặt và cấu hình iRedMail toàn tập, iRedMail là server được dùng nhiều nhất cả cho thương mại
iRedMail là hệ thống email server đang được dùng nhiều nhất, cả các công ty cho thuê email server cũng đang dùng hệ thống này, ưu điểm là dễ cài đặt, dễ cấu hình, dễ thao tác và bảo mật tốt, lại là open source. Trong bối cảnh các hệ thống như Google, Microsoft, Zoho, Yandex... thu phí thì việc tự tạo cho doanh nghiệp bạn một email server riêng với iRedMail là một lựa chọn.
1. Cài đặt và cấu hình trên CentOS 7
1.1 Yêu cầu hệ thống
iRedMail được thiết kế để cài đặt cho một máy chủ FRESH, có nghĩa rằng máy chủ của bạn chưa từng cài đặt MySQL, OpenLDAP, Postfix, Dovecot, Amavisd,… iRedMail sẽ tự động cài đặt và cấu hình các thành phần trên một cách tự động.
Tóm lại, để cài đặt được iRedMail trên CentOS 7:
-
Một server sử dụng OS CentOS 7 và đã cài đặt repo EPEL
-
RAM khuyến nghị là 2GB
-
3 UID/GID: 2000, 2001, 2002
-
Bộ cài của iRedMail: https://www.iredmail.org/download.html
1.2 Chuẩn bị cài đặt
1.2.1 Cài đặt EPEL
yum install -y wget epel-releaseTrường hợp epel-release
và wget
đã được cài sẵn trên server.
1.2.2 Tải iRedMail
-
Tải iRedMail mới nhất tại: https://www.iredmail.org/download.html
Trong thời điểm viết bài, iRedMail mới nhất là phiên bản 0.9.7
cd /opt wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.7.tar.bz2-
Giải nén bản cài đặt
1.2.3 Đặt hostname (FQDN)
-
Bước 1: Cài đặt hostname cho server
Lưu ý: Thay thế domain của bạn vào câu lệnh
-
Bước 2: Kiểm tra lại hostname
-
Bước 3: Khai báo vào file
/etc/hosts
-
Bước 4: Vô hiệu hóa SELinux
-
Bước 5: Cấu hình rule cho Firewalld
1.3 Tiến hành cài đặt
-
Truy cập vào folder và chạy script cài đặt iRedMail
-
Màn hình
Welcome
xuất hiện, chọnYes
để tiếp tục
-
Chọn nơi lưu trữ email
Default mail storage path
, chọnNext
để tiếp tục
-
Chọn web server (Bấm
SPACE
để chọn)
Trong lần cài đặt này, chúng ta chọn Apache vì nó được sử dụng khá rộng dãi. Sau đó bấm Next
.
-
Chọn nơi lưu trữ thông tin user (Bấm
SPACE
để chọn)
Chúng ta chọn MySQL. Sau đó bấm Next
…
-
Đặt mật khẩu cho root của MySQL. Sau đó bấm
Next
để tiếp tục.
-
Khai báo Domain của hòm mail
Lưu ý: Khai báo tên miền của bạn vào ô
-
Khai báo password cho
postmaster
(Tài khoản quản trị hòm mail)
-
Cài đặt các tiện ích (Webmail, Calender, Contacts,…)
-
Xem lại các thiết lập bên trên và chọn
Y
để tiếp tục
-
Chờ quá trình cài đặt diễn ra
Trong quá trình cài đặt, iRedMail sẽ hỏi chúng ta về phần mở port cho SSH và phần cấu hình cho MySQL. Bấm Y
để tiếp tục.
-
Quá trình hoàn tất
-
Khởi động lại hệ thống
2. Cấu hình các bản ghi DNS
-
Lấy bản ghi DKIM cho Mail server
Chúng ta sử dụng lệnh amavisd để tạo ra bản ghi DKIM.
amavisd -c /etc/amavisd/amavisd.conf showkeysChúng ta lấy phần chuỗi trong ‘()’, bỏ hết ‘“’ và viết liền lại với nhau có dạng như sau:
v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYArsr2BKbdhv9efugBy...-
Các bản ghi cần thiết
Record | Name | Data | Prority |
---|---|---|---|
A | X.X.X.X | NULL | |
MX | NULL | mail.giaiphapgiaothong.com | 5 |
TXT | @ | “v=spf1 mx mx:mail.giaiphapgiaothong.com -all | NULL |
TXT | dkim._domainkey | v=DKIM1; p=MIGfMA0kRCvdXXXXXXXXXXXXX | NULL |
-
Sau khi khai báo lên DNS, chúng ta kiểm tra lại DKIM bằng lệnh
iRedMail – Đồng bộ dữ liệu sang server mới
Migrate dữ liệu
Sau khi cài đặt một server mới với đầy đủ các thành phần của server cũ, chúng ta tiến hành restore lại dữ liệu từ server cũ.
Các dữ liệu quan trọng:
-
Các tài khoản mail được lưu trữ trong MySQL/LDAP
-
Thư mục lưu trữ email. Mặc định tại /var/vmail/
-
Dữ liệu của Roundcube Webmail. Lưu trữ dữ liệu của mỗi user như (Addressbook,…).
-
Dữ liệu của Amavisd (Lưu trữ về các thông tin white/blacklist của mỗi user)
Chú ý: Không khôi phục dữ liệu của database mysql
vì nó lưu trữ thông tin của các user như Roundcube, Amavisd,… vì khi cài mới server thông tin về password sẽ thay đổi.
Dữ liệu của database được backup hàng ngày và lưu trữ tại: /var/vmail/backup/mysql/
Sao chép dữ liệu được backup vào ngày mới nhất sang server mới. Ví dụ, bản backup mới nhất trong thời điểm viết bài là ngày 4/5/2018.
2.1 Sao chép dữ liệu sang server mới
Sử dụng scp
để sao chép các dữ liệu sang server mới
Trên Server mới, giải nén các file dữ liệu backup *.bz2 vùa chuyển từ server cũ sang
cd /opt bzip2 -d <file>.sql.bz22.2 Migrate dữ liệu
2.2.1 Migrate tài khoản (MySQL/PostgreSQL)
Tất cả các tài khoản được lưu trữ tại database vmail
. Chúng ta khôi phục lại dữ liệu từ file backup của database này lên máy chủ mới.
Chú ý: Bản iRedMail 0.8.7 đã lược bỏ đi một vài cột trong các bảng của vmail
. Vì thế, trước khi khôi phục lại dữ liệu từ server cũ, hãy thêm lại các cột đó.
Không cần thiết nếu sử dụng phiên bản > 0.8.7
mysql> USE vmail; mysql> ALTER TABLE mailbox ADD COLUMN bytes BIGINT(20) NOT NULL DEFAULT 0; mysql> ALTER TABLE mailbox ADD COLUMN messages BIGINT(20) NOT NULL DEFAULT 0; mysql> ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US'; mysql> ALTER TABLE domain ADD COLUMN defaultuserquota BIGINT(20) NOT NULL DEFAULT '1024'; mysql> ALTER TABLE domain ADD COLUMN defaultuseraliases TEXT; mysql> ALTER TABLE domain ADD COLUMN disableddomainprofiles VARCHAR(255) NOT NULL DEFAULT ''; mysql> ALTER TABLE domain ADD COLUMN disableduserprofiles VARCHAR(255) NOT NULL DEFAULT ''; mysql> ALTER TABLE domain ADD COLUMN defaultpasswordscheme VARCHAR(10) NOT NULL DEFAULT ''; mysql> ALTER TABLE domain ADD COLUMN minpasswordlength INT(10) NOT NULL DEFAULT 0; mysql> ALTER TABLE domain ADD COLUMN maxpasswordlength INT(10) NOT NULL DEFAULT 0; mysql> ALTER TABLE alias ADD COLUMN islist TINYINT(1) NOT NULL DEFAULT 0;Khôi phục lại database, chạy các lệnh sau để tạo các tài khoản mail alias và xóa bỏ một vài cột đã tạo ở trên.
mysql> USE vmail; mysql> UPDATE alias SET islist=1 WHERE address NOT IN (SELECT username FROM mailbox); mysql> UPDATE alias SET islist=0 WHERE address=domain; -- domain catch-all account -- Store values into new column: domain.settings and drop them mysql> UPDATE domain SET settings=''; mysql> UPDATE domain SET settings=CONCAT(settings, IF(defaultlanguage IS NULL OR defaultlanguage='', '', CONCAT('default_language:', defaultlanguage, ';'))); mysql> UPDATE domain SET settings=CONCAT(settings, IF(defaultuserquota IS NULL OR defaultuserquota=0, '', CONCAT('default_user_quota:', defaultuserquota, ';'))); mysql> UPDATE domain SET settings=CONCAT(settings, IF(defaultuseraliases IS NULL OR defaultuseraliases='', '', CONCAT('default_groups:', defaultuseraliases, ';'))); mysql> UPDATE domain SET settings=CONCAT(settings, IF(minpasswordlength IS NULL OR minpasswordlength=0, '', CONCAT('min_passwd_length:', minpasswordlength, ';'))); mysql> UPDATE domain SET settings=CONCAT(settings, IF(maxpasswordlength IS NULL OR maxpasswordlength=0, '', CONCAT('max_passwd_length:', maxpasswordlength, ';'))); mysql> UPDATE domain SET settings=CONCAT(settings, IF(disableddomainprofiles IS NULL OR disableddomainprofiles='', '', CONCAT('disabled_domain_profiles:', disableddomainprofiles, ';'))); mysql> UPDATE domain SET settings=CONCAT(settings, IF(disableduserprofiles IS NULL OR disableduserprofiles='', '', CONCAT('disabled_user_profiles:', disableduserprofiles, ';'))); mysql> ALTER TABLE domain DROP defaultlanguage; mysql> ALTER TABLE domain DROP defaultuserquota; mysql> ALTER TABLE domain DROP defaultuseraliases; mysql> ALTER TABLE domain DROP minpasswordlength; mysql> ALTER TABLE domain DROP maxpasswordlength; mysql> ALTER TABLE domain DROP disableddomainprofiles; mysql> ALTER TABLE domain DROP disableduserprofiles; use vmail; source <file-sql-vmail>;Sau khi khôi phục lại database,
2.2.2 Migrate mailbox (Maildir)
Lưu ý: Kiểm tra lại thư mục chứa mail ở server cũ. Và khai báo vào trong quá trình cài đặt server mới. (Thực hiện trên máy chủ cũ)
Để kiểm tra, chúng ta đăng nhập vào MySQL và truy vấn câu lệnh sau:
use vmail MariaDB [vmail]> SELECT storagebasedirectory FROM mailbox WHERE username='info@nangtamgroup.vn'; +----------------------+ | storagebasedirectory | +----------------------+ | /var/vmail | +----------------------+Chú ý: Thay một địa chỉ email có trên hệ thống vào câu lệnh.
Chuyển dữ liệu sang máy chủ mới
scp /var/vmail root@ip-new:/var/vmailVà phân quyền (700) cho thư mục cho vmail
2.2.3 Migrate dữ liệu của mailling list
Mặc định, các dữ liệu được lưu trữ tại:
-
/var/vmail/mlmmj: Các maillist đang hoạt động.
-
/var/vmail/mlmmj-archive: Các maillist đã được xóa bỏ.
Phân lại quyền thư mục, với 700 và sở hữu bởi: mlmmj:mlmmj
Do bước trên chúng ta đã chuyển toàn bộ thư mục vmail
sang máy chủ mới. Vì vậy, chúng ta phân quyền lại cho folder như sau:
2.2.4 Migrate dữ liệu của Webmail Roundcoube, Amavisd, iRedAPD, iRedAdmin
-
Roundcube
-
Amavisd
-
iRedAPD
-
iRedAdmin
-
Sogo
2.2.5 Migrate DKIM keys
Copy thư mục chứa DKIM key của server cũ sang server mới, mặc định /var/lib/dkim.
scp -r /var/lib/dkim/* root@ip-server:/var/lib/dkim/Phân lại quyền thư mục, sở hữu bởi amavis:amavis với quyền 600.
3. Tham khảo
Nhiều người quan tâm
- Các nền tảng công nghệ hỗ trợ cho KHỞI NGHIỆP và CHUYỂN ĐỔI SỐ tiết kiệm, hiệu quả,...
- 5 lý do sở hữu một ứng dụng di động là cần thiết đối với doanh nghiệp vừa và nhỏ
- Hệ thống điều hành, tìm gọi và quản lý xe sử dụng công nghệ mới
- Khắc phục lỗi đăng nhập Windows 10, không thể login vào Windows 10
- Mạng xã hội là gì? Hiểu đầy đủ nhất về mạng xã hội
- 100 Website đặt backlink miễn phí chất lượng
- IoT là gì? ứng dụng của IoT trong cuộc sống hiện đại
- Hướng dẫn cài ứng dụng, phần mềm cho Android trực tiếp bằng tập tin APK
- Ứng dụng bán hàng trên smartphone, smart TV, mạng xã hội...
- Platform là gì?
- Cách đổi tên thiết bị Android
- Top danh sách hơn 300 website submit PR cao
DVMS chuyên:
- Tư vấn, xây dựng, chuyển giao công nghệ Blockchain, mạng xã hội,...
- Tư vấn ứng dụng cho smartphone và máy tính bảng, tư vấn ứng dụng vận tải thông minh, thực tế ảo, game mobile,...
- Tư vấn các hệ thống theo mô hình kinh tế chia sẻ như Uber, Grab, ứng dụng giúp việc,...
- Xây dựng các giải pháp quản lý vận tải, quản lý xe công vụ, quản lý xe doanh nghiệp, phần mềm và ứng dụng logistics, kho vận, vé xe điện tử,...
- Tư vấn và xây dựng mạng xã hội, tư vấn giải pháp CNTT cho doanh nghiệp, startup,...
Vì sao chọn DVMS?
- DVMS nắm vững nhiều công nghệ phần mềm, mạng và viễn thông. Như Payment gateway, SMS gateway, GIS, VOIP, iOS, Android, Blackberry, Windows Phone, cloud computing,…
- DVMS có kinh nghiệm triển khai các hệ thống trên các nền tảng điện toán đám mây nổi tiếng như Google, Amazon, Microsoft,…
- DVMS có kinh nghiệm thực tế tư vấn, xây dựng, triển khai, chuyển giao, gia công các giải pháp phần mềm cho khách hàng Việt Nam, USA, Singapore, Germany, France, các tập đoàn của nước ngoài tại Việt Nam,…
Quý khách xem Hồ sơ năng lực của DVMS tại đây >>
Quý khách gửi yêu cầu tư vấn và báo giá tại đây >>