Chuyển tới nội dung chính
Version: 4.1

3.7.0

Bản phát hành biến một phiên bản (edition) thành một máy chủ khác, chứ không chỉ là một bộ nút khác.

Cho đến nay Community và Enterprise cài cùng một máy. Postfix, Dovecot, rspamd, ClamAV, BIND, PostgreSQL, Varnish và các công cụ tìm kiếm được cài trên mọi máy chủ, còn panel ẩn những gì phiên bản không được quyền dùng. Một máy chủ Community phải trả giá bộ nhớ cho tất cả mà không dùng được cái nào.

Từ 3.7.0, một sổ đăng ký mô-đun quyết định máy chủ cài gì, quản trị viên có thể thêm hoặc gỡ một mô-đun từ panel admin, và nhập khoá giấy phép sẽ nâng cấp một máy chủ đang chạy tại chỗ — bằng cách cài đặt, không bao giờ bằng di chuyển, và không chạm vào một byte dữ liệu khách hàng nào.

Nâng cấp là hitechcloudcli update. Không có gì bị gỡ khỏi một máy chủ đã tồn tại: bản phát hành này chỉ thêm.

Editions and modules​

  • configuration/hitechadmin/config/modules.json là sổ đăng ký — với mỗi mô-đun: phiên bản của nó, các thành phần cài nó, các unit nó sở hữu, các tính năng nó cung cấp, các gói nó có thể gỡ, các đường dẫn chứa dữ liệu khách hàng, và chi phí bộ nhớ của nó. CLI, cả hai panel và trình cài đặt đều đọc cùng một tệp.
  • hitechcloudcli native-module list | status | install | uninstall | repair, mỗi lệnh đều trả lời --json. install là idempotent. uninstall dừng các unit, chỉ gỡ các gói mà không mô-đun nào khác đã cài đang cần, và không bao giờ gỡ bất cứ thứ gì dưới data; --purge từ chối thay vì đoán khi dữ liệu đang được dùng. repair kết xuất lại cấu hình riêng của một mô-đun và bật lại các unit của nó — nút "đặt lại như cũ", trên cả hai phiên bản.
  • Một bản cài Community thôi cài những gì nó không dùng được. Community cài một WebEngine, PHP, MariaDB, Redis, cron, tường lửa, ACME, GoAccess, jail, engine tài nguyên — cùng FTP, trình quét mã độc và email (Postfix, Dovecot, OpenDKIM, rspamd) với bí danh, chuyển tiếp và một webmail. Mọi thứ khác đến cùng một giấy phép.
  • Admin (2087) có thêm Modules & Services: mọi mô-đun cùng bộ nhớ trực tiếp, các unit, ba thao tác, những gì một lần gỡ sẽ giải phóng, và những gì nó sẽ giữ lại. Nó từ chối gỡ một mô-đun mà mô-đun khác phụ thuộc vào.
  • Một trang mà mô-đun của nó chưa được cài sẽ nói rõ điều đó thay vì thất bại khi khách hàng nhấp vào. Câu trả lời được lưu đệm một phút và mở khi lỗi (fail open): một CLI không liên lạc được không bao giờ làm một tính năng đang hoạt động biến mất.
  • Nhập giấy phép nâng cấp chính máy chủ. Một khoá hợp lệ chạy native-module install --edition enterprise; các mô-đun đến và danh sách tính năng của panel mở rộng. Một giấy phép hết hạn không gỡ gì cả — các tính năng đóng lại, các dịch vụ vẫn chạy, và việc thu hồi bộ nhớ vẫn là quyết định của người vận hành.

Webmail​

  • Community có một webmail. Roundcube được cài như một mô-đun: cơ sở dữ liệu riêng, vhost riêng trên tên máy chủ thư với chứng chỉ của máy chủ này, pool PHP-FPM riêng, IMAP và SMTP trên Dovecot và Postfix của chính máy chủ này. Gỡ nó không bao giờ xoá cơ sở dữ liệu của nó, và --purge từ chối khi còn danh bạ, danh tính hoặc cài đặt đã lưu trong đó.
  • Bản cập nhật này cài nó trên một máy chủ có thư mà chưa có webmail — và trên không máy chủ nào khác.
  • Nâng cấp giữ cả hai. Một máy chủ Enterprise được nâng lên từ Community giữ Roundcube đã cài và truy cập được bên cạnh webmail của chúng tôi; hai bên đọc cùng các hộp thư. Webmail của chúng tôi dẫn đầu, cái kia cách một cú nhấp, và lựa chọn riêng của tài khoản được ghi nhớ.
  • Cài đặt đi theo khách hàng. Ở lần đăng nhập đầu tiên vào webmail của chúng tôi, danh bạ, nhóm danh bạ, danh tính, chữ ký và ngôn ngữ giao diện của hộp thư đó được sao chép từ webmail của Community — chỉ đọc, một lần, bỏ qua những gì đã có, và không bao giờ làm hỏng một lần đăng nhập. Bản gốc vẫn nằm nguyên chỗ cũ.
  • Những gì Community có, Enterprise giờ cũng có: nhóm danh bạ với nhập và xuất vCard/CSV, xem mã nguồn của một thư, Bcc mặc định cho mỗi danh tính, tuỳ chọn múi giờ hiển thị, đổi mật khẩu hộp thư từ trong webmail, và một autoresponder.

Mail​

  • Bộ lọc được thực thi khi thư đến. Trước đây các quy tắc chỉ chạy khi webmail đang mở và thăm dò, nên thư không được lọc khi không ai nhìn. Chúng được biên dịch thành một tập lệnh Sieve và đẩy tới máy chủ thư ở mỗi lần thay đổi; ManageSieve được cài đặt và cấu hình, và native-mail check kiểm tra nó theo cách nó kiểm tra IMAP.
  • hitechcloudcli native-mailbox status | passwd | sieve get | sieve set — chỉ root, mỗi lần gọi một hộp thư, từ chối một địa chỉ mà máy chủ này không có. Mật khẩu mới được đọc từ đầu vào chuẩn và chuyển thẳng tới công cụ riêng của máy chủ thư: không bao giờ trên dòng lệnh, không bao giờ trong nhật ký, không bao giờ trong một tệp tạm.

Changed​

  • Autoresponder là một tính năng Enterprise. Bảng phân chia đã công bố luôn mô tả nó như vậy — nó nằm trong các tính năng thư nâng cao mà một giấy phép bổ sung, bên cạnh các trình soạn bộ lọc Sieve mà nó được xây trên — trong khi danh mục lại đánh dấu nó là Community, và không có gì so sánh hai bên theo hướng đó. Webmail của Community là Roundcube không có các tính năng thư nâng cao; đây là một trong số đó. Một máy chủ Community đã dùng autoresponder sẽ mất trang này khi nâng cấp; các quy tắc Sieve đã viết vẫn tiếp tục chạy, vì không có gì gỡ chúng.

Fixed​

  • Một bản cài Enterprise không phải là tập cha của một bản cài Community. native-module install --edition enterprise lọc theo phiên bản riêng của mô-đun, nên một máy chủ được cấp phép theo bất kỳ cách nào khác ngoài việc nâng cấp một bản cài Community đang chạy — được cấp phát thẳng lên một hệ điều hành trống, hoặc được sửa chữa sau khi purge — lên mà không có PHP, MariaDB, thư, FTP hay bất kỳ mô-đun Community nào khác. Cả hai đường giờ dựng cùng một danh sách.
  • Cài đặt của webmail Community vốn sẽ không bao giờ đến nơi. Bước chuyển tiếp đọc hộp thư theo một cột mà bảng nguồn không có, và chỉ nói được một engine cơ sở dữ liệu trong khi panel này cài engine kia. Giờ nó nói được cả hai và khớp với lược đồ thực.
  • hitechcloudcli admin logs bỏ sót nhật ký API riêng của admin đúng trên phiên bản mà API ghi nó.
  • Terminal web mở jail của tài khoản, hoặc không mở. Nơi jail chưa được cài, terminal từng lùi về một shell root.
  • Các tuyến panel mang tính phá huỷ chỉ trả lời POST, nên một liên kết trong email hay một thẻ ảnh không còn có thể xoá đối tượng của khách hàng thay họ.
  • CAPTCHA đăng nhập giờ bảo vệ biểu mẫu đăng nhập. Cài đặt đã tồn tại nhưng không xác minh gì.
  • Một chốt chặn dịch vụ được giám sát chưa bao giờ hoạt động: systemctl list-unit-files thoát với 0 khi không có kết quả khớp, nên mọi dịch vụ đều qua. Giờ nó đọc trạng thái nạp của unit.
  • Các số trên một triệu được in theo cách Go in, ở bất cứ nơi nào một mẫu hiển thị một số.

Documented​

  • website/docs/architecture/editions-and-modules.md — mỗi phiên bản cài gì, bản nâng cấp hứa điều gì, và các quy tắc mà các bài kiểm thử buộc nó tuân theo.
  • website/docs/architecture/webmail-parity.md — mọi tính năng của webmail Community, Enterprise có hay không, và nó nằm ở đâu.
  • website/docs/architecture/community-only-audit.md — mọi thứ Community có mà Enterprise không có, từng cái được xem xét và ghi lại. Một bài kiểm thử giờ làm hỏng bản dựng khi một cái mới xuất hiện mà chưa được xem xét.
Trang này có hữu ích không?