1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL

256 593 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 256
Dung lượng 4,55 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phần Tóm Tắt --- o0o --- Nội dung của đề tài gồm những phần sau: 1 Phần mở đầu 2 Giới thiệu về Phần mềm nguồn mở/tự do FOSS : giới thiệu về FOSS, các lợi ích khi sử dụng FOSS 3 Giới thiệ

Trang 1

KHOA KỸ THUẬT – CÔNG NGHỆ - MÔI TRƯỜNG

PHAN THANH TUẤN NGUYỄN TRƯỜNG XUÂN

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC NGÀNH CỬ NHÂN TIN HỌC

NGHIÊN CỨU, ỨNG DỤNG VÀ PHÁT TRIỂN HỆ THỐNG HỖ TRỢ LÀM VIỆC NHÓM ZIMBRA -

TÍNH BẢN ĐỊA HÓA, TỐI ƯU MÃ NGUỒN VÀ KHẢ NĂNG TÍCH HỢP, MỞ RỘNG CÁC ỨNG DỤNG TRONG MÔI

Trang 2

TRƯỜNG ĐẠI HỌC AN GIANG

KHOA KỸ THUẬT – CÔNG NGHỆ - MÔI TRƯỜNG

PHAN THANH TUẤN NGUYỄN TRƯỜNG XUÂN

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC NGÀNH CỬ NHÂN TIN HỌC

NGHIÊN CỨU, ỨNG DỤNG VÀ PHÁT TRIỂN HỆ THỐNG HỖ TRỢ LÀM VIỆC NHÓM ZIMBRA -

TÍNH BẢN ĐỊA HÓA, TỐI ƯU MÃ NGUỒN VÀ KHẢ NĂNG TÍCH HỢP, MỞ RỘNG CÁC ỨNG DỤNG TRONG MÔI

Trang 3

LỜI CẢM ƠN

- o0o -

Sau một thời gian thực hiện chuyên đề tốt nghiệp, đến nay, mọi công việc liên quan tới

đề tài đã hoàn tất Trong suốt thời gian này, chúng tôi đã nhận được rất nhiều sự giúp đỡ Ở phần đầu tiên của đề tài, cho phép chúng tôi có đôi điều gửi đến những người mà chúng tôi vô cùng biết ơn

Xin chân thành cảm ơn các Thầy Cô trong Trung tâm Tin học của trường Đại học An Giang đã tạo điều kiện thuận lợi để chúng tôi học tập và thực hiện đề tài tốt nghiệp này

Chúng tôi xin bày tỏ lòng biết ơn sâu sắc đến Thầy Phạm Minh Tân đã trực tiếp hướng dẫn và tận tình chỉ bảo chúng tôi trong quá trình thực hiện đề tài

Tấm lòng chân thành nhất của chúng tôi cũng xin được gửi đến Thầy Lê Trường Kỷ Những tài liệu, những gợi ý của Thầy đã giúp chúng tôi rất nhiều trong quá trình thực hiện đề tài

Rất biết ơn Anh Trương Anh Tuấn và Công ty Iway đã hỗ trợ kỹ thuật cũng như giải đáp các thắc về đề tài

Cám ơn Cộng đồng những người sử dụng Zimbra đã thảo luận cùng chúng tôi, và có những bài viết làm cơ sở kiến thức để chúng tôi thực hiện đề tài

Cũng xin gửi lời biết ơn đến ba, đến mẹ, và những người thân đã luôn dành những tình thương yêu nhất cho chúng tôi, những người đã luôn hỗ trợ, dõi theo những bước đi của chúng tôi trong các năm học vừa qua

Xin tri ân tất cả các Thầy Cô, những người dày công dạy dỗ, truyền cho chúng tôi rất nhiều tri thức quí báu

Cám ơn tất cả chúng ta bè của chúng tôi, những người đã sát cánh cùng vui những niềm vui, cùng chia sẻ những khó khăn của chúng tôi và giúp đỡ chúng tôi rất nhiều trong quá trình thực hiện đề tài

An Giang, tháng 04 năm 2008 Nhóm sinh viên thực hiện :

Phan Thanh Tuấn Nguyễn Trường Xuân

Trang 4

Lời Nói Đầu

- o0o -

Với những thuận lợi khi sử dụng và những ưu việt về tính năng, trào lưu về mã nguồn

mở đã được hình thành trên thế giới từ rất lâu, nhưng chỉ mới du nhập vào Việt Nam những năm gần đây Và sau khi Việt Nam gia nhập WTO và luật Sở hữu trí tuệ ra đời, thì trào lưu này đã trổi dậy mạnh mẽ ở Việt Nam

Do giá của các phần mềm có bản quyền quá cao, việc lựa chọn các phần mềm miễn phí và nguồn mở là lựa chọn của các doanh nghiệp vừa và nhỏ ở Việt Nam Và các trường cao đẳng- đại học cũng không ngoại lệ Để đáp ứng nhu cầu dạy và học, các trường đại học trong nước đã ra sức nghiên cứu và ứng dụng các phần mềm miễn phí và nguồn mở

Trường Đại học An Giang được xem như là đầu tàu về đào tạo nguồn nhân lực và ứng dụng các công nghệ mới trong tỉnh cũng như các tỉnh lân cận Do đó trường cũng đã đầu tư nghiên cứu các phần mềm miễn phí và nguồn mở để đáp ứng nhu cầu dạy và học cũng như áp dụng vào hoạt động sản xuất kinh doanh của các doanh nghiệp trong tỉnh

Và một trong những nổ lực đó chính là đề tài của chúng tôi, nhằm ứng dụng bộ cộng tác Zimbra vào hệ thống thông tin của trường Đại học An Giang Giúp cho việc trao đổi thông tin giữa các người dùng trong trường được dễ dàng và bảo mật hơn

Trang 5

Phần Tóm Tắt

- o0o - Nội dung của đề tài gồm những phần sau:

1) Phần mở đầu

2) Giới thiệu về Phần mềm nguồn mở/tự do (FOSS) : giới thiệu về FOSS, các lợi ích khi sử dụng FOSS

3) Giới thiệu về Linux và hệ điều hành Ubuntu

4) Giới thiệu tống quan về Zimbra

a) Các thành phần trong Zimbra

b) Kiến trúc của Zimbra

c) Các giấy phép mà Zimbra sử dụng

5) Biên dịch mã nguồn Zimbra

6) Giới thiệu về Zimlet và ứng dụng của nó

7) Bản địa hóa hệ thống Zimbra

a) Tìm hiểu Quốc tế hóa và Bản địa hóa

b) Bản địa hóa thông điệp Zimbra

c) Tùy biến giao diện (theme) của Zimbra

d) Thêm từ điển vào Aspell

8) Giới thiệu LDAP và JNDI

9) Giới thiệu SSL

10) Phần cài đặt

11) Phụ lục

a) Tài liệu tham khảo

b) Phụ lục A : Một vài giấy phép mà Zimbra sử dụng

c) Phụ lục B : Những ấn bản phát hành của Zimbra

d) Phụ lục C : Tài liệu hướng dẫn sử dụng Zimbra

Trang 6

Mục Lục

- o0o -

A Phần Mở Đầu 1

I Yêu cầu thực tế và lý do chọn đề tài 1

II Mục đích, đối tượng và phạm vị nghiên cứu 1

B Giới thiệu về Phần mềm nguồn mở/tự do (FOSS) 3

I Phần mềm nguồn mở là gì? 3

II Lịch sử của Phần mềm nguồn mở 4

III Tư tưởng về Phần mềm nguồn mở 5

1 Thuyết của FSF 5

2 Thuyết OSI 6

IV Tính ưu việt của FOSS 6

1 Giảm sự trùng lặp nguồn lực 6

2 Tiếp thu kế thừa 6

3 Quản lý chất lượng tốt hơn 7

4 Giảm chi phí duy trì 7

5 Sử dụng Phần mềm nguồn mở đem lại những ích lợi gì? 7

V Những hạn chế của phần mềm nguồn mở 7

1 Thiếu các ứng dụng kinh doanh đặc thù 8

2 Tính tương hỗ với các hệ thống phần mềm đóng 8

3 Trình bày và ―đánh bóng‖ ứng dụng 8

VI Những dự án Phần mềm nguồn mở thành công 8

VII Quyền sở hữu tri tuệ và việc cấp phép cho FOSS 8

1 Giấy phép đại chúng GNU (GPL) 8

2 Giấy phép dạng BSD 9

C LINUX 11

I Linux là gì? 11

1 Linux với vai trò lõi của hệ thống 11

2 Linux với vai trò hệ thống 11

3 Lịch sử của Linux 12

4 Linux có phải là phần mềm nguồn mở? 12

II Ubuntu 13

5 Giới thiệu về Ubuntu 13

6 Về tên của Ubuntu 13

7 Phương thức đặt số cho các phiên bản Ubuntu 14

8 Nguồn gốc và hỗ trợ 14

9 Các hệ điều hành dựa trên Ubuntu là: 14

D Giới thiệu Bộ cộng tác Zimbra 16

I Bộ cộng tác Zimbra 16

II Các chức năng chính 16

III Các thành phần trong Zimbra 17

IV Kiến trúc của hệ thống 18

1 Các gói Zimbra 19

2 Cây thư mục trong hệ thống Zimbra 20

3 Ví dụ về một cấu hình tiêu biểu trên nhiều máy chủ 22

4 Kiến trúc Máy khách Zimbra (Zimbra Client) 23

Trang 7

1 Định tuyến Mail đến (Incoming Mail Routing) 32

Single-Copy Message Storage: 33

VI Dịch vụ Thư mục Zimbra (Zimbra Directory Service) 35

1 Tổng quan về các Directory Services 35

2 Zimbra Schema 37

3 Sự thẩm định quyền tài khoản người dùng (Account Authentication) 37

4 Các đối tượng Zimbra 39

5 Ngân hàng Directory/GAL 41

VII So sánh Zimbra với các hệ thống cùng loại 42

1 So sánh Zimbra với MS Exchange 42

2 So sánh Zimbra với Lotus Domino 43

VIII Giấy Phép Zimbra 45

1 Ấn bản mã nguồn mở của Bộ Cộng Tác Zimbra (Zimbra Collaboration Suite -ZCS) 45 2 Ấn bản Mạng của Bộ Cộng tác Zimbra (ZCS Network Edition) 46

3 Những Giấy phép của Bên thứ Ba (3rd Party) 46

4 Những phiên bản cũ của ZCS 46

5 Zimbra Powered Logo 47

E Biên dịch mã nguồn Zimbra 48

I Cấu trúc thư mục các bản phát hành của Zimbra 48

1 Bản phát hành Nhị phân: 48

2 Bản phát hành Mã nguồn mở 48

II Xây dựng (build) mã nguồn ZCS 48

1 Các cách xây dựng 48

2 Các yêu cầu để xây dựng mã nguồn ZCS 48

3 Xây dựng 1 bản phân phối nhị phân 49

4 Hướng dẫn xây dựng mã nguồn ZCS 49

F Zimlets™ 53

I Giới thiệu về Zimlet 53

II Cấu trúc của một Zimlet 54

III Thiết lập những Zimlet trong ZCS 54

1 Việc triển khai những Zimlet 55

2 Cấu hình một Zimlet 55

3 Xem danh sách các Zimlet 56

4 Vô hiệu hóa và lọa bỏ một Zimlet 56

5 Những Zimlet được tích hợp chung với ZCS 56

IV Xây dựng Zimlet đơn giản : HelloWorldZimlet 57

G Bản địa hóa 60

I Bản địa hoá và quốc tế hoá 60

1 Thế nào là bản địa hoá? Quốc tế hoá là gì? 60

2 Ví dụ về bản địa hoá và quốc tế hoá 60

II Bản địa hóa hệ thống Zimbra 61

1 Tổng quan về Dịch thuật và Ngôn ngữ trong hệ thống Zimbra 61

2 Lấy những bản dịch Zimbra ở đâu 61

3 Làm việc với Dự án Zimbra Xtras như thế nào? 61

4 Ý nghĩa của các tập tin thông điệp 62

5 Những tập tin từ khóa của phím tắt 62

6 Một số ghi chú về các thông điệp 63

7 Cài đặt các bản dịch vào ZCS Server 64

8 Chuyển mã tất cả bản dịch về ASCII 65

Trang 8

9 Thay Đổi Tiều đề trang 65

III Tùy biến các giao diện và Thêm logo Zimbra Powered - Ấn bản Mã nguồn mở 66

1 Những thành phần của một giao diện ZCS 67

2 Bảng kê khai của giao diện (The Theme Manifest) 68

3 Chính sách về Giấy phép 69

4 Tùy biến ZWC dùng Lớp của Dịch vụ (Class of Service) 69

5 Tạo giao diện được tùy biến từ những giao diện mẫu 70

6 Thêm logo Zimbra Powered trong một giao diện Zimbra 75

7 Thêm logo Zimbra Powered cho Tất cả các giao diện của Zimbra 75

8 Triển khai một giao diện 77

IV Kiểm tra chính tả với aspell 77

1 Thêm 1 tự điển mới vào aspell 77

2 Hỗ trợ thêm các tự điển Latin-2 78

H Giới thiệu LDAP và JNDI 80

I MỞ ĐẦU 80

1 Các khái niệm về Naming và Directory 80

2 Tổng quan về JNDI 87

3 Một số ví dụ 92

4 Các vấn đề chung (và các giải pháp) 97

II CĂN BẢN VỀ JNDI 101

1 Những điều cần chuẩn bị 101

III CĂN BẢN VỀ LDAP 108

1 Giới thiệu 108

2 Khái niệm cơ bản 109

3 Phương thức hoạt động của LDAP 110

4 Các thao tác của nghi thức LDAP 112

5 Các thao tác mở rộng 112

6 Mô hình kết nối LDAP client và server 112

7 Các mô hình LDAP 113

8 Cài đặt OpenLDAP trên Debian 4.0 119

9 Thiết lập cấu hình cho OpenLDAP 121

10 Xây dựng CSDL 122

11 Cài đặt và cấu hình cho NSS (Name Service Switch) 126

12 Cấu hình cho module pam_ldap 128

I Giới Thiệu SSL 129

I Giới thiệu chung 129

1 SSL và các chứng chỉ số 129

2 S/Mime và các giao thức khác 143

II Quản lý chứng chỉ số 144

1 Cài đặt 144

2 Tạo một chứng thực CA gốc 150

3 Tạo một CA cấp chứng chỉ 151

4 Cài đặt chứng chỉ CA gốc như là một Chứng chỉ CA gốc được tín nhiệm 151

5 Quản lý chứng chỉ số 152

III Sử dụng các chứng chỉ số trong các ứng dụng 154

1 Các giao thức bảo mật Internet 154

2 Bảo mật các E-mail 156

Trang 9

5 IPSec 159

IV PKI toàn cầu 164

1 Các PKI hiện tại 164

2 Sự cần thiết cho một PKI toàn cầu 165

J Cài Đặt 166

I Hệ điều hành 166

II Window Macker 166

III BIND9 166

1 Cài đặt BIND9 166

2 Cấu hình BIND9 166

IV Cài đặt bản phân phối nhị phân của ZCS 168

1 Các bước chuẩn bị 168

2 Cài đặt Zimbra 170

V Java 178

VI Eclipse 179

VII Ant 180

VIII Tomcat 181

IX Bộ gõ tiếng Việt 181

X OpenLDAP 2.4 182

K Tổng Kết 185

I Một số kết quả đạt được 185

1 Về mặt lý thuyết 185

2 Về mặt ứng dụng 185

II Hướng phát triển 186

Phụ Lục 187

Tài Liệu Tham Khảo 187

Tài Nguyên Internet 187

Trang 10

DANH SÁCH CÁC HÌNH

Hình D-1 : Cấu trúc thiết kế của ZCS 18

Hình D-2 : Một cấu hình cơ bản với lưu lượng đi vào và kết nối người dùng 22

Hình D-3 : Front-End Architecture 24

Hình D-4 : Kiến trúc Back-End 27

Hình D-5 : Sự mã hóa thông điệp 34

Hình D-6 : LDAP Directory Traffic 36

Hình D-7 : Zimbra LDAP Hierarchy 37

Hình D-8 : Zimbra Powered Logo 47

Hình F-1 : Hoạt động của zimlet Yahoo Maps 53

Hình F-2 : Hoạt động của Hello World Zimlet 59

Hình G-1 : Theme Color Picker 74

Hình H-1 : Kiến trúc JNDI 88

Hình H-1 : thao tác tìm kiếm cơ bản của LDAP 111

Hình H-2 : Những thông điệp client gởi cho server 111

Hình H-3 : Nhiều kết quả tìm kết được trả về 111

Hình H-5: hệ thống tập tin của unix 117

Hình H-6 :Một phần thư mục LDAP với các entry chứa thông tin 117

Hình H-7: relative distingguished name 118

Hình H-8: LDAP với Alias entry 119

Hình I-1 : Mô hình Root CA 139

DANH SÁCH CÁC BẢNG Bảng B-1: So sánh các loại phần mềm 4

Bảng D-1 : Cấu trúc thư mục của ZCS 4.5 20

Bảng D-2 : Các thuộc tính tìm kiếm thông dụng của GAL đến các trường trong Zimbra 41

Bảng D-3 : So sánh tính năng của Zimbra và MS Exchange 43

Bảng D-4 : So sánh Zimbra với Lotus Domino 43

Bảng G-1 : Một số chỉ dẫn về tham số thay thế trong ZCS 63

Bảng H-1 : Chú giải thuật ngữ trong dịch vụ Thư mục 84

Bảng H-1: Một entry với các thuộc tính cơ bản 114

Trang 11

DANH SÁCH CÁC TỪ VIẾT TẮT

ACL Access Control List

API Application Programming Interface

APR Apache Portable Runtime

BIND Berkely Internet Name Domain

BLOB Binary Large Object file

CN Common Name

COS Class of Service

CTAN Comprehensive TeXArchive Network

DAP Directory Access Protocol

DBCP DataBase Connection Pool

DC Domain Component

DIT Directory Information Tree

DN Distinguished Name

DNS Domain Name System

DSML Directory Services Markup Language

FQDN Fully Qualified Domain Name

GAL Global Address List

GSSAPI

Generic Security Services Application Programming Interface

IETF Internet Engineering Task Force

IMAP Internet Message Access Protocol

JNDI Java Naming & Directory Interface

JSON JavaScript Object Notation

LDAP Lightweight Directory Access Protocol

LDIF LDAP Data Interchange Format

LMTP Local Mail Transfer Protocol

MAPI Messaging Application Programming Interface

MD5 Message Digests

MSI Microsoft Software Installer

MTA Mail Transport Agent

MX Mail Exchange

NFS Network File System

Trang 12

NIS Network Information Service

NSS Name Service Switch

OLC OpenLDAP Configuration

OOP Object Oriented Programming

OSI Open Systems Interconnection

PAM Pluggable Authentication Modules

PEM Privacy Enhanced Mail

PDC Primary Domain Controller

PGP Pretty Good Privacy

POP Post Office Protocol

RFCs Requests For Comments

RMI Java Remote Method Invocation

SASL Simple Authentication & Security Layer

SDK Software Development Kit

slapd Stand-alone LDAP daemon

S-MIME Secure Multipurpose Internet Mail Extensions

SMTP Simple Mail Transfer Protocol

SN Surname

SPI Service Provider Interfaces

SSL Secure Sockets Layer

TCP Transmission Control Protocol

TLS Transport Layer Security

UDP User Datagram Protocol

URL Uniform Resource Locator

Trang 13

A Phần Mở Đầu

I Yêu cầu thực tế và lý do chọn đề tài

Một vấn đề khá cấp thiết đối với trường Đại học An Giang của chúng ta là bản quyền các phần mềm dành cho việc dạy và học của trường Do giá của giấy phép Windows dành cho máy chủ là rất cao, nên trường ta có khuynh hướng là chuyển sang chạy các hệ điều hành Linux/Unix

Một trong những hệ thống không thể thiếu của trường ta đó là hệ thống Web mail, nhưng hệ thống hiện tại chỉ hoạt động được trên máy chủ chạy Windows Và trên hệ thống cũ cũng còn một số hạn chế như:

 Khả năng bảo mật không cao

 Trang Web mail còn nhiều lỗi

 Có calendar tích hợp nhưng quá đơn giản, không dùng được

 Không hỗ trợ cơ chế ―link attachments‖, với các mail gởi cho các mail list mà

có attachment thì nó sẽ ngốn dung lượng lưu trữ rất nhanh

 Khắc phục được các hạn chế của hệ thống hiện tại

 Miễn phí và cung cấp mã nguồn mở

 Bảo mật cao

 Tích hợp các tính năng nâng cao dành cho hoạt động cộng tác nhóm

 Được sự hỗ trợ từ Cộng đồng người dùng Zimbra

 …

Vì lý do trên chúng tôi quyết định thực hiện đề tài này:

NGHIÊN CỨU, ỨNG DỤNG VÀ PHÁT TRIỂN HỆ THỐNG HỖ TRỢ LÀM VIỆC NHÓM ZIMBRA

II Mục đích, đối tượng và phạm vị nghiên cứu

 Mục đích của đề tài là tìm hiểu để đi đến ứng dụng thực tế hệ thống Cộng tác Zimbra vào trường Đại học An Giang, cũng như nghiên cứu và phát triển các thành phần của Zimbra

 Phạm vi nghiên cứu:

o Tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường Zimbra

Trang 14

Phần Mở Đầu

o Cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL trong Zimbra

Trang 15

B Giới thiệu về Phần mềm nguồn mở/tự do (FOSS)

I Phần mềm nguồn mở là gì?

―Một cách ngắn gọn, chương trình phần mềm nguồn mở là những chương trình mà

quy trình cấp phép sẽ cho người dùng quyền tự do chạy chương trình theo bất kỳ mục đích nào, quyền nghiên cứu và sửa đổi chương trình, quyền sao chép và tái phát hành phần mềm gốc hoặc phần mềm đã sửa đổi (mà không phải trả tiền bản quyền cho những ngườI lập trình trước)‖

David Wheeler

Phần mềm nguồn mở/tự do (gọi tắt là FOSS) đã trở thành một hiện tượng toàn cầu, đi

từ vị trí tương đối mờ nhạt lên thành một trào lưu thời thượng trong vòng có vài năm Để có thể lý giải hiện tượng trên một cách toàn diện, chúng ta thử xem xét tư tưởng học thuyết và các phương pháp phát triển làm nền tảng cho FOSS

Khi một phần mềm được tạo ra nó thuộc một chủ sở hữu nào đó Chủ sở hữu phần mềm có thể là một cá nhân, một nhóm người hay một công ty sản xuẩt phần mềm Chủ sở hữu phần mềm có toàn quyền trên phần mềm mà họ là chủ sở hữu, và sẽ quyết định mức độ

sử dụng và khai thác của những người khác trên phần mềm mà họ là chủ sở hữu

Dựa trên mức độ sử dụng và khai thác phần mềm, ta có thể phân phần mềm thành những loại sau:

- Phần mềm thương mại (Comercial Software)

- Phần mềm cho không (Freeware)

- Phần mềm trả một phần (Shareware)

- Phần mềm mã nguồn mở (Open Source)

Để hiểu rõ từng loại phần mềm trên, ta đi so sánh chúng ở những đặc điểm sau:

- Khả năng phân phối lại ( Distribution Possibility): Đặc điểm này muốn nói đến quyền được phép sao chép và phân phối lại phiên bản phần mềm mà chúng ta đang có trong tay (có quyền

sử dụng nó) hay không

- Truy cập vào mã nguồn (Accessibility to source code): Đặc điểm này xác định rằng chủ sở hữu phần mềm cho phép chúng ta xem mã nguồn, sử dụng, sửa đổi mã nguồn phần mềm của

họ cho mục đích của chúng ta hay không

- Phí sử dụng (Free): Đặc điểm này muốn xác định khi chúng ta sử dụng một phần mềm, chúng ta phải trả tiền hay không cho người chủ sở hữu phần mềm đó Bảng sau so sánh các loại phần mềm trên với nhau:

Trang 16

Giới thiệu về Linux và Ubuntu Bảng B-1: So sánh các loại phần mềm

Như vậy phần mềm mã nguồn mở là phần mềm mà chủ sở hữu của nó cho phép chúng

ta sửa đổi mã nguồn của phần mềm ban đầu và có quyền phân phối lại chúng Một điểm cần lưu ý là đôi khi chúng ta cũng phải trả chi phí cho phần mềm mã nguồn mở để được quyền sử dụng nó

II Lịch sử của Phần mềm nguồn mở

“Trào lưu phần mềm nguồn mở/phần mềm tự do khởi nguồn từ cái nôi “hacker” của các phòng thí nghiệm máy tính Mỹ (tại các trường đại học danh tiếng nhất như Stanford, Berkeley, Carnegie Mellon, và MIT) trong những năm 60 và 70

Cộng đồng các nhà lập trình vốn có quy mô nhỏ và gắn kết chặt chẽ Mã nguồn được trao đổi qua lại giữa các thành viên trong cộng đồng - nếu chúng ta có một sáng kiến cải thiện, chúng ta sẽ trình làng sáng kiến đó Giữ riêng mã nguồn cho mình bị coi là không biết điều, vì dù gì chúng ta cũng đã hưởng lợi từ công sức các đồng sự, chúng ta nên đáp lại bằng cách nào đó”

Lịch sử vắn tắt trào lưu Phần mềm nguồn mở

Trào lưu phần mềm nguồn mở có nguồn gốc xa xưa từ những ngày khởi thuỷ nền công nghiệp máy tính, cho dù lúc đó nó còn chưa được định nghĩa một cách chính thống Chỉ cho đến cuối thập kỷ 70 đầu 80 thì tập quán chia sẻ phần mềm mới trở nên xung khắc với bản quyền phần mềm Một trong những tiếng nói đầu tiên cất lên ủng hộ phần mềm đóng là bức

thư nay đã trở nên nổi tiếng của William H Gates III – ―Thư ngỏ gửi những người mê máy

tính‖ Trong thông điệp này, đề ngày 3 tháng 2 năm 1976, ông kịch liệt đả kích tập quán chia

sẻ phần mềm bấy giờ rất thịnh hành:

“Sao lại thế này nhỉ? Đa phần các chúng ta – những người mê máy tính – hẳn phải ý thức được rằng các chúng ta đang đánh cắp phần mềm của người khác làm của mình Phần cứng thì phải mua, nhưng phần mềm là một thứ có thể chia sẻ Ai quan tâm liệu những người

bỏ công sức ra làm phần mềm có được trả công hay không?”

Phần mềm đóng thu được sự ủng hộ theo thời gian Tại phòng thí nghiệm Trí tuệ Nhân tạo của MIT đầu những năm 80, một công ty có tên Symbolics đã được thành lập và lấy một

mã nguồn lúc bấy giờ đang lưu hành tự do (ngôn ngữ lập trình LISP) để biến thành sở hữu riêng Trong quá trình, công ty này quét sạch tập quán chia sẻ phần mềm khỏi các phòng thí

Trang 17

Richard Stallman, một trong các nhân viên phòng thí nghiệm MIT hồi đó, ngỡ ngàng

và phẫn nộ trước những chuyển biến đang diễn ra Sự chuyển biến đó đã cố định cách nhìn của ông với phần mềm đóng và khắc nên quyết tâm kiến tạo một hệ điều hành tự do Dự án GNU (viết tắt của ―Not Unix‖ – không phải là Unix) ra đời vào tháng Giêng năm 1984 và trong suốt thập kỷ tiếp theo đã tạo ra những công cụ đa dạng tập hợp nên một phần quan trọng của hệ điều hành Tổ chức phần mềm tự do ra đời một năm sau đó nhằm khuyếch trương các phần mềm tự do và dự án GNU Tuy vậy, cho đến năm 1991, dự án GNU vẫn chưa đưa ra được một hệ thống phần mềm hoàn toàn tự do vì một yếu tố cơ bản vẫn còn vắng bóng: lõi hệ thống (the kernel)

Lõi là trái tim của cả hệ điều hành Vào năm 1991, Linus Torvalds, khi đó còn đang học năm thứ hai của chương trình sau đại học tại trường ĐH Helsinki, đã viết và phổ biến một lõi dạng Unix Theo đúng phương thức của quy trình phát triển phần mềm nguồn mở, nó được lưu hành rộng rãi, được cải tiến và nhanh chóng thích ứng để trở thành cốt lõi của hệ điều hành GNU/Linux

Thời đó, còn có những dự án phần mềm nguồn mở khác cũng đang tiến hành, bao gồm

cả hệ điều hành BIND, Perl và BSD Tất cả những dự án này rốt cuộc đều được sáp nhập hoặc tích hợp kết quả với nhau

Hệ điều hành GNU/Linux tiếp tục phát triển một cách ổn định cả về năng lực và đặc tính kỹ thuật Năm 1997, đột nhiên Linux nổi lên thành trung tâm chú ý của giới truyền thông

do Tập đoàn Dữ liệu Quốc tế (IDC) phát hiện ra rằng GNU/Linux đã chiếm tới 25% thị trường máy chủ và vẫn tiếp tục tăng trưởng với tốc độ bình quân hàng năm là 25%

Năm 1998, đáp lại việc Netscape công bố mã Netscape Navigator như một mã nguồn

mở tự do, một nhóm các nhà lập trình phần mềm nguồn mở đã họp nhau lại và cho ra đời thuật ngữ ―Nguồn mở‖ Việc này dẫn đến sự hình thành Sáng kiến Nguồn mở (OSI) và Định nghĩa Nguồn mở Mục đích chính của chương trình này là khiến cho giới kinh doanh quốc tế phải chú ý tới quy trình phát triển phần mềm nguồn mở tự do và lái trào lưu phần mềm nguồn

mở xa dần khỏi xu hướng ―đối đầu‖ từ trước đến nay

Năm 1999, màn trình làng thành công vang dội của sản phẩm GNU/Linux Red Hat đưa đến cho nó 4.8 tỷ đôla vốn huy động từ thị trường Những phần mềm khác ra mắt công chúng cùng năm đó là VA Linux (huy động được 7 tỷ đôla), Cobait Networks (đem lại 3.1 tỷ đôla từ thị trường vốn) và Andover.net (huy động được 712 triệu đô) Là đứa con cưng của phong trào Phần mềm nguồn mở, việc GNU/Linux thành công chứng tỏ rằng phần mềm nguồn mở đã thực sự khẳng định được vị trí của mình

III Tư tưởng về Phần mềm nguồn mở

Có hai tư tưởng chủ đạo chi phối thế giới phần mềm nguồn mở: tư tưởng của Tổ chức Phần mềm tự do (FSF) và tư tưởng của Chương trình Sáng kiến Nguồn mở (OSI)

1 Thuyết của FSF

Chúng ta hãy bắt đầu từ thuyết của FSF, vì học thuyết này ra đời sớm hơn và có vị trí tiên phong trong trào lưu phần mềm nguồn mở Theo thuyết của FSF, phần mềm miễn phí nhằm mục đích bảo vệ bốn quyền tự do của người dùng:

- Quyền tự do chạy một chương trình với bất kỳ mục đích nào

- Quyền tự do nghiên cứu cách thức vận hành của một chương trình và thích ứng nó cho phù hợp với nhu cầu của mình Khả năng tiếp cận mã nguồn là điều kiện tiên quyết cho việc này

Trang 18

Giới thiệu về Linux và Ubuntu

- Quyền tự do phân phát các phiên bản của phần mềm để giúp đỡ những người xung quanh

- Quyền tự do thêm mới các chức năng cho một chương trình và công bố những tính năng mới

đó đến công chúng để toàn cộng đồng được hưởng lợi Khả năng tiếp cận mã nguồn là điều kiện tiên quyết cho việc này

Trung tâm của tư tưởng FSF là quyền tự do hợp tác Vì phần mềm phi tự do (free ở đây nghĩa là freedom chứ không phải vấn đề giá cả) hạn chế quyền tự do hợp tác, FSF coi phần mềm phi tự do là phi đạo đức FSF còn phản đối việc cấp bằng sáng chế phần mềm và những hạn chế khác theo luật bản quyền hiện hành Tất cả những điều này đều hạn chế bốn quyền tự do của người dùng như đã nêu ở trên Để xem lập luận chi tiết tại sao phần mềm nên

được lưu hành tự do, xin tìm đọc ―Why software should be free‖ tại địa chỉ :

http://www.fsf.org/philosophy/shouldbefree.html

2 Thuyết OSI

Thuyết OSI thì có phần nào hơi khác

Ý tưởng chủ đạo đằng sau phần mềm nguồn mở rất đơn giản: khi người lập trình có thể đọc, lưu hành, và sửa đổi mã nguồn của một phần mềm, thì phần mềm đó ngày càng phát triển Người ta đọc, điều chỉnh, sửa lỗi Và quá trình này có thể diễn ra với một tốc độ mà nếu chúng ta đã quen với quy trình chậm chạp của việc phát triển phần mềm theo phương thức truyền thống, thì sẽ lấy làm kinh ngạc

OSI đặt làm trọng giá trị kỹ thuật của việc tạo những phần mềm mạnh, có độ tin cậy cao, và phù hợp với giới kinh doanh hơn FSF Chương trình này ít quan tâm tới những giá trị đạo đức của phần mềm nguồn mở và chú ý nhiều hơn vào những ích lợi thực tiễn của phương pháp xây dựng và quảng bá FOSS

Mặc dù tư tưởng nền tảng của hai trào lưu này tương đối khác nhau, cả FSF và OSI đều chia sẻ cùng một không gian hoạt động và hợp tác với nhau trên những vấn đề thực tiễn như xây dựng phần mềm, đấu tranh chống các phần mềm đóng và việc cấp bằng sáng chế phần mềm, v.v Nói như Richard Stallman, thì Trào lưu phần mềm tự do và Trào lưu phần mềm nguồn mở là hai đảng chính trị của cùng một cộng đồng dân cư

IV Tính ưu việt của FOSS

2 Tiếp thu kế thừa

Với việc có sẵn mã nguồn để xây tiếp lên trên, thời gian xây sẽ giảm đi đáng kể Nhiều

dự án phần mềm nguồn mở dựa trên các phần mềm là kết quả của những dự án khác để cung cấp những chức năng cần thiết Ví dụ, thay vì viết mã bảo mật riêng cho mình, dự án máy chủ Apache đã sử dụng lại chương trình của dự án OpenSSL, do đó mà tiết kiệm được hàng ngàn

Trang 19

tiếp, thì việc có sẵn các mã nguồn tự do cũng cho phép nhà lập trình nghiên cứu cách thức những dự án khác giải quyết một vấn đề phát sinh tương tự

3 Quản lý chất lượng tốt hơn

―Nếu thật sự để mắt tới, thì không con bọ nào có thể lọt qua‖ là câu nói cửa miệng của giới Phần mềm nguồn mở Câu này có nghĩa: nếu có đủ một lực lượng những nhà lập trình giỏi tham gia sử dụng và kiểm tra mã nguồn, thì các lỗi chương trình sẽ được phát hiện và sửa nhanh hơn Các ứng dụng đóng cũng nhận báo lỗi, nhưng do người sử dụng không có quyền tiếp cận mã nguồn, họ chỉ có thể báo các triệu chứng lỗi chứ không thể chỉ ra nguồn gốc Các nhà lập trình phần mềm nguồn mở đã kết luận rằng khi người sử dụng có quyền tiếp cận mã nguồn thì họ không những thông báo các trục trặc mà còn chỉ ra đích xác nguyên do, và trong một số trường hợp, cung cấp luôn giải pháp Điều này giúp giảm đáng kể thời gian lập trình

và kiểm tra chất lượng

4 Giảm chi phí duy trì

Việc duy trì mọi phần mềm đều đòi hỏi một chi phí bằng hoặc lớn hơn chi phí lập trình ban đầu Khi một tổ chức tự bỏ tiền ra nuôi phần mềm, việc này có thể trở nên gánh nặng chi phí cực lớn Tuy nhiên, với mô hình phát triển phần mềm nguồn mở, phí duy trì sẽ được san đều ra cho hàng ngàn người sử dụng tiềm năng, làm giảm chi phí của từng tổ chức riêng lẻ Tương tự, việc nâng cấp sẽ được thực hiện bởi một tổ chức/cá nhân có chuyên môn sâu nhất

về vấn đề này, dẫn tới việc sử dụng hiệu quả hơn nguồn lực

5 Sử dụng Phần mềm nguồn mở đem lại những ích lợi gì?

Bên cạnh yếu tố chi phí thấp, còn nhiều lý do khác khiến các tổ chức nhà nước và tư nhân ngày càng ứng dụng Phần mềm nguồn mở một cách sâu rộng Những lý do này bao gồm:

• Tính an toàn

• Tính ổn định/đáng tin cậy

• Các chuẩn mở và việc không phải lệ thuộc nhà cung cấp

• Giảm phụ thuộc vào nhập khẩu

• Phát triển năng lực của ngành công nghiệp phần mềm địa phương

• Vấn đề vi phạm bản quyền, quyền sở hữu trí tuệ, và tính tuân thủ WTO

• Nội địa hoá

Với các chính phủ thì bốn điểm cuối cùng đặc biệt quan trọng vì chúng phù hợp với những tiêu chí hoạt động riêng của khu vực nhà nước Các công ty và người sử dụng cuối cùng thường không phải bận tâm đến những vấn đề này

V Những hạn chế của phần mềm nguồn mở

Mặc dù có rất nhiều ích lợi như đã nêu trên, phần mềm nguồn mở không phải là giải pháp phù hợp cho mọi tình huống Vẫn còn những khía cạnh mà phần mềm nguồn mở cần phải tiếp tục cải tiến

Trang 20

Giới thiệu về Linux và Ubuntu

1 Thiếu các ứng dụng kinh doanh đặc thù

Mặc dù có rất nhiều dự án Phần mềm nguồn mở đang được tiến hành, vẫn còn nhiều lĩnh vực hoạt động chưa có được một sản phẩm phần mềm hoàn thiện, đặc biệt là trong kinh doanh

VI Những dự án Phần mềm nguồn mở thành công

Mặc dù phần mềm nguồn mở có vẻ là một khái niệm tương đối mới, trên thực tế nó đã tồn tại từ rất lâu trước khi Internet ra đời và chứng tỏ được vai trò then chốt của mình trong một

số ứng dụng có ý nghĩa quyết định hoặc mang tính đặc thù Trong nhiều trường hợp, phần mềm nguồn mở đã góp phần hiện thực hoá ý tưởng mạng toàn cầu Internet Sau đây chỉ là vài

ví dụ nhỏ về những dự án FOSS thành công

 BIND (Máy chủ DNS)

 Apache (máy chủ mạng)

 Sendmail (máy chủ email)

 Open SSH (Công cụ quản trị mạng an toàn)

 Open Office (Bộ tính năng ứng dụng văn phòng)

VII Quyền sở hữu tri tuệ và việc cấp phép cho FOSS

FOSS được phổ biến theo các chế độ cấp phép khác nhau Có hai loại giấy phép chính

và vô số những phiên bản tương tự Hai giấy phép chính là Giấy phép đại chúng GNU (viết tắt là GNU nhưng không phải Unix) và các giấy phép kiểu dáng BSD Có thể tìm danh sách chi tiết hơn về các loại giấy phép trên trang web của FSF tại địa chỉ: http://www.fsf.org/licenses/license-list.html

1 Giấy phép đại chúng GNU (GPL)

Giấy phép này được thiết kế để đảm bảo rằng các quyền tự do của người dùng sẽ được vĩnh viễn bảo vệ Người sử dụng hầu như được phép làm bất cứ điều gì họ muốn với một chương trình đã cấp quyền sử dụng đại chúng, bao gồm cả việc sao chép, phổ biến, và chỉnh sửa Các điều kiện của loại giấy phép này thường cũng được chuyển giao luôn khi người dùng phổ biến phần mềm cho một người sử dụng khác

Những điều khoản chủ yếu của việc phổ biến giấy phép đại chúng là:

- Người phổ biến một chương trình đã được cấp phép đại chúng phải đồng thời phổ biến luôn

Trang 21

- Nếu người phổ biến chương trình đã thực hiện một sửa đổi gì đó cho phần mềm thì những sửa đổi đó cũng phải được cấp phép theo chế độ giấy phép đại chúng

- Người phổ biến chương trình không áp dụng với người nhận bất cứ hạn chế nào không thuộc phạm vi giấy phép đại chúng

- Người nhận một phần mềm đã cấp phép đại chúng sẽ được trao y nguyên mọi quyền như người phổ biến gốc, tức là quyền sao chép, chỉnh sửa và phổ biến phần mềm

Phần mềm theo chế độ cấp phép đại chúng chiếm một phần đáng kể các phần mềm nguồn mở: lên tới 73% tổng số dự án phần mềm nguồn mở Một trong những động lực chính thúc đẩy việc áp dụng giấy phép đại chúng cho phần mềm nguồn mở là vì một khi đã được cấp phép với tư cách phần mềm nguồn mở, thì phần mềm đó sẽ mãi mãi là nguồn mở Không

ai có thể thêm vào những chế độ cấp phép bổ sung để tước đoạt của người dùng quyền chỉnh sửa hay tiếp tục phổ biến phần mềm Một công ty kinh doanh phần mềm sẽ không thể lấy một chương trình đã cấp phép đại chúng để chỉnh sửa và bán lại theo giấy phép riêng độc quyền

Để tìm hiểu chi tiết về giấy phép đại chúng, xin vào địa chỉ

http://www.fsf org/licenses/gpl.html

2 Giấy phép dạng BSD

Giấy phép dạng BSD (Berkeley System Distribution) được gọi như thế do nó có tinh thần giống với loại giấy phép mà Trường Đại học Berkeley, bang California cấp Đây là một trong những giấy phép có điều kiện rộng rãi nhất từ xưa đến nay, cho phép người dùng làm bất cứ gì họ muốn với phần mềm miễn tuân thủ những điều kiện sau:

- Ghi nhận công lao của tác giả đầu tiên làm ra phần mềm bằng cách đưa vào file mã nguồn các thông tin bản quyền gốc

- Người phát hành ban đầu sẽ không chịu trách nhiệm trước pháp luật về bất cứ thiệt hại nào phát sinh do sử dụng những phần mềm nguồn mở đã được chỉnh sửa

Các giấy phép trước đây thường yêu cầu phải nhắc đến Trường Đại học Berkeley (hoặc bất cứ tổ chức nào phát hành phần mềm gốc) trong mọi tài liệu quảng bá phần mềm, nhưng các giấy phép gần đây đã bỏ đi điều khoản yêu cầu này

Một số lớn các dự án xây dựng phần mềm nguồn mở, bao gồm cả những phần mềm trọng yếu, đã được cấp giấy phép dạng BSD Ví dụ:

- Máy chủ mạng Apache – loại máy chủ số 1 trên Internet ngày nay

- Hệ thống Window XFree86 – nền tảng của hầu hết các giao diện với người sử dụng trong các hệ thống phần mềm nguồn mở

- FreeBSD, NetBSD và OpenBSD – các biến thể của phiên bản Unix gốc được cấp giấy phép BSD; cả ba đều được sử dụng rộng rãi trên mạng Internet, đặc biệt là FreeBSD, chương trình điều hành Yahoo và dịch vụ Hotmail của Microsoft

Tích hợp mã nguồn được cấp phép theo chế độ giấy phép BSD vào các ứng dụng thương mại và việc khá đơn giản Ngay Microsoft trước đây cũng đã từng sử dụng một số mã BSD trong phần kết nối mạng của mã nguồn Window Nhiều công ty đưa cả phần mềm máy chủ Apache vào trong gói phần mềm thương mại mà họ cung cấp cho khách hàng Không giống GPL, các giấy phép dạng BSD không bắt buộc người phát hành phần mềm phải phổ biến mã nguồn, điều này cho phép các công ty giấu những sửa đổi họ đã thực hiện với bộ mã

Trang 22

Giới thiệu về Linux và Ubuntu

gốc Các công ty cũng không bị buộc phải trao cho người sử dụng quyền xem, chỉnh sửa hoặc phổ biến những mã nguồn họ đã thay đổi

Trang 23

C LINUX

I Linux là gì?

Linux là đại diện có thanh thế nhất của phần mềm nguồn mở mà ngày nay giới truyền thông thường nhắc đến Tuy nhiên, do tính phổ cập của nó, thuật ngữ Linux ngày càng được dùng để chỉ những khái niệm rộng hơn hệ điều hành Linux rất nhiều Trước tiên phải hiểu những định nghĩa khác nhau về Linux

1 Linux với vai trò lõi của hệ thống

Linux đầu tiên là tên của bộ lõi do Linus Torvalds xây dựng ―Lõi‖ là tâm điểm trọng yếu của một hệ điều hành, và hệ điều hành đó kiểm soát toàn bộ hoạt động của CPU, quản lý

bộ nhớ cũng như các thiết bị phần cứng Lõi còn có chức năng kết nối các chương trình khác nhau chạy trên nền của hệ điều hành Ngoài Linux còn có nhiều lõi khác phát triển trên phần mềm nguồn mở, bao gồm cả Mach – lõi của một số ứng dụng BDS

Ở một chừng mực nào đó, các lõi có thể dùng thay thế cho nhau Hầu hết ứng dụng phần mềm nguồn mở đều chạy được trên lõi Mach, lõi Linux, hay thậm chí cả lõi thử nghiệm GNU Hurd, mà không gặp khó khăn gì đáng kể Tuy nhiên, loại lõi có ảnh hưởng rất lớn đến chất lượng hoạt động cũng như nền phần cứng của hệ thống Chằng hạn, do chưa hoàn chỉnh

mà lõi GNU Hurd chỉ có thể chạy được trên cấu hình máy x86 (máy tính cá nhân) Trong khi

đó, lõi Linux chạy được trên hầu hết mọi cấu trúc phần cứng, bao gồm cả Playstation 2-3, máy chủ và các bộ nhúng

2 Linux với vai trò hệ thống

Linux ngày nay thường được dùng để chỉ hệ điều hành Linux, tức là một phạm trù rộng hơn ―lõi‖ rất nhiều Hệ điều hành Linux (đôi khi còn được gọi là GNU/Linux để nhắc nhở đến công lao đóng góp của Dự án GNU) hàm chứa lõi Linux ở tâm điểm và toàn bộ các thành phần cần thiết để tạo nên một hệ điều hành hoàn chỉnh đều dựa trên phần mềm nguồn

mở

Những thành phần này bao gồm thư viện hệ thống, GUI, cơ sở dữ liệu, máy chủ mạng, các tiện ích email, và những chức năng khác Cũng từng ấy thành phần sẽ tạo nên các hệ điều hành mã nguồn mở khác hoặc thậm chí cả hệ điều hành nguồn đóng Ví dụ, XFree86 được mặc định là cơ sở GUI cho hệ điều hành Linux và BSD XFree 86 cũng đồng thời được dùng trong các hệ điều hành Unix nguồn đóng như Solaris, HP-UX và hệ AIX của IBM

Những bài báo nói rằng ―Thành phố Long Xuyên rốt cuộc có thể sẽ chọn Linux‖, thì đấy có nghĩa là họ đang nói đến hệ điều hành Linux, bao hàm cả các phần mềm soạn thảo văn bản, in ấn và email Mặc dù lõi Linux chiếm chưa đến 0.25% (tính theo kích cỡ file) một hệ điều hành Linux, vai trò của nó với toàn hệ thống đủ quan trọng để cả hệ điều hành được gọi

là Linux

Hệ điều hành Linux không phải là một cấu trúc cố định Mặc dù mọi hệ điều hành Linux đều có lõi Linux làm tâm điểm, các ứng dụng phần mềm nguồn mở cấu tạo nên hệ thống và bố cục của chúng thì lại rất khác nhau Có khá nhiều hệ điều hành thương mại, một vài trong số đó có thể cài đặt không mất tiền, và vô số các ứng dụng tuỳ biến nhằm đáp ứng những nhu cầu riêng biệt của một thiểu số người dùng Mặc dù nội dung phần mềm nguồn mở của các hệ điều hành Linux khác nhau có thể khá tương tự, chúng được tối ưu hoá cho những mục đích sử dụng khác nhau như máy chủ cấu hình mạnh, máy tính cá nhân tiện dụng, hay thậm chí cả hệ thống nhúng Các hệ điều hành bản địa hoá ở mức tổi thiểu thường bao gồm

Trang 24

Giới thiệu về Linux và Ubuntu

font chữ, phương pháp nhập liệu và menu được dịch sang ngôn ngữ địa phương để phần mềm

có thể dùng tại địa phương đó

3 Lịch sử của Linux

Linus Tovalds (một sinh viên Phần lan) đưa ra nhân (phiên bản đầu tiên) cho hệ điều hành Linux vào tháng 8 năm 1991 trên cơ sở cải tiến một phiên bản UNIX có tên Minix do Giáo sư Andrew S Tanenbaum xây dựng và phổ biến Nhân Linux tuy nhỏ song là tự đóng gói Kết hợp với các thành phần trong hệ thống GNU, hệ điều hành Linux đã được hình thành

Và cũng từ thời điểm đó, theo tư tưởng GNU, hàng nghìn, hàng vạn chuyên gia trên toàn thế giới (những người này hình thành nên cộng đồng Linux) đã tham gia vào quá trình phát triển Linux và vì vậy Linux ngày càng đáp ứng nhu cầu của người dùng

Dưới đây là một số mốc thời gian quan trọng trong quá trình hình thành và phát triển hệ điều hành Linux

 Sau ba năm nhân Linux ra đời, đến ngày 14-3-1994, hệ điều hành Linux phiên bản 1.0 được phổ biến Thành công lớn nhất của Linux 1.0 là nó đã hỗ trợ giao thức mạng TCP/IP chuẩn UNIX, sánh với giao thức socket BSD- tương thích cho lập trình mạng Trình điều khiển thiết bị đã được bổ sung để chạy IP trên một mạng Ethernet hoặc trên tuyến đơn hoặc qua modem Hệ thống file trong Linux 1.0 đã vượt xa hệ thống file của Minix thông thường, ngoài ra đã hỗ trợ điều khiển SCSI truy nhập đĩa tốc độ cao Điều khiển bộ nhớ

ảo đã được mở rộng để hỗ trợ điều khiển trang cho các file swap và ánh xạ bộ nhớ của file đặc quyền (chỉ có một ánh xạ bộ nhớ chỉ đọc được thi hành trong Linux 1.0)

 Vào tháng 3-1995, nhân 1.2 được phổ biến Điều đáng kể của Linux 1.2 so với Linux 1.0

ở chỗ nó hỗ trợ một phạm vi rộng và phong phú phần cứng, bao gồm cả kiến trúc tuyến phần cứng PCI mới Nhân Linux 1.2 là nhân kết thúc dòng nhân Linux chỉ hỗ trợ PC Một điều cần lưu ý về các đánh chỉ số các dòng nhân (hệ điều hành) Linux Hệ thống chỉ

số được chia thành một số mức, chẳng hạn hai mức như 2.4 hoặc ba mức như 2.2.5 Trong cách đánh chỉ số như vậy, quy ước rằng với các chỉ số từ mức thứ hai trở đi, nếu là

số chẵn thì dòng nhân đó đã khá ổn định và tương đối hoàn thiện, còn nếu là số lẻ thì dòng nhân đó vẫn đang được phát triển tiếp

 Tháng 6-1996, nhân Linux 2.0 được phổ biến Có hai đặc trưng nổi bật của Linux 2.0 là

hỗ trợ kiến trúc phức hợp, bao gồm cả cổng Alpha 64-bit đầy đủ, và hỗ trợ kiến trúc đa bộ

xử lý Phân phối nhân Linux 2.0 cũng thi hành được trên bộ xử lý Motorola 68000 và kiến trúc SPARC của SUN Các thi hành của Linux dựa trên vi nhân GNU Mach cũng chạy trên PC và PowerMac

 Tới năm 2000, nhân Linux 2.4 được phổ biến Một trong đặc điểm được quan tâm của nhân này là nó hỗ trợ mã ký tự Unicode 32 bít, rất thuận lợi cho việc xây dựng các giải pháp toàn diện và triệt để đối với vấn đề ngôn ngữ tự nhiên trên phạm vi toàn thế giới

4 Linux có phải là phần mềm nguồn mở?

Lõi Linux là một ứng dụng mã nguồn mở, đăng ký theo giấy phép đại chúng GNU Tuy nhiên, các hệ điều hành Linux khác nhau lại bao hàm những thành phần khác nhau, một

số có thể không phải là phần mềm nguồn mở Ví dụ, hệ điều hành Linux SuSE của Đức có chứa chương trình cài đặt YaST không phải là một phần mềm nguồn mở

Hệ điều hành GNU/Linux Debian là một trong số ít những hệ điều hành chỉ hoàn toàn

Trang 25

Và Ubuntu là một hệ điều hành thuộc bản phân phối GNU/Linux Debian, trong nó đã tích hợp các phần mềm miễn phí Đây có thể là sự lựa chọn tốt nhất hiện nay

II Ubuntu

5 Giới thiệu về Ubuntu

Ubuntu là một hệ điều hành hoàn toàn mở, được xây dựng dựa trên nhân (kernel) Linux Cộng đồng người dùng Ubuntu được hình thành bởi những lý tưởng đã gắn kèm theo triết lý Ubuntu (Ubuntu Philosophy) là : người dùng được sử dụng phần mềm miễn phí, mỗi một phần mềm đều có thể sử dụng dưới giao diện ngôn ngữ bản địa của người dùng và quan trọng nhất là người dùng hoàn toàn tự do chỉnh sửa và thay đổi phần mềm để phù hợp với nhu cầu sử dụng của mình Vì những lý do đã nêu trên đây :

_ Ubuntu sẽ được luôn luôn phân phối miễn phí và cũng chẳng thêm phí nào cho phiên bản dành cho các công ty, Enterprise edition

_ Ubuntu sẽ luôn luôn bao gồm các bản phiên dịch tốt nhất và sẽ luôn luôn tạo ra một cơ cấu truy cập (accessibility infrastructure) tốt nhất theo khả năng cung cấp của cộng đồng lập trình phần mềm tự do, nhằm mục đích cho phép càng nhiều người càng có thể sử dụng Ubuntu _ Các phiên bản Ubuntu được công bố đều đặn, với tần xuất định trước; mỗi 6 tháng sẽ ra một phiên bản mới Chúng ta có thể dùng phiên bản Ubuntu ổn định hoặc dùng phiên bản đang phát triển, tùy ý của chúng ta Mỗi phiên bản sẽ được hỗ trợ tối thiểu trong vòng 18 tháng _ Ubuntu hoàn toàn tuân theo những nguyên tắc phát triển phần mềm mã nguồn mở và khuyến khích mọi người dùng phần mềm mã nguồn mở, cải thiện chúng và phân phối lại cho những người khác

6 Về tên của Ubuntu

Ubuntu là tên của một lý tưởng đạo đức Nam phi tập trung vào các quan hệ và sự gắn kết giữa con người Từ Ubuntu xuất phát từ ngôn ngữ thổ dân Zulu và Xhosa Ubuntu được coi như một khái niệm truyền thống của Châu phi, là một cơ sở cho sự hình thành của tân Cộng hoà Nam phi và có gắn liền với sự Phục hưng Châu Phi

Dịch và tóm lại ý nghiã của từ Ubuntu ta có thể ghi tạm ―tính loài người cho mọi

người‖ (humanity towards others), hoặc ―đức tin vào một quan hệ toàn cầu để chia sẻ tất cả những gì là chung của loài người‖ (the belief in a universal bond of sharing that connects all

humanity)

« Một người có tính ubuntu là một người cởi mở, sẵn sàng giúp người khác trở

nên vững chắc hơn, không sợ bị đe dọa khi nào người khác trở nên giỏi hơn, bởi

vì bản thân người đó có ý thức rằng người đó là thành phần của cả một thế giới

và sẽ bị thiệt khi nào những người khác bị nhục, bị hạn chế, bị đàn áp hoặc bị

tra tấn »

Trích lời ông Linh mục Desmond Tutu

Vậy, dựa trên GNU/Linux, hệ điều hành (HĐH) Ubuntu mang theo tư tượng đã ẩn sâu trong từ ubuntu cho cả thế giới phần mềm

Trang 26

Giới thiệu về Linux và Ubuntu

7 Phương thức đặt số cho các phiên bản Ubuntu

Cơ chế đánh số cho các phiên bản dựa trên thời điểm Ubuntu công bố phiên bản của bản phân phối Số phiên bản xuất phát từ năm và tháng của bản phân phối chứ không phải là phiên bản thật của phần mềm Phiên bản Ubuntu đầu tiên, mang tên Warty Warthog, được công bố vào tháng 10 năm 2004, do đó được đặt phiên bản số ―4.10‖ Phiên bản Ubuntu Dapper Drake được công bố vào tháng 06 năm 2006, do đó được mang số ―6.06 LTS‖ Tuy nhiên, giữa hai nhiệm kỳ công bố cũng có thể có một phiên bản cập nhật phụ, lúc đó sẽ được gắn thêm một chữ số, ví dụ như phiên bản ―6.06.1 LTS‖ này

8 Nguồn gốc và hỗ trợ

Ubuntu được duy trì bởi một cộng đồng đang tăng trưởng nhanh chóng Dự án Ubuntu được công ty Canonical Ltd tài trợ Công ty này, do ông Mark Shuttleworth thành lập, là chủ của hạt nhân người phát triển Ubuntu, hỗ trợ cho dự án và cung cấp các dịch vụ liên quan đến Ubuntu Đồng thời, Canonical Ltd cũng tài trợ một số dự án phần mềm mã nguồn mở khác Nếu chúng ta quan tâm, chúng ta sẽ có thêm thông tin trên trang web của công ty Canonical Ltd : http://www.canonical.com/

9 Các hệ điều hành dựa trên Ubuntu là:

9.1 Ubuntu

Ubuntu là hệ điều hành Linux đầy đủ (dùng môi trường đồ họa GNOME), sử dụng miễn phí có sự hỗ trợ của cộng đồng (miễn phí) và hỗ trợ chuyên nghiệp (có phí, của công ty Canonical Ltd.) Hệ này được phát triển bởi một cộng đồng lớn và họ cũng mời chúng ta tham gia vào đó!

Trang chủ của dự án : http://www.ubuntu.com/

dự kiến là 6 tháng một phiên bản mới

Trang chủ của dự án : http://www.kubuntu.org/

Địa chỉ tải về : http://www.kubuntu.org/download.php

9.3 Edubuntu

Edubuntu là hệ điều hành Linux đầy đủ, sử dụng miễn phí có sự hỗ trợ của cộng đồng

Hệ này đặt mục tiêu là dành cho giáo dục

Trang chủ của dự án : http://www.edubuntu.org/

Địa chỉ tải về : http://www.edubuntu.org/Download

9.4 Xubuntu

Trang 27

có tính năng thấp hoặc cho những người muốn có một hệ điều hành có hiệu quả cao (tập trung vào hiệu quả mà không chú ý hình thức giao diện) Xubuntu chủ yếu dùng các ứng dụng GTK+ (GTK+ cùng với Qt là hai bộ công cụ giao diện – GUI Toolkits - chủ yếu cho các hệ Linux hiện nay Xem thêm ở đây)

Trang chủ của dự án : http://www.xubuntu.org/

Địa chỉ tải về : http://www.xubuntu.org/get

Trang 28

Giới thiệu về Bộ cộng tác Zimbra

D Giới thiệu Bộ cộng tác Zimbra

I Bộ cộng tác Zimbra

ZCS được thiết kế nhằm cung cấp một giải pháp truyền tải mail từ nơi gửi đến nơi nhận (end to end) với độ tin cây ngày càng cao Cấu trúc của việc gửi thông điệp được xây dựng dựa trên các chuẩn và sự phổ biến của công nghệ hệ thống mở (open-system) và nó đã được soạn thảo vào một ứng dụng mail server và một giao diện phía máy khách

Kiến trúc dựa trên các tiện lợi cốt lõi của việc:

• Tích hợp mã nguồn mở Linux®, Apache Tomcat, Postfix, MySQL®, OpenLDAP®

• Sử dụng các giao thức mở theo chuẩn công nghiệp SMTP, LMTP, SOAP, XML, IMAP,

POP

• Công nghệ thiết kế hiện đại Java, JavaScript phía máy khách, DHTML

• Horizontal scalability Bởi vì mỗi hộp thư trên máy chủ đều bao gồm việc lưu trữ dữ liệu

của chính nó, lưu trữ các thông điệp và việc thiết lập các tài khoản, chúng ta không thể thay đổi bất cứ thứ gì đã trên máy chủ đã có sẵn để co giản hệ thống Chúng ta chỉ có thể thêm các tài khoản mail, thêm nhiều máy chủ

• Giao diện của trình duyệt trên máy khách

• Chế độ điều khiển dành cho việc điều hành để quản lý các tài khoản và các máy chủ

II Các chức năng chính

ZCS cung cấp các giao diện dễ nhìn về việc gửi thông điệp và các giải pháp hợp tác:

 Gửi và nhận thông điệp Email

 Lập lịch biểu

 Danh bạ địa chỉ

 Soạn thảo và quản lý dữ liệu trên nền Web

Chức năng cốt lõi có trong ZCS gồm:

 Phân phối và lưu trữ Thư

 Đặt chỉ mục cho các thông điệp trên việc phân phối

 Mailbox server log

Trang 29

 Thiết lập hạn chế quyền của tài khoản cũng như quyền riêng tư của tài khoản cá nhân cũng như bởi COS

 Quản lý danh sách phân phối

 Cài đặt một host ảo trên một domain

 Quản lý máy server

 Giám sát việc sử dụng

Zimbra cung cấp 2 giao diện Web cho người dùng là Advanced Zimbra Web Client dựa trên giao diện Ajax, và Standard Zimbra Web Client như một giao diện dựa trên HTML Các chức năng trên Web Client bao gồm các khả năng sau:

 Soạn thảo, đọc, trả lời, chuyển tiếp và sử dụng các chức năng chuẩn khác

 Xem mail bởi sự chuyển giao các tuyến đoạn

 Có các thẻ (tag) để dễ dàng nhóm các thông điệp thuận tiện cho viện tham chiếu nhanh

 Thực hiện tìm kiếm mở rộng, chuyên nghiệp

 Lưu lại quá trình tìm kiếm

 Sử dụng Calendar để lập lịch biểu cho các thời điểm

 Chia sẻ các calendar với những người khác

 Tạo các danh bạ địa chỉ và chia sẻ cùng những người khác

 Thiết lập mailbox sử dụng cho việc tham chiếu, bao bồm việc định nghĩa cho các tùy chọn bộ lọc thư

 Sử dụng các tài liệu Zimbra để tạo, tổ chức và chia sẻ các tài liệu Web

III Các thành phần trong Zimbra

Kiến trúc Zimbra gồm các nguồn mở được tích hợp sử dụng các giao thức chuẩn công nghiệp Phần mềm của hãng thứ ba liệt kê bên dưới được đóng gói cùng với phần mềm Zimbra và được cài đặt như là một phần của tiến trình cài đặt Các thành phần này đã được kiểm thử và cấu hình để làm việc với phần mềm

 Apache Tomcat, ứng dụng Web trên server mà phần mềm Zimbra sẽ chạy trong đó

 Postfix, một tác nhân truyền tải thông điệp mã nguồn mở (Message Transfer Agent - MTA) dùng để định tuyến các thông điệp của mail đến máy chủ Zimbra thích hợp

 Phần mềm OpenLDAP, một phần mềm mã nguồn mở của Giao thức truy xuất thư mục nhẹ (Lightweight Directory Access Protocol -LDAP) dùng để cung cấp quyền cho người dùng

 Hệ quản trị cơ sở dữ liệu MySQL

 Lucene, một nguồn mở với đầy đủ chức năng về các chỉ mục văn bản và bộ máy tìm kiếm

 Các chức năng nguồn mở Anti-virus và anti-spam gồm có:

 ClamAV, một anti-virus quét và chống lại các tập tin độc hại

Trang 30

Giới thiệu về Bộ cộng tác Zimbra

 SpamAssassin và DSPAM, các bộ lọc mail kiểm tra các định danh nghi ngờ là Spam

 Amavisd-new, là tầng giao diện giữa MTA và một hay nhiều nội dung của người kiểm tra

 Bộ lọc James/Sieve, sử dụng để tạo ra các bộ lọc cho email

IV Kiến trúc của hệ thống

Hình sau hiển thị cấu trúc thiết kế của ZCS, bao gồm các gói phần mềm nguồn mở được nhúng vào với bộ này và các ứng dụng khác bên thứ ba được khuyến cáo

Trang 31

Lược đồ OpenLDAP đã được thay đổi cho phù hợp với đặc thù riêng của ZCS

1.3 Zimbra MTA (Định tuyến mail trên server)

Postfix là một tác nhân truyền tải thông điệp mã nguồn mở (mail transfer agent - MTA) nhận các email thông qua giao thức SMTP và định tuyến mỗi thông điệp đến chính xác mailbox trên máy chủ Zimbra sử dụng giao thức truyền tải mail nội bộ (Local Mail Transfer Protocol -LMTP) Zimbra MTA cũng gồm có cả các thành phần anti-virus và anti-spam

1.4 Zimbra Store (Zimbra server)

Gói lưu trữ của Zimbra cài đặt các thành phần cho máy chủ dùng làm mailbox, gồm Apache Tomcat, nó chứa các servlet vận hành phần mềm Zimbra Mỗi tài khoản được cấu hình trên mailbox server, và tài khoản này được liên kết với một mailbox mà nó sẽ chứa tất cả các thông điệp và các tập tin đính kèm cho tài khoản mail đó

Mailbox server gồm có các thành phần sau:

 Lưu trữ dữ liệu - Data store

 Lưu trữ thông điệp – Message store

 Lưu trữ chỉ mục - Index store

Ứng với mỗi Zimbra server đều có một nơi lưu trữ dữ liệu độc lập, lưu trữ thông điệp và lưu trữ chỉ mục cho chính nó trên cái server đó

Khi mỗi mail được gửi đến, máy chủ Zimbra lập kế hoạch cho một tuyến đoạn để đánh chỉ mục cho thông điệp (gọi là lưu trữ chỉ mục)

1.4.1 Data store

Data store là một cơ sở dữ liệu MySQL nơi mà các định danh nội bộ của mailbox được

liên kết với tài khoản người dùng Lưu trữ dữ liệu sẽ kết (map) các ID của mailbox này với các tài khoản OpenLDAP ứng với từng người dùng Cơ sở dữ liệu này chứa mỗi thiết lập của người dùng gồm các thẻ có sẵn, các thư mục, các lịch thời gian và các liên hệ, cũng như các trạng thái của mỗi email – đã đọc, chưa đọc, các thẻ trợ giúp chức năng để gửi thông điệp và thư mục chứa các thông điệp cư trú bên trong

1.4.2 Message store

Message store là nơi mà tất cả các thông điệp và tập tin đính kèm cư trú Các thông

điệp được lưu trữ theo định dạng MIME Một thông điệp được gửi đến nhiều người nhận –

Trang 32

Giới thiệu về Bộ cộng tác Zimbra

những người này có các tài khoản trên cùng một mailbox server đều được lưu trữ chỉ một lần trong tập tin hệ thống

1.6 Zimbra Logger

Việc cài đặt gói Zimbra Logger là tùy chọn và được cài đặt trên một mailbox server Zimbra logger cài đặt các công cụ phục vụ cho thu thập các báo cáo syslog, và lưu dấu vết của các thông điệp Nếu bạn không cài Logger, bạn không thể sử dụng được chức năng theo dõi dấu vết cho các thông điệp Hơn nữa, các thống kê trên máy chủ sẽ không được nắm bắt và các phần của trạng thái này sẽ không được hiển thị trên giao diện điều hành bằng dòng lệnh

1.7 Zimbra Spell

Việc cài đặt gói Zimbra Spell cũng là tùy chọn Aspell là một mã nguồn mở kiểm tra chính tả được dùng bởi Web Client Zimbra Khi Zimbra-spell được cài đặt, gói Zimbra-apache cũng được cài đặt theo

1.8 Zimbra Proxy

Việc cài đặt gói Zimbra Proxy là tùy chọn Dùng một máy chủ proxy IMAP/POP cho phép việc lấy mail cho một domain được chia cho nhiều server Zimbra dựa trên một người dùng cơ sở

Chú ý: gói Zimbra Proxy có thể được cài đặt cùng với Zimba LDAP, Zimbra MTA, server Zimbra Mailbox, hay trên server của riêng nó

2 Cây thư mục trong hệ thống Zimbra

Bảng dưới đây sẽ liệt kê danh sách các thư mục chính được tạo ra khi bạn thực hiện việc cài đặt các gói Zimbra Những thư mục không được liệt kê trong bảng này là những thư viện được dùng để xây dựng lõi của phần mềm Zimbra

Lưu ý: Việc tổ chức thư mục là hoàn toàn giống với bất kỳ máy chủ nào trong ZCS, việc cài

đặt dưới tên và đường dẫn thư mục /opt/zimbra

Bảng D-1 : Cấu trúc thư mục của ZCS 4.5

/opt/Zimbra/ Tạo ra bởi tất cả các gói cài đặt Zimbra

bin/ Các tập tin ứng dụng của Zimbra, chứa các tiện ích hỗ trợ ở chế

Trang 33

clamav Các tập tin của ứng dụng Clam AV về điều khiển quản lý virus

và spam

conf/ Thông tin cấu hình

contrib Các kịch bản chuyển nhượng (conveyance) bên thứ ba

convertd Dịch vụ chuyển đổi

cyrus-sasl SASL AUTH daemon

db/ Data Store

doc/ Tài liệu Zimbra và các tập tin hướng dẫn

dspam DSPAM antivirus

httpd Spell server

index/ Index Store

java/ Chứa các tập tin ứng dụng Java

tomcat (ZCS 4.x) Một trường hợp server ứng dụng mailbox Trong thư mục này,

thư mục webapps/Zimbra/skins bao gồm các tập tin giao diện UI của Zimbra

libexec/ Các thư viện bên trong có khả năng thực thi

log/ Ghi nhận cục bộ dành cho các ứng dụng trên máy chủ Zimbra

logger/ Các tập tin dữ liệu MySQL cho các dịch vụ nhật ký của thực thể

Mysql

mysql/ Các tập tin cơ sở dữ liệu MySQL

openldap/ Cài đặt OpenLDAP server, được cấu hình lại để chạy cùng

Zimbra

perdition IMAP proxy

postfix/ Cài đặt Postfix server, được cấu hình lại để chạy cùng Zimbra

redolog/ Chứa các nhật ký giao dịch hiện tại của server Zimbra

Sleepycat/ Berkeley DB

snmp/ Những tập tin dùng để giám sát SNMP

store/ Lưu trữ các thông điệp

wiki Chứa các tập tin khuôn mẫu toàn cục của các Zimbra Document

zimbramon/ Chứa những script điều khiển và những modul Perl

zimlets/ Chứa các tập tin zip của zimlet mà được cài đặt sẵn trong

Zimbra

zimlets-extra Chứa các tập tin zip của zimlet mà có thể cài đặt

Trang 34

Giới thiệu về Bộ cộng tác Zimbra

3 Ví dụ về một cấu hình tiêu biểu trên nhiều máy chủ

Việc cấu hình chính xác cho mỗi lần phân phối chủ yếu phụ thuộc vào các khả năng có sẵn bao gồm số lượng các mailbox, các chỉ tiêu cho mailbox, khả năng thực thi các yêu cầu, thiết bị và điều kiện mạng có sẵn, chính sách cho các IT, phương pháp bảo mật an toàn, nhu cầu cấp bách cho bộ lọc chống các spam,

Hình D-2 cho thấy một cấu hình cơ bản với lưu lượng đi vào và kết nối người dùng Bạn có thể thay đổi các cách của việc cấu hình ở các thời điểm trong mạng nếu cần thiết

Hình D-2 : Một cấu hình cơ bản với lưu lượng đi vào và kết nối người dùng

Bên dưới là phần giải thích cho Hình D-2:

1 Vòng bao bên trong Internet mail đi xuyên qua một bức tường lửa phòng vệ (firewall)

Trang 35

2 Sau khi lọc mail xong thì kế đó nó sẽ đi qua cái Cân bằng tải thứ hai (second load balancer)

3 Một người dùng ngoại tuyến đang kết nối để gửi thông điệp đến server cũng phải đi qua bức tường phòng vệ để đi đến Cân bằng tải thứ hai

4 Mail từ ngoài Internet sẽ đi đến bất kỳ cái Zimbra MTA servers nào và xuyên qua bộ lọc chống spam và virus

5 Zimbra MTA server được ủy nhiệm sẽ tìm kiếm thông tin thư mục của người nhận từ bản sao trên Zimbra LDAP server

6 Sau khi lấy được thông tin người dùng từ Zimbra LDAP server, thì MTA server gửi mail đến Zimbra server thích hợp

7 Cuộc kết nối của những người dùng cuối trong mạng nội bộ sẽ được đưa trực tiếp đến bất kỳ Zimbra server nào mà tiếp đến nó sẽ lấy được thông tin thư mục của người dùng từ Zimbra LDAP và chuyển tiếp đến người dùng một lần nữa nếu có yêu cầu

8 Việc sao lưu dự phòng (backup) trên Zimbra servers có thể được kích hoạt tiến trình kết nối đến các ổ đĩa lưu trữ

4 Kiến trúc Máy khách Zimbra (Zimbra Client)

4.1 Zimbra Ajax Client

Phương châm của Zimbra là để hỗ trợ cho các ứng dụng email/messaging hiện nay trên phía máy khách như Microsoft Outlook, Apple Mail, Novell Evolution, Mozilla Thunderbird, Cùng lúc, có nhiều chức năng nâng cao cho hệ thống Máy chủ Zimbra (Zimbra Server) như mash-ups, tìm kiếm, hội thoại, tagging, Ajax linking và Embedding/ALE, ) mà chúng không thể thấy được trên giao diện người dùng Người dùng yêu thích khả năng của những chức năng nâng cao này trong Zimbra Ajax client (ít nhất là cho đến khi việc tồn tại các máy khách được làm nổi bật giống như thế!)

Ajax là từ viết tắt của Asynchronous JavaScript XML (JavaScript và XML bất đồng bộ) Khi cái tên Ajax gần đây được xem như là vật hái ra tiền, dựa trên các công nghệ - JavaScript (cũng được biết như là ECMAScript), CSS (Cascading Style Sheets = các bản kiểu dáng liên hoàn), XML (Extensible Markup Language = Ngôn ngữ tăng cường mở rộng), SOAP (Simple Object Access Protocol = Giao thức truy cập đối tượng đơn giản), đang trưởng thành trong những năm qua

Ajax đã trở thành một "vấn đề kế tiếp", bởi vì các ứng dụng Ajax kết hợp duy nhất:

 Giao diện tương tác người dùng phong phú;

 Các nối kết client/server mạnh hơn;

 Chi phí thấp cho việc điều hành một Web client;

 Cảm quan tốt hơn đối với Web (trừ nút Back và lưu trữ Bookmark);

 Hạn chế sự tích hợp với nội dung trang Web khác (như "Mash ups")

 Sự đầu tư cho việc bảo vệ về một Web chuẩn mực

Một sự biểu hiện của Ajax đang là một chuẩn của Web, Zimbra Ajax client chạy và hoạt động tốt từ trình duyệt Mozilla Firefox, IE (Microsoft Internet Explorer), cho đến Apple Safari

Trang 36

Giới thiệu về Bộ cộng tác Zimbra

Zimbra Ajax client thật sự là rất to lớn (nhiều hơn 100K dòng lệnh) để lập trình giao diện hướng đối tượng bằng JavaScript Máy khách theo mô hình kiến trúc MVC (Model-View-Controller), với các trạng thái thay đổi đều được trả về trong giao diện người dùng và gửi đến/nhận từ của Máy chủ trợ giúp Cơ bản Zimbra Ajax trình duyệt phía máy khách không cho phép sự duy trì – mọi trạng thái duy trì trên phía máy khách đều được quản lý bên phía Máy chủ CSS được tận dụng tối đa để có thể khả chuyển cho giao diện người dùng Các

kỹ thuật tối ưu thiết yếu cho sự tiện dụng của người dùng cao hay thấp bao gồm khả năng kết hợp nhiều tập tin JavaScript và CSS, việc nén các kết quả và bộ nhớ trình duyệt (về mã lệnh, không phải dữ liệu người dùng) 1/3 mã lệnh trong ZCS client là trang trí dựa trên công cụ kéo thả Kabuki Ajax, cấp phép bởi Zimbra và bản quyền mã nguồn mở trích ra từ giải pháp toàn thể cho ZCS client/server (Để biết thêm về Ajax, xin xem thêm tài liệu về Zimbra/Kabuki Ajax Toolkit)

Hình D-3 : Front-End Architecture

4.2 Giao tiếp giữa Client/Server

Các kết nối XML/SOAP sử dụng cho giao tiếp Zimbra client/server đều được ghi chép

kỹ từng chi tiết cho các lập trình viên được tự do truy cập bất kỳ thư tín Zimbra và các dịch

vụ cộng tác – như là việc gửi một email, lập lịch cho cuộc họp hoặc chấp nhận một yêu cầu công việc – từ bất kỳ chương trình dịch vụ Web được kích hoạt Cùng lúc, tất cả XML crunching không thể tối ưu cho việc thực thi Ajax phía client cho nên nhóm Zimbra cung cấp một "fast-path" thay đổi một cách tối ưu bên trong Zimbra server để tối ưu việc hiển thị - JSON (JavaScript Object Notation) - mang lại hiệu quả cao hơn cho việc xử lý bên trong Ajax client Việc thay đổi cách truyền tải là sự lựa chọn một cách tự nhiên thích hợp (bản tương thích được đảm bảo từ Ajax client được tải về từ máy chủ và luôn có giao diện XML mặc định phía sau nó)

Trang 37

4.3 Sự cộng tác với các hệ thống client hiện tại

Như minh họa trong hình D-3, Bộ cộng tác Zimbra hỗ trợ một mảng lớn các hệ thống messaging và calendaring hiện tại trên các máy khách – như Outlook, Apple desktop; Mozilla Thunderbird, Novell Evolution, Eudora, – thông qua các plug-ins mà Zimbra cung cấp và các giao thức chuẩn công nghệ:

- Outlook (MAPI) - Zimbra bao gồm plug-in nhà cung cấp MAPI (được đóng gói như Window Installer hoặc tập tin MSI) trực tiếp liên kết với Outlook, và do đó phải được cài đặt trên nền Window client Điều này được Microsoft khuyến khích và hỗ trợ tiếp cận để đồng bộ hóa các chức năng Outlook như là email cũng như calendaring và các contact (không được hỗ trợ cho IMAP) với các máy chủ thư tín như ZCS Nhà cung cấp Zimbra MAPI đề cập đến bảo mật chính của giao thức các dịch vụ web như Web Ajax client (trừ sự tối ưu JSON) Nhà cung cấp Zimbra MAPI hỗ trợ lưu trữ chế độ cho kết quả thao tác hủy kết nối và sự tải đồng bộ, và dẫn đến việc hỗ trợ cho SSL/TLS, không đòi hỏi phải có một VPN để bảo mật qua các mạng công cộng

- Apple Desktop (iSync) - ZCS client sync plug-in cho Apple cũng giống với kiến trúc của nó dành cho bộ ZCS Connector dành cho Outlook, nhưng nó cung cấp sử dụng đồng bộ hóa Apple Address Book, iCal và iCal Events đến ZCS server Apple Mail được đồng bộ hóa tốt hơn, mặc dù thông qua IMAP Tất cả các truyền thông qua mạng đều hỗ trợ riêng thông qua SSL/TLS

- Novell Evolution - ZCS client sync plug-in cho Novell Evolution (Ximian) cũng cùng kiến trúc đó, việc sử dụng Evolution Data Sever (EDS) như là điểm tích hợp trên phía client và việc cung cấp sự đồng bộ hóa thông qua cùng cơ chế bảo mật các dịch vụ Web

- POP3 - SSL/TLS hoặc truyền tải văn bản thuần Việc dựa trên sự thực thi bất đồng

bộ Nhập/Xuất bảo đảm khả năng vận hành đồng thời của nhiều máy khách

- IMAP4 - Zimbra hỗ trợ hầu hết các tính năng mở rộng IMAP4 Khả thi thông qua SSL/TLS hoặc truyền tải văn bản thuần, và cũng như việc Nhập/Xuất bất đồng khả chuyển trên máy chủ

- iCalendar - Zimbra có bản dựa trên sự kết hợp chuẩn Internet Calendaring cho việc lập lịch các sự kiện, thời gian bận, cuộc hẹn,… đề cập trong các RFC dưới đây:

+ RFC 2445 - Internet Calendaring và Scheduling Code Object Specification (iCalendar)

+ RFC 2446 - iCalendar Transport-Independent Interoperability Protocol (iTIP)

+ RFC 2447 - iMIP (iTIP over MIME) Zimbra cũng xuất bản dữ liệu calendar (như là trong định dạng vCal) cho việc truy cập chỉ đọc cho các máy khách giống như Apple iCal

- RSS, REST & SOAP – tất cả các chức năng của Zimbra cũng được công bố một cách bảo mật trên các tài liệu XML cho các ứng dụng khác hoặc tiện ích dòng lệnh (bao gồm các cộng cụ migration) để tạo đòn bẩy

- "Over the Air" Sự đồng bộ với thiết bị di động – Nơi ưu tiên của Zimbra cho các Smart phone là cung cấp chuyên về các phần mềm PIM (Personal Information Management= Quản lý thông tin cá nhân) bao gồm gửi tin, sổ lưu địa chỉ, và các ứng dụng lập lịch Với phần mềm đồng bộ hóa với các thiết bị tương thích (không có phần mềm Zimbra được đòi hỏi trên

Trang 38

Giới thiệu về Bộ cộng tác Zimbra

máy thu phát cầm tay!), Zimbra Mobile ngày nay có thể đồng bộ các mối liên hệ, các tác vụ,

và email tới Nokia, Motorola, Samsung, Treo, và các điện thoại Blackberry Smart (Chỉ có các thiết bị Blackberry đòi hỏi phần mềm máy chủ thêm vào – đồng bộ dễ dàng từ thiết bị vào Máy chủ ZCS.) Hơn nữa, từ mạng intranet và các ứng dụng Internet có thể truy cập đến máy chủ ZCS qua các giao thức mở hay các giao thức chuẩn, ngày nay có một cách đơn giản để

mở rộng các ứng dụng kết nối đến các thiết bị ZCS: như là việc export các liên hệ khách hàng

từ hệ thống CRM, việc export một nhật ký du lịch từ ứng dụng yêu cầu của chúng ta, hoặc đơn giản hơn là việc gửi một email yêu cầu đến một URL đặt biệt từ trình duyệt

Kiến trúc Zimbra Zimlet làm cho người phát triển khai báo các thông tin tích hợp từ các nguồn khác nhau – như là Internet và các hệ thống thông tin chuyên nghiệp – vào bất kỳ nội dung nào trong ZCS, bao gồm các thông tin email, các lĩnh vực hợp đồng, và các chú ý được chỉ định trong lịch biểu Tóm lại, ZCS cấu hình trước với một vài mẫu Zimlet XML – ví dụ gồm sự tích hợp với Google/Yahoo Maps, Amazon, Saleforce.com, và các hệ thống VoIP, nhưng phát triển thực sự là sự tăng trưởng nhanh chóng của các Zimlet như là mô hình được bao trùm bởi cộng đồng mã nguồn mở

Kiến trúc của các Zimlet bao gồm một framework cho client và server, như là một tập hợp các dịch vụ Web và JavaScript APIs Zimlets được đưa ra cho người dùng cuối thông qua ZCS Ajax client Cơ sở hạ tầng của Zimlet server cung cấp các template cho sự quản lý vòng đời như là sự phân phối, sự cấu hình, điều khiển việc truy cập, và ―hủy phân phối‖ Thêm vào

đó, framework của Zimlet server cung cấp khả năng tích hợp với bộ máy tìm kiếm ZCS (như

là cho việc đánh chỉ mục một cách đặc biệt để nhận dạng các đối tượng giống như các id của khách hàng), trong khi đó framework cho Zimlet client cung cấp sự hỗ trợ cho các menu ngữ cảnh trên các panel item, nội dung của các đối tượng, hỗ trợ kéo thả, và việc nhúng các nội dung từ xa vào ZCS Điểm chính của kiến trúc là làm cho việc thực thi trên diện rộng các khuôn mẫu Zimlet này, từ một số khuôn mẫu đòi hỏi do hoặc không có tùy chọn code (nghĩa

là gồm cả việc khai báo) đển một số khuôn mẫu sử dụng JavaScript tích hợp một số nhỏ các thao tác để làm phong phú các thao tác trên giao diện người dùng trong ZCS client, hoặc các chức năng mở rộng của Java để làm điều tương tự trên phía server Hầu hết các ví dụ về Zimlet, không đòi hỏi phải viết mã nguồn – cách thức hoạt động của chúng được chỉ định qua các tập tin mẫu XML để truy cập vào trong proxy chung của Web service trên server (từ các chương trình ứng dụng Ajax client chỉ tạo ra các yêu cầu dành cho máy chủ của chúng ta và ngăn ngừa từ các truy cập trực tiếp vào các Website một cách tùy ý) Để có cái nhìn chi tiết hơn về Zimlet, xin hãy đọc tài liệu chỉ dẫn và các gallery về Zimlet trên Website của Zimbra

4.5 Postfix, anti-spam, và anti-virus

Bộ cộng tác Zimbra gồm có Postfix, nó quan sát như là một MTA (Zimbra Mail Transfer Agent) cho việc gửi và nhận email qua Internet Postfix được "nhúng" vào trong Zimbra, việc cài đặt, cấu hình, và vận hành Postfix (tuỳ chọn) là trong suốt đối với người

Trang 39

nghiệp SMTP/LMTP MTAs khác có hỗ trợ SMTP/LMTP có thể được sử dụng để thay cho Postfix

Ngoài Zimbra MTA, Postfix cũng cung cấp một bộ test hợp nhất (trong trường hợp Zimbra, thông qua amavisd-new) dành cho hãng thứ ba về các giải pháp AS (anti-spam) và

AV (anti-virus) Thực vậy, điều này chính xác làm thế nào chúng được tích hợp SpamAssassin và các giải pháp cho ClamAV, và chúng được thêm vào trong ZCS (Tất nhiên, các giải pháp cho anti-spam/anti-virus bên ngoài, có thể cũng được thuê với Zimbra đơn giản bằng việc định tuyến vào hộp thư đến qua các dịch vụ host như Postini.) Postfix là một sự hợp nhất tự nhiên cho những hệ thống thông tin bắt tuân theo chính sách thông điệp Mọi luồng thông báo của Zimbra (bên trong và bên ngoài) đều thông qua Postfix Để cho sự triển khai ở mức quy mô, Postfix nên được cấu hình trên những server riêng biệt hơn là thiết đặt cho chúng chay trên các máy chủ ZCS Mailbox

5 Kiến trúc máy chủ Zimbra

Hình D-4 : Kiến trúc Back-End

5.1 Kiến trúc Máy chủ

Chỉ khi Zimbra bị thuyết phục rằng JavaScript/Ajax là sự lựa chọn đúng cho khách hàng quen thuộc ZCS, vì thế mà Zimbra tìm đến Java - sự chọn lựa đúng và chủ yếu trong môi trường lập trình bên phía máy chủ Zimbra:

 Java rất tốt khi tích hợp với Web - Đối với các phần mềm hệ thống, được sử dụng nhiều nhất, hầu hết đều được kết nối cẩn thận đến các công nghệ Web như XML và các dịch vụ Web, ở trong C# (trung tâm thuộc trường phái Microsoft) và trong Java (dành cho những người khác)

 Sự tích hợp các thành phần trong việc "quản lý code" - Máy chủ Zimbra chứa nhiều các thành phần mã nguồn mở cũng như một số lượng mã mới có thực Việc kết hợp

Trang 40

Giới thiệu về Bộ cộng tác Zimbra

nhiều thành phần này vào trong một ảnh tiến trình đơn lẻ thật đơn giản trong môi trường quản lý code giống như của Java - Bộ cộng tác Zimbra là một sản phẩm rất dễ dàng cho việc build, test, và trợ giúp, như là một kết quả của cộng đồng Zimbra đang

lo lắng ít nhất là về việc tập hợp, lưu trữ các lỗi cần tham chiếu, reentrancy,

 Thực thi - Chúng ta có thể không mong rằng sẽ nhìn thấy quá trình thực thi trong cái phần này, nhưng để cho các ứng dụng có cường độ Nhập/Xuất cao chẳng hạn như việc

xử lý giao dịch và truyền tin, Java đưa ra những thuận lợi qua những ngôn ngữ thay thế Java rất tốt cho việc Nhập/Xuất đồng thời và đồng bộ, việc cho phép Zimbra nhiều đầu vào và đầu ra hiệu quả bên trong một tiến trình đơn, và từ đây việc tránh vượt quá tiến trình chuyển đổi và các giao tiếp bên trong tiến trình (IPC điển hình là 3 lệnh quan trọng xa xỉ hơn những lời gọi hàm cục bộ bên trong tiến trình) The proof of course is in the pudding—Zimbra offers superior performance in head-to-head benchmarking against the fastest C-based alternatives Minh chứng cho điều này là trong pudding - Zimbra hỗ trợ tối cao việc thực thi trong head-to-head benchmarking chống lại những giải pháp dựa trên C nhanh nhất (Tương tự, các hệ thống trao đổi Java cơ bản giống như WebLogic và WebSphere hiện tại đang cạnh tranh với những

sự thay thế C cơ bản như Tuxedo và Encina/CICS) Và vì thế trong khi Java có thể sẽ không bao giờ cạnh tranh với C về những từ khoá về các chỉ dẫn thực thi (nhân tiện, Java hiện giờ có sự cạnh tranh về sự hướng đối tượng trong mã viết bởi C++), về đa thành phần, những ứng dụng mạng I/O cấp cao như Zimbra, Java là sự lựa chọn tốt nhất

 Sự chọn lựa an toàn - Quản lý code là nền tảng để các kiến trúc Internet phía máy chủ của các công ty phần mềm lớn nhất - C#: Microsoft; Java: IBM, Oracle, SAP, BEA, Hơn nữa, Java chạy từ doanh nghiệp lớn đến người sử dụng trong ngành tin học ngày nay: nghĩa là, có những sự hợp tác cá nhân với nhiều hơn 10.000 CPU sản phẩm có môi trường Java trên máy chủ, và ứng dụng xử lý hàng ngàn cuộc giao dịch trên giây

5.2 Message store (Lưu trữ thông điệp)

Zimbra message (hay blod) store được xây dựng dựa trên hệ thống tập tin Unix/Linux Việc ánh xạ là một tập tin trên một thông điệp - chính xác là Zimbra ghi lại cái thông điệp RFC822 MIME tái thể hiện trực tiếp đến một tập tin Điều này mang đến rất nhiều thuận lợi:

 Một lần được ghi, các thông điệp là không bị thay đổi trong Zimbra, và các hệ thống tập tin ảnh hưởng đến việc lưu trữ và khôi phục lại trạng thái ban đầu các khối dữ liệu phi cấu trúc/bán cấu trúc

 Công việc dọn dẹp được hệ điều hành đảm nhiệm một cách tự động, mang lại hiệu quả cao và giảm bớt cho việc điều hành

 Các tiện ích, các công cụ và các đoạn script độc lập có thể nhận dạng và xử lý Zimbra message miêu tả trên đĩa một cách dễ dàng

 Các khả năng tự động của hệ điều hành như tạo chỉ mục/ tìm kiếm (ví dụ như Mac Spotlight), khả năng nén và bảo mật

 Sau cùng nhưng cũng không kém phần quan trọng, việc lưu trữ đa tầng - bộ đệm dữ liệu bởi chính Zimbra, nhưng Zimbra cũng có những thuận lợi dựa trên bộ đệm của hệ điều hành Từ các hệ chuyên gia truyền tin được thông qua cổng tập trung trên việc đọc và ghi thực thi, hiệu quả của lưu trữ bộ đệm là một trong nhưng nền tảng tối thiểu

Ngày đăng: 02/12/2015, 07:26

HÌNH ẢNH LIÊN QUAN

Hình D-3 : Front-End Architecture - Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra  cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL
nh D-3 : Front-End Architecture (Trang 36)
Hình D-4 : Kiến trúc Back-End - Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra  cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL
nh D-4 : Kiến trúc Back-End (Trang 39)
Hình D-5 : Sự mã hóa thông điệp  1.1.4 Bản ghi khôi phục (Redo Log) - Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra  cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL
nh D-5 : Sự mã hóa thông điệp 1.1.4 Bản ghi khôi phục (Redo Log) (Trang 46)
Hình D-6 : LDAP Directory Traffic - Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra  cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL
nh D-6 : LDAP Directory Traffic (Trang 48)
Hình D-7 : Zimbra LDAP Hierarchy - Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra  cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL
nh D-7 : Zimbra LDAP Hierarchy (Trang 49)
Hình G-1 : Theme Color Picker - Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra  cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL
nh G-1 : Theme Color Picker (Trang 86)
Hình H-1 : Kiến trúc JNDI - Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra  cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL
nh H-1 : Kiến trúc JNDI (Trang 100)
Hình H-0-2 : Những thông điệp client gởi cho server - Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra  cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL
nh H-0-2 : Những thông điệp client gởi cho server (Trang 123)
Bảng 0-1: Một entry với các thuộc tính cơ bản - Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra  cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL
Bảng 0 1: Một entry với các thuộc tính cơ bản (Trang 126)
Hình 0-6 :Một phần thư mục LDAP với các entry chứa thông tin - Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra  cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL
Hình 0 6 :Một phần thư mục LDAP với các entry chứa thông tin (Trang 129)
Hình 0-5: hệ thống tập tin của unix - Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra  cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL
Hình 0 5: hệ thống tập tin của unix (Trang 129)
Hình 0-7: relative distingguished name - Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra  cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL
Hình 0 7: relative distingguished name (Trang 130)
Hình  4-2: Dùng khoá công khai để mã hóa, nhưng dùng khoá bí mật để giải mã. - Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra  cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL
nh 4-2: Dùng khoá công khai để mã hóa, nhưng dùng khoá bí mật để giải mã (Trang 241)
Hình  4-3: Dùng khoá bí mật để ký một thông báo;dùng khoá công khai để xác minh chữ ký - Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra  cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL
nh 4-3: Dùng khoá bí mật để ký một thông báo;dùng khoá công khai để xác minh chữ ký (Trang 242)
Hình  4-4: Tổ hợp khoá bí mật mình với khoá bí mật của người khác tạo ra khoá dùng chung chỉ - Nghiên cứu, ứng dụng và phát triển hệ thống hỗ trợ làm việc nhóm zimbra, tính bản địa hóa, tối ưu mã nguồn và khả năng tích hợp, mở rộng các ứng dụng trong môi trường zimbra  cơ sở dữ liệu, LDAP và các giao thức bảo mật qua SSL
nh 4-4: Tổ hợp khoá bí mật mình với khoá bí mật của người khác tạo ra khoá dùng chung chỉ (Trang 242)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w