Báo cáo bài tập lớn phần mềm mã nguồn mở, cách cài các phần mềm mã nguồn mở trên linux và ubuntu, công cụ cài đặt mã nguồn mở, lệnh cài mã nguồn mở, lệnh ubuntu, Chương 1: Tổng quan đề tài.Chương 2: Giới thiệu phần mềm mã nguồn mởChương 3: Công cụ cài đặtChương 4: Phân tích và thiết kế hệ thốngChương 5: Thiết kế và giao diện trang moodlejoomlaChương 6: Kiểm thử và đánh giáChương 7: Kết luận và hướng phát triển.
Trang 1LỜI MỞ ĐẦU
Phần mềm nguồn mở là phần mềm với mã nguồn được công bố và sử dụng mộtgiấy phép nguồn mở Giấy phép này cho phép bất cứ ai cũng có thể nghiên cứu, thayđổi và cải tiến phần mềm, và phân phối phần mềm ở dạng chưa thay đổi hoặc đã thayđổi
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ếncho 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 đếnnay
Phần mềm nguồn mở có nghĩa gần tương đương với mã nguồn mở, nhưng với
độ bao hàm cao hơn Phần mềm nguồn mở thì có hệ quả là mã nguồn mở, nhưng điềungược lại thì không đúng (ví dụ một phần mềm có mã nguồn mở nhưng giấy phép
"đóng" - hệ quả của tình huống này là người dùng được truy cập vào mã nguồn nhưng
có thể bị ngăn cấm quyền sao chép, chỉnh sửa, phân phối lại )
Ngày nay có rất nhiều dạng mở (không đóng) bao gồm: phần cứng, phần mềmnguồn mở, tài liệu/ học liệu mở, thiết kế mở Phần mềm nguồn mở ngày nay pháttriển với tốc độ khá cao, cho thấy nó có nhiều động lực hơn so với mã đóng Khôngnghi ngờ ngày nay sự phát triển lĩnh vực công nghệ thông tin có thể nói tới nguồn mởnhư cái gì đó năng động nhất Tốc độ phát triển của nó có thể nói đến từng giờ một
Ở Việt Nam, phần mềm tự do nguồn mở là thuật ngữ được khuyến khích sửdụng, thay thế cho hai thuật ngữ là phần mềm tự do và phần mềm nguồn mở (đặc biệt
là thay thuật ngữ "mã nguồn mở" - bởi vì sự bó hẹp và dễ gây ngộ nhận của nó)
Với mục đích học tập tốt môn “Ứng dụng mã nguồn mở và triển khai”, bướcđầu tiếp cận đến công cụ, phần mềm mã nguồn mở như Ubuntu chạy trên môi trườngVmware, và xây dựng một chương trình phần mềm với một quy trình thực tế về côngnghệ thông tin, nhóm em xin được tiến hành nghiên cứu đề tài về “Xây dựng trangmoodle quản lý khóa học”
Hệ thống được xây dựng nhằm hỗ trợ cho người quản lý khóa học, môn học vàcác hoạt động một cách dễ dàng, chính xác, tiện dụng Trang moodle quản lý khóa học
Trang 2này,còn giúp người quản lý theo dõi quá trình dạy, học và nội dung bài giảng, phânquyền giáo viên và sinh viên, học sinh Người giáo viên có thể đưa nội bài giảng, bàikiểm tra, thông tin học cho các bạn sinh viên, học sinh biết Sinh viên, học sinh có thểxem, tải các bài giảng, làm bài kiểm tra,
Đề tài gồm các phần:
Chương 1: Tổng quan đề tài.
Chương 2: Giới thiệu phần mềm mã nguồn mở
Chương 3: Công cụ cài đặt
Chương 4: Phân tích và thiết kế hệ thống
Chương 5: Thiết kế và giao diện trang moodle-joomla
Chương 6: Kiểm thử và đánh giá
Chương 7: Kết luận và hướng phát triển.
Với mong muốn tìm hiểu một phần nhỏ trong kho tàng phát triển công nghệ thông tin,cũng như trong phần mềm mã nguồn mở, nhóm em đã đi vào tìm hiểu cách thức hoạtđộng của LAMP (Linux, Apache, MySQL, PHP), Modle và JOOMLA Để từ đó xâydựng trang moodle quản lý khóa học phục vụ lợi ích cho người quản lý khóa học, giáoviên và sinh viên, học sinh Trang moodle có thể chưa hoàn chỉnh, nhưng một phầnnào đã thể hiện được sự cố gắng của nhóm em trong những bước đầu hoà nhập vớimôi trường mã nguỗn mở, trên hệ điều hành ảo Chúng em kính mong Thầy cô cùngbạn bè thông cảm và góp ý để em kịp thời lấp kín những lỗ hổng kiến thức và chươngtrình đạt hiệu quả cao hơn
Cuối cùng nhóm em xin gửi lời cảm ơn đến TS Nguyễn Mạnh Hùng đã giúp nhóm
em trong quá trình làm bài báo cáo này
Trang 3MỤC LỤC
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1
I Lý do chọn đề tài 1
II Phương pháp nghiên cứu 1
III Mục đích, mục tiêu nghiên cứu 1
IV Nhiệm vụ nghiên cứu 2
V Phạm vi, đối tượng nghiên cứu 2
VI Ý nghĩa thực tiễn 2
CHƯƠNG 2: GIỚI THIỆU VỀ PHẦN MỀM MÃ NGUỒN MỞ 3
I Lịch sử phát triển 3
II Phương pháp xây dựng phần mềm mã nguồn mở 6
III Vai trò của phần mềm mã nguồn mở 8
IV Những dự án phần mềm mã nguồn mở tiêu biểu 11
CHƯƠNG 3: CÔNG CỤ CÀI ĐẶT 14
I Phần mềm tạo máy áo VMware Workstation 12.0 14
II Hệ điều hành mã nguồn mở Ubuntu 15.10 17
III Cài đặt XAMPP 22
IV Hệ thống quản lý học tập Moodle 27
V Hệ quản trị nội dung Joomla 36
VI Kết nối Joomla và Moodle 39
CHƯƠNG 4: PHÂN TÍCH VÀ XÂY DỰNG TRANG MOODLE 45
I Quy trình hoạt động của hệ thống hiện tại 45
II Thông tin đầu ra, thông tin đầu vào 46
III Các bước thiết lập trang Moodle quản lý khóa học 46
CHƯƠNG 5: THIẾT KẾ GIAO DIỆNTRANG MOODLE- JOOMLA 52
I Trang Moodle 52
II Trang Joomla 53
CHƯƠNG 6: KIỂM THỬ VÀ ĐÁNH GIÁ 55
I Triển khai kiểm thử 55
II Đánh giá hệ thống 55
CHƯƠNG 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 56
I Hướng phát triển 56
II Kết luận 56
Trang 4CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
I Lý do chọn đề tài
Ngày nay với sự phát triển của công nghệ thông tin, việc sử dụng các phầnmềm mã nguồn mở ngày càng nhiều Phần mềm mỡ nguồn mở có tính bảo mật, antoàn cao với chi phí thấp Các chuẩn mở và phần mềm mã nguồn mở không phải lệthuộc nhà cung cấp, giảm phụ thuộc vào nhập khẩu Phần mềm mã nguồn mở mangtính ổn định, đáng tin cậy, có thể 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 và quyền sở hữu trí tuệ,tính tuân tủ WTO
Khả năng phát triển phần mềm mã nguồn mở ngày càng cao Phần mềm mãnguồn mở thường được ứng dụng trong các ngành giáo dục, kinh tế,
II Phương pháp nghiên cứu
Để tiến hành phân tích một hệ thống thông tin, trước hết chúng ta phải thu thậpthông tin của hệ thống đó Người phân tích phải lựa chọn kết hợp các phương pháp thuthập thông tin sau:
1 Phân tích tài liệu (nghiên cứu tài liệu)
Từ các báo cáo khoa học, các tài liệu tham khảo, mạng , sẽ giúp ta nghiên cứu
tỉ mỉ về nhiều khía cạnh của tổ chức như : lịch sử hình thành và phát triển, thông tinđầu vào, thông tin đầu ra của hệ thống và các thông tin trên giấy tờ phản ánh quá khứ,hiện tại và tương lai của hệ thống
2 Phương pháp quan sát
Khi người phân tích muốn nhìn thấy những gì không thể hiện trên tài liệu ,hoặcqua phỏng vấn như tài liệu được lưu ở đâu , có được sắp xếp hay không , sắp xếp nhưthế nào , do ai quản lý ,…
III Mục đích, mục tiêu nghiên cứu
1 Mục đích nghiên cứu
Trang Moodle quản lý khóa học nhằm hỗ trợ cho người quản lý khóahọc, môn học và các hoạt động một cách dễ dàng, chính xác, tiện dụng Trang moodlequản lý khóa học này,còn giúp người quản lý theo dõi quá trình dạy, học và nội dungbài giảng, phân quyền giáo viên và sinh viên, học sinh Người giáo viên có thể đưa nộibài giảng, bài kiểm tra, thông tin học cho các bạn sinh viên, học sinh biết Sinh viên,học sinh có thể xem, tải các bài giảng, làm bài kiểm tra,
Trang 52 Mục tiêu nghiên cứu
Khi tiến hành thực hiện báo cáo này, chúng em đã khảo sát rất nhiều trangmoodle trên mạng, cũng như một số tài liệu làm trang quản lý trên moodle Từ đó đề
ra một số tiêu chí cụ thể như sau:
- Giao diện trang moodle đẹp, thân thiện và dễ sử dụng với người dùng, baogồm các đối tượng: giáo viên, học sinh, sinh viên và Người quản trị trang Moodle
- Các thông tin đưa lên trang Moodle là chính xác, ngắn gọn súc tích và dễ hiểu
- Trang Moodle có đầy đủ các chức năng cần thiết, thuận lợi cho việc sử dụng
và đáp ứng được các yêu cầu có thể có của giáo viên, sinh viên và nhu cầu của ngườiquản trị trang Moodle
IV Nhiệm vụ nghiên cứu
-Nghiên cứu cơ sở lý thuyết về Linux, Apache, PHP, MYSQL, Joomla,Moodle,…
-Xây dựng chức năng hiển thị,nội dung và danh sách bài giảng
-Xây dựng chức năng thêm, xóa, sửa vào các mục như giảng viên, giáo viên,sinh viên,học sinh, các bài giảng, kết quả thi,…
-Xây dựng chức năng thêm, sửa và xóa tài khoản đăng nhập
-Xây dựng chức năng lọc các kết quả tìm kiếm
-Xây dựng chức năng phân quyền
-Xây dựng chức năng upload, dowload tài nguyên(file dữ liệu)
V Phạm vi, đối tượng nghiên cứu
1 Phạm vi nghiên cứu
Nghiên cứu phát triển phần mềm mã nguồn
2 Đối tượng nghiên cứu
- Giáo viên, giảng viên
- Học sinh, sinh viên
- Người quản lý khóa học
VI Ý nghĩa thực tiễn
- Giúp người quản lý khóa học dễ dàng nắm được các thông tin, dữ liệu
- Giúp các sinh viên, học sinh có thể xem và dowload tài nguyên(file dữ liệu)
- Giúp giảng viên có upload tài nguyên (file dữ liệu), có thể chỉnh sửa và xóa tài nguyên
- Giúp người quản trị có thể quản trị toàn bộ hệ thống
Trang 6CHƯƠNG 2: GIỚI THIỆU VỀ PHẦN MỀM MÃ NGUỒN MỞ
I Lịch sử phát triển
Theo Dabid Wheeler , 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ạychươ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ôngphải trả tiền bản quyền cho những người lập trình trước”
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àncầ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àinăm Tuy nhiên, vẫn chưa có nhiều người hiểu một cách thấu đáo những yếu tố gì thật
sự tạo nên FOSS và sự bùng nổ của khái niệm này
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) 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ệntiên quyết cho việc này
- 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ườixung 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ữngtính năngmới đó đến công chúng để toàn cộng đồng được hưởng lợi Khả năng tiếpcậ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ợptá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ángchế 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ư đa nêu ở trên
Trang 7Ý tưởng chủ đạo đằng sau phần mềm nguồn mở của OSI rất đơn giản: khingườ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ầnmề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 bạn đa quen với quy trình chậm chạp của việc pháttriể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ó độ tincậ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ớinhữ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ợithự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ấpbằ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ư
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ínhthố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ênxung 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ư nổi tiếng của William H Gates III – “Thư ngỏ gửinhững người mê máy tính” Trong thông điệp này, đề ngày 3 tháng 2 năm 1976, ôngkị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 bạn – những người mê máy tính – hẳn phải ýthức được rằng các bạn đang đánh cắp phần mềm của người khác làm của mình Phầncứ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ữngngườ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ànhlậ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 hoạt động của mình, công ty này quét sạchtập quán chia sẻ phần mềm khỏi các phòng thí nghiệm MIT Tuy nhiên, công cuộc phá
Trang 8huỷ này rốt cuộc đưa đến sự ra đời của tổ chức Phần mềm tự do và nền văn hoá Phầnmềm nguồn mở ngày nay
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àothá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ạngtậ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 đờimộ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àntoà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 (hay Nhân - Kernel) là trái tim của mọi hệ điều hành Vào năm 1991, LinusTorvalds, khi đó còn đang học năm thứ hai của chương trình sau đại học tại trường ĐHHelsinki, đã viết và phổ biến một lõi dạng Unix Theo đúng phương thức của quy trìnhphá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à nhanhchó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 cuối cùng đềuđược sáp nhập hoặc tích hợp lại 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ớitruyề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ânhà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ếncho 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 đếnnay
Trang 9Năm 1999, màn trình làng thành công vang dội của sản phẩm GNU/Linux RedHat đưa đến cho phần mềm này 4.8 tỷ đôla vốn huy động từ thị trường Những phầnmề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à sản phẩm chính của phong trào Phần mềm nguồn mở, việcGNU/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
II Phương pháp xây dựng phần mềm mã nguồn mở
Mô hình xây dựng phần mềm nguồn mở là một mô hình độc đáo và nó đượchiện thực hoá chỉ với sự ra đời của Internet và sự bùng nổ thông tin do Internet manglại Phép so sánh việc xây nhà và buôn bán ở chợ thường được dùng để đối lập môhình phát triển phần mềm nguồn mở với các phương thức làm phần mềm truyền thống
Quy trình làm phần mềm truyền thống được so sánh với cách thức chúng ta xâynhà Từng nhóm nhỏ thợ thủ công có tay nghề cao sẽ lập thiết kế chi tiết và tiến hànhxây dựng theo từng công đoạn riêng lẻ Chừng nào xây xong, ngôi nhà sẽ là một tổngthể hoàn chỉnh và thường ít khi được sửa đổi thêm thắt Phần mềm máy tính trước đâycũng được xây dựng theo cách thức tương tự Các nhóm lập trình làm việc riêng rẽ,theo sự quản lý và kế hoạch chi tiết, cho đến khi sản phẩm được hoàn thành và chươngtrình phần mềm công bố với thế giới Một khi đã phát hành, phần mềm được coi làhoàn chỉnh và chẳng có mấy công sức bỏ ra để chỉnh sửa nó về sau
Ngược lại, việc phát triển phần mềm nguồn mở được ví với việc phát triển củabuôn bán ngoài chợ, mở rộng một cách tự phát Những người bán hàng đầu tiên đến,cắm cột xây cửa hàng, và bắt đầu kinh doanh Những nhà buôn khác tiếp tục đến vàdựng sạp hàng riêng của mình, cứ thế chợ phát triển theo một phương thức thoạt trôngrất lộn xộn Các nhà buôn chỉ quan tâm chủ yếu đến việc dựng lên một kết cấu tốithiểu để có thể bắt đầu bán hàng Những thêm thắt sẽ được bổ sung về sau khi hoàncảnh đòi hỏi Cũng tương tự như thế, việc xây dựng phần mềm nguồn mở khởi đầumột cách rất phi cấu trúc Những người lập trình đầu tiên chỉ đưa ra với công chúngmột số mã chức năng tối thiểu, rồi chỉnh sửa dần trên cơ sở các ý kiến phản hồi Rồi cóthể có thêm những nhà lập trình khác tới, thay đổi hoặc xây thêm trên cơ sở những mãnguồn có sẵn Cứ thế theo thời gian, cả một hệ điều hành hay bộ ứng dụng sẽ địnhhình và không ngừng phát triển
Trang 10Phương thức xây dựng phần mềm mã nguồn mở trên đã chứng tỏ tính ưu việtcủa mình trên một số khía cạnh sau:
1 Giảm sự trùng lặp nguồn lực
Bằng cách công bố sớm phần mềm và trao cho người sử dụng quyền chỉnh sửacũng như lưu hành mã nguồn, các nhà lập trình FOSS sẽ được sử dụng kết quả làmviệc của đồng sự Tính kinh tế của quy mô trở nên rất lớn Thay vì việc năm nhà lậptrình ở mỗi trong số 10 công ty cùng viết một ứng dụng mạng, triển vọng là sẽ kết hợpđược công sức của cả 50 người Việc giảm sự trùng lặp trong phân bổ nguồn lực chophép quá trình xây dựng một phần mềm đạt tới quy mô đại chúng chưa từng có tronglịch sử, liên kết hàng ngàn nhà lập trình trên toàn thế giới
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ự ánkhá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 chomì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 giờ viết mã hoá và thử nghiệm Ngay cả trong trườnghợp mã nguồn không thể tích hợp trực tiếp, thì việc có sẵn các mã nguồn tự do cũngcho 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 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ìnhphần mềm nguồn mở đa kết luận rằng khi người sử dụng có quyền tiếp cận mã nguồnthì 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à trongmộ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ậptrì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ìnhban đầ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ánhnặ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
Trang 11trì 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ủatừ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ồnlực
III Vai trò của phần mềm mã nguồn mở
1 Phần mềm nguồn mở có thực sự miễn phí ?
Một trong những quan niệm phổ biến về phần mềm nguồn mở tự do là các phầnmềm này luôn luôn miễn phí Ở một mức độ nào đó, điều này đúng Không ứng dụngFOSS nào, nếu thật sự là phần mềm nguồn mở, lấy phí đăng ký của người sử dụng Đa
số các phiên bản FOSS (Red Hat, SuSE, Debian, v.v ) có thể tải từ Internet về màkhông mất xu phí nào Xét trên phương diện phí đăng ký, các ứng dụng FOSS hầu nhưluôn rẻ hơn phần mềm có bản quyền
Tuy nhiên, phí đăng ký không phải là chí phí duy nhất phát sinh với phần mềmhay cơ sở hạ tầng máy tính Còn phải cân nhắc tới các chi phí nhân sự, yêu cầu vềphần cứng, chi phí cơ hội, và phí đào tạo Thường được biết đến dưới khái niệm Tổngchi phí sở hữu (TCO), những chi phí này mới thật sự là thước đo cho tính kinh tế củaviệc sử dụng phần mềm nguồn mở
2 Tính kinh tế của Phần mềm nguồn mở
Gần đây có nhiều công bố về những khoản tiết kiệm khổng lồ mà Phần mềmnguồn mở mang lại, đáng chú ý nhất là báo cáo từ các tập đoàn lớn đa chuyển đổi hệthống nội bộ sang nền GNU/Linux Intel tuyên bố đa tiết kiệm được 200 triệu đôla dochuyển từ Unix sang Linux, còn Amazon thì cho biết tiết kiệm được 17 triệu đôla từviệc cài đặt Linux cho các máy chủ của mình Những tổ chức tài chính lớn như CreditSuisse First Boston, Morgan Stanley, Goldman Sachs và Charles Schwab đang tiếnhành chuyển một phần đáng kể hệ thống thông tin của họ sang sử dụng phần mềmnguồn mở hòng tận dụng tối đa những khoản tiết kiệm này
Có một vài nghiên cứu dựa trên cơ sở phân tích Tổng chi phí sở hữu (TCO) để
so sánh tổng chi phí triển khai một hệ thống phần mềm nguồn mở với hệ thống phầnmềm có bản quyền Những nghiên cứu như vậy sẽ phân tích nhiều yếu tố chi phí khácngoài phí đăng ký sử dụng, bao gồm cả phí duy trì - đào tạo và chi phí cơ hội trongtrường hợp xảy ra sự cố Một số phân tích đa đưa ra những kết luận rất khả quan vềFOSS:
Trang 12- Nghiên cứu về TCO do Tập đoàn Robert Frances tiến hành cho thấyGNU/Linux chỉ tốn bằng 40% Microsoft Window và bằng 14% chi phí bỏ ra nếu dùng
hệ điều hành Solaris của Sun Microsystem
- NetProject kết luận rằng tổng chi phí sở hữu GNU/Linux bằng 35% tổng chiphí sở hữu Microsoft Window Thú vị hơn nữa là những khoản tiết kiệm này có nguồngốc không chỉ từ phí đăng ký sử dụng, mà còn liên quan đến nhiều khoản mục khác,bao gồm cả việc tinh giảm nhân viên và cập nhật phần mềm do việc sử dụngGNU/Linux đem lại
- Gartner cho biết sử dụng GNU/Linux trong một cấu hình “tĩnh” sẽ đưa đến kết quả làtiết kiệm được khoảng 15% tổng chi phí sở hữu so với sử dụng Window XP
Merrill Lynch, một công ty tài chính tầm cỡ trên thế giới, gần đây cho biết sửdụng GNU/Linux có thể làm giảm đáng kể chi phí liên quan Đáng lưu ý nhất trongnghiên cứu TCO của công ty này là kết luận “tiết kiệm lớn nhất do Linux đem lạikhông phải từ phí đăng ký sử dụng, mà từ chi phí phần cứng và nhân lực”
3 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ý donà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ợpvớ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
Trang 13Thiế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ònnhiề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 Gần đây, sự ra đời của một số phần mềm quản lý nguồn lực củadoanh nghiệp (Enterprise Resource Planning) như SAP hay Peoplesoft đa giúp đápứng phần nào nhu cầu của thị trường cao cấp, nhưng thị trường dành cho các doanhnghiệp vừa và nhỏ thì hầu như vẫn bị bỏ trống Những phần mềm kế toán cơ bản, tiệnlợi cho người dùng như Quickbooks, Peachtree hay Great Plains cho đến nay vẫn chưa
có các phiên bản phần mềm nguồn mở tương đương
Phát sinh vấn đề như vậy một phần là do thiếu những người vừa giỏi về kỹthuật vừa thạo về kinh doanh Đa số các phần mềm nguồn mở hiện hành được tạo rabởi những người có chuyên môn về mặt kỹ thuật, bức xúc khi gặp phải vấn đề nào đótrong quá trình phát triển phần mềm, phải tìm cách khắc phục bằng một giải pháp mới.Những giải pháp như thế thường mang nặng tính kỹ thuật, chằng hạn như server mạng,ngôn ngữ/môi trường lập trình và các tiện ích phục vụ kết nối mạng Hiếm khi một kỹthuật viên lập trình, nói ví dụ, gặp phải những vấn đề về kế toán và lại có đủ kiến thứckinh doanh để tạo ra được giải pháp kỹ thuật cho vấn đề
Tính tương hỗ với các hệ thống phần mềm đóng
Các phần mềm nguồn mở, nhất là khi cài trên máy để bàn, thường không hoàntoàn tương thích với phần mềm đóng Với những tổ chức đã đầu tư nhiều cho việcthiết lập các định dạng lưu trữ dữ liệu và ứng dụng phần mềm đóng, việc cố gắng tíchhợp những giải pháp phần mềm nguồn mở có thể sẽ rất tốn kém Thay đổi các chuẩnđóng đã được xây dựng với mục đích ngăn chặn tích hợp những giải pháp thay thế sẽchỉ càng làm trầm trọng thêm vấn đề Đến lúc nào đó, khi các công ty đã chuyển từ hệthống chuẩn đóng sang chuẩn mở, thì vấn đề này sẽ dần dần được khắc phục
Trình bày và “đánh bóng” ứng dụng
Phần mềm nguồn mở thường thiếu mất tính tiện dụng vốn là đặc trưng củanhững phần mềm thương mại Các nhà lập trình phần mềm nguồn mở xưa nay vốn chỉquan tâm chủ yếu đến tính năng hoạt động của phần mềm Tạo ra một chương trìnhhoạt động ổn định và có hiệu quả là ưu tiên quan trọng hơn nhiều so với tính dễ sửdụng
Trang 14Ngoài việc thiếu vắng một hệ thống tư liệu bổ trợ có chất lượng cao, giao diện đồhọa với người sử dụng (GUI – Graphical User Interface) của các phần mềm nguồn mởcũng có vấn đề Vì giao diện đồ hoạ trong đa phần các hệ thống phần mềm nguồn mởkhông phải là một nhân tố riêng lẻ mà là tập hợp kết quả từ nhiều dự án khác nhau, cácyếu tố của giao diện thường hoạt động theo trình tự rất khác nhau Chỉ riêng lệnh “lưu dữliệu” của chương trình này cũng đã khác chương trình kia, và đây là điểm khác biệt so vớicác hệ điều hành nguồn đóng như Mac OS X hay Microsoft Windows Việc cắt dán dữliệu giữa các chương trình khác nhau trong môi trường hệ điều hành nguồn mở sẽ bị thiếu
đi tính nhất quán, hoặc thậm chí không thể thực hiện Mặc dù khá nhiều công sức đangđược bỏ ra để thống nhất giao diện cho các chức năng cấu thành, hệ điều hành phần mềmnguồn mở có thể sẽ vẫn ở tình trạng thiếu đồng bộ trong một thời gian nữa
IV Những dự án phần mềm mã nguồn mở tiêu biểu
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ìnhtrong một số ứng dụng có ý nghĩa quyết định hoặc mang tính đặc thù Trong nhiềutrườ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ầuInternet Sau đây chỉ là vài ví dụ nhỏ về những dự án FOSS thành công
1 BIND (Máy chủ DNS)
Những địa chỉ Internet như yahoo.com hay microsoft.com sẽ không thể hoạtđộng nếu như không có các Máy chủ tên miền (DNS) Những máy chủ này sẽ có chứcnăng chuyển đổi những cái tên đơn giản gần gũi với con người thành các định dạng số
mà máy tính có thể nhận dạng, hoặc ngược lại Nếu không có những máy chủ này,người sử dụng sẽ phải thuộc lòng các địa chỉ dạng như 202.187.94.12 để có thể tìmđược một website
Máy chủ Miền tên Internet Berkeley (BIND) điều khiển tới 95% tổng số máy chủDNS trên thế giới, bao gồm hầu hết các máy chủ DNS gốc – những máy chủ nắm giữ hồ
sơ gốc của toàn bộ các tên miền trên Internet BIND là một chương trình phần mềmnguồn mở đăng ký theo giấy phép dạng BSD do Tập đoàn Phần mềm Internet cấp
2 Apache
Chịu trách nhiêm nhận và thực hiện các yêu cầu do chức năng trình duyệt mạnggửi đến, máy chủ Apache là một trong những nền tảng của hệ thống Mạng Toàn Cầu(www) như ta biết đến ngày nay Apache đa vươn lên vị trí số một về máy chủ mạng
Trang 15kể từ năm 1996 và hiện đang nắm giữ 62,53% thị trường máy chủ mạng toàn cầu, gấphơn hai lần thị phần của đối thủ cạnh tranh sát nhất là máy chủ IIS của Microsoft.’
Tất nhiên, những số liệu thống kê ở trên luôn thay đổi hàng tháng Số liệu cậpnhật nhất có thể tìm trên trang web “Khảo sát Máy chủ mạng” do Netcraft vận hành,tại địa chỉ http://news.netcraft.com/archives/web_server_survey.html
3 Máy chủ email
Mạng Internet như ta biết đến ngày nay sẽ không thể tồn tại nếu không cóemail, và một lần nữa, Phần mềm nguồn mở lại đóng vai trò chủ đạo trong lĩnh vựcnày Chức năng của một máy chủ email (đôi khi còn gọi là điểm kết nối vận chuyểnmail – MTA) là chuyển phát thư điện tử của người gửi đến đích định sẵn Những tínhnăng phức tạp hơn, như gửi nối tiếp (forwarding) và gửi đổi chiều (redirection), chặnthư quảng cáo, hay truy ngược địa chỉ, v.v khiến máy chủ email trở thành những hệthống khá tinh vi Nạn thư quảng cáo (hay còn gọi là thư rác) tràn lan hiện nay đangkhiến cho tính an toàn hệ thống trở thành vấn đề cốt lõi đối với nhiều máy chủ, vìnhững kẻ đủ khả năng dội bom đến hộp thư của hàng loạt người thì cũng sẽ có thể tấncông một máy chủ email và vô hiệu hoá nó đối với những người sử dụng chính đáng
Kết quả khảo sát do D.J Bernstein tiến hành năm 2001 cho thấy Unix Sendmailhiện đang nắm giữ thị phần lớn nhất: 42% toàn bộ các máy chủ email trên thế giới Nhưvậy và tỷ lệ chiếm lĩnh của ứng dụng nguồn mở này còn lớn hơn cả thị phần cộng gộp củahai đối thủ liền sau là Microsoft Exchange với 18% thị trường và Unix qmail với 17% thịtrường Lưu ý rằng qmail là một dạng máy chủ email dựa trên nền Unix nhưng khôngphải là phần mềm nguồn mở do các điều kiện cấp phép sử dụng quá hạn chế
4 Open SSH (Công cụ quản trị mạng an toàn)
Khi người dùng kết nối với một máy chủ ở rất xa thì việc lưu thông trên mạngInternet có thể phải qua nhiều khâu trung gian kết nối, khiến cho an toàn thông tin trởthành một vấn đề nổi cộm Công nghệ Vỏ An toàn (SSH) cho phép người quản trị hệthống kiểm soát được các máy chủ từ xa, an tâm khi biết rằng những thông tin họ gửi
đi gần như sẽ không thể bị rút tỉa hoặc làm lạc hướng
OpenSSH, một chương trình nguồn mở sử dụng công nghệ SSH, đa tăng mứcchiếm lĩnh thị trường từ vỏn vẹn 5% trong năm 2000 lên 66,8% vào tháng 4 năm 2002.OpenSSH ra đời lúc đó là kết quả của việc SSH thay đổi quy chế cấp phép theo hướngchặt chẽ hơn
Trang 165 Open Office (Bộ tính năng ứng dụng văn phòng)
Trong khi sản phẩm phần mềm nguồn mở từ lâu đa tỏ rõ ưu thế trong các ứngdụng máy chủ, thì các giải phần phần mềm nguồn mở dùng cho máy con lại tương đốimới Open Office, được xây dựng dựa theo mã nguồn của phần mềm Staroffice - vốn
là một phần mềm bản quyền, có gần đủ các tính năng tương đương với bộ MicrosoftOffice Chương trình này bao gồm một bộ x ử lý văn bản hoàn chỉnh, hệ thống bảngbiểu và phần mềm làm presentation
Một trong những ưu điểm khiến nhiều người quyết định chuyển từ môi trườngWindow sang Open Office là chương trình này có thể đọc hầu hết các văn bản soạnthảo trên nền Window mà không bị khúc mắc gì Điều này giúp cho quy trình chuyểnđổi được thực hiện tương đối dễ dàng và Open Office gần đây đã được triển khai trongnhiều dự án quy mô lớn thay Window bằng Linux Mặc dù thị phần mà Open Officenắm giữ hiện chưa cao, người ta tiên đoán tỷ lệ sử dụng sẽ tăng mạnh theo thời giankhi mà ngày càng nhiều tổ chức nhận ra lợi thế của phần mềm đầy đủ tính năng nhưngchi phí thấp này
Trang 17CHƯƠNG 3: CÔNG CỤ CÀI ĐẶT
I Phần mềm tạo máy áo VMware Workstation 12.0
Phần mềm tạo máy ảo Vmware Workstation là công cụ hữu ích cho các lậptrình viên, chuyên gia quản trị hệ thống và cả những người dùng cá nhân khi muốnkhám phá, thử nghiệm hay đơn giản chỉ là xem qua cho biết một sản phẩm phần mềmmới
Máy tính ảo, đúng với tên gọi nó có mọi chức năng như một máy tính bìnhthường chỉ khác một điều là máy tính ảo chạy trên nền của máy tính thật Một máytính thật chạy phần mềm VMware Workstation có thể hỗ trợ vô số các máy ảo chạytrên nó với giới hạn chỉ là ở dung lượng ổ cứng Các máy tính ảo có thể chạy đồng thời
số lượng tùy thuộc vào lượng bộ nhớ RAM của hệ thống thật, thậm chí các máy ảo nàycòn có thể liên lạc với nhau tạo thành một mô hình mạng ảo Với phần mềm ảo hóa,thì nhà quản trị hệ thống có thể cài đặt một máy ảo chạy hệ điều hành mới để kiểm tratính ổn định, các chuyên gia phát triển phần mềm có thể kiểm tra sản phẩm của mìnhchạy trên nền những hệ điều hành khác nhau một cách nhanh nhất, những nhà nghiêncứu phần mềm độc hại có thể phân tích một virus mới mà không hề gây tổn hại đếnmáy tính thật và người dùng bình thường có thể chạy các phần mềm mà chỉ có thểchạy trên các hệ điều hành cũ
Với VMware Workstation, có thể tạo một hệ thống mạng gồm nhiều máy ảobằng cách sao chép một máy ảo đã cài hoàn chỉnh hệ điều hành và các ứng dụng màkhông cần phải cài từng cái Ngoài ra bạn có thể ghi lại các tác vụ được thực hiện trênmáy ảo thành một đoạn phim hướng dẫn
Trang 18Hình 3.1: Giao diện Vmware Workstation 12.0
Các điểm mới trong VMware Workstation 12
-Hỗ trợ tối đa cho Windows 10 và Ubuntu 15.04,
+ Tạo máy ảo mạnh mẽ
+ Cải thiện khả năng kết nối
+ Hiển thị màn hình độ phân giải cao
+ Xây dựng mạng kết nối ảo
+ Giao diện người dùng
Cách sử dụng phần mềm VMware Workstation 12.0:
Bước 1: Cài đặt VMware Workstation ( cài bình thường như bao phần mềm
khác, cứ Next là OK, nhớ điền số Serial)
Bước 2: Chạy VMware Workstation rồi Khởi tạo cấu hình và cài đặt hệ điều
hành cho máy ảo:
Trang 19Đầu tiên, khởi động chương trình VMware-Workstation, trên giao diện chínhcủa chương trình, bạn nhấp vào menu File > New > Virtual Machine (Ctrl+N) để tiếnhành khởi tạo cấu hình trên máy ảo
Hộp thoại New Virtual Machine Wizard hiện ra, bấm nút Next , chọn mục
Typical rồi nhấn Next, chọn loại hệ điều hành (Guest operating system) và phiên bảncủa hệ điều hành (Version) mà bạn dự định muốn cài đặt trên máy ảo của mình rồibấm Next , đặt tên (Virtual machine name) và chọn nơi lưu trữ cho máy ảo (Location).Bấm nút Next
Trong Network connection chọn loại kết nối theo từng nhu cầu của bạn Nếu
bạn muốn thiết lập mạng tương tác giữa máy thật và ảo thì chọn loại kết nối Usebridged networking Bấm Next rồi chọn dung lượng cho ổ cứng của máy ảo, mặc định
là 8 GB Bấm Finish
Sau khi tạo xong thì máy ảo này cũng sẽ có đầy đủ các thiết bị như một PC bìnhthường, nghĩa là có thể vào Bios (ảo) để thiết lập các thông số cho Bios ảo
Các tùy chọn trên khung Device:
Memory: thiết lập dung lượng Ram cho máy ảo
Hard Disk (IDE 0:0): Thông số dung lượng về ổ cứng của máy ảo
CD-ROM (IDE 1:0) : Chọn Use physical drive để sử dụng ổ CD-ROM vật lý của máy
thật Nếu muốn cài đặt hệ điều hành từ file ảnh (.ISO) thì chọn Use ISO image Kinhnghiệm cho thấy chúng ta nên tạo file ảnh (.ISO) cho đĩa cài đặt, để có thể tiến hànhnhanh hơn
Ethernet: Có thể chọn các loại kết nối (Network Connection) để phù hợp với nhu cầu
của mọi người
USB Controller : Tùy chọn cho hay không sử dụng kết nối USB trong máy ảo (mặc
định sẽ tự động cho phép sử dụng USB trong máy ảo)
Sound Adapter: Sử dụng Card âm thanh mặc định của máy ảo hay Card âm thanh của
máy thật
Ngoài ra, có thể vào menu Edit > Preferences để cấu hình thêm về các chế độcủa Keyboard and Mouse, Cursor, phím nóng chuyển giao hiệu lực của bàn phím vàcon trỏ chuột giữa máy thật và máy ảo (Hot Keys), chế độ chạy toàn màn hình hay cửa
sổ (Display), tùy chọn về bộ nhớ Ram (Memory), chế độ bảo mật bằng password chomáy ảo (Lockout)…
Trang 20Mặc định, dung lượng Ram cho máy ảo là 128 MB Tuy nhiên, bạn cũng có thểthay đổi cấu hình các thiết bị phần cứng trên máy ảo này, bằng cách nhấp vào nút
“Edit virtual machine settings” (trong mục Commands trên giao diện chính của máyảo) để xuất hiện hộp thoại Virtual Machine Settings Trong hộp thoại này, bạn có thểthay đổi lại cấu hình phần cứng theo nhu cầu riêng của mình
Bây giờ, nhấn vào nút “Start this Virtual Machine” (trong mục Commands trêngiao diện chính của máy ảo) để bắt đầu cài đặt hệ điều hành mà bạn mong muốn chomáy ảo
Nếu phần tùy chọn CD-ROM, chọn Use physical drive thì bạn đưa đĩa hệ điềuhành vào ổ CD-ROM, nếu đĩa CD chứa hệ điều hành không tự boot thì bạn cần vàoCMOS của máy ảo điều chỉnh lại chế độ ưu tiên boot cho CD-ROM (thao tác thựchiện tương tự như trên máy thật ) bằng cách nhấn phím F2 để vào Setup
Nếu phần tùy chọn CD-ROM bạn chọn Use ISO image thì không cần đĩa CD
Lưu ý: để các phím trên bàn phím có hiệu lực trong máy ảo thì phải dùng chuột
nhấn chuột trái vào màn hình của máy ảo, và để chuyển giao hiệu lực bàn phím cùngvới con trỏ chuột sang máy thật trở lại , bạn nhấn Ctrl + Alt
Bước 3: Khởi động hệ điều hành trên máy ảo:
Để khởi động hệ điều hành trên máy ảo, bạn nhấn “Start this Virtual Machine”
và thao tác tắt máy cũng như bình thường trên máy thật, tức là vào Start > Turn ofComputer -> Turn off
II Hệ điều hành mã nguồn mở Ubuntu 15.10
1 Khái niệm
Ubuntu là một hệ điều hành máy tính dựa trên Debian GNU/Linux, một bảnphân phối Linux thông dụng Tên của nó bắt nguồn từ "ubuntu" trong tiếng Zulu, cónghĩa là "tình người", mô tả triết lí ubuntu: "Tôi được là chính mình nhờ có nhữngngười xung quanh," một khía cạnh tích cực của cộng đồng Mục đích của Ubuntu baogồm việc cung cấp một hệ điều hành ổn định, cập nhật cho người dùng bình thường,
và tập trung vào sự tiện dụng và dễ dàng cài đặt Ubuntu đã được đánh xếp hạng là bảnphân phối Linux thông dụng nhất cho máy tính để bàn, chiếm khoảng 30% số bảnLinux được cài đặt trên máy tính để bàn năm 2007
Ubuntu là phần mềm mã nguồn mở tự do, có nghĩa là người dùng được tự dochạy, sao chép, phân phối, nghiên cứu, thay đổi và cải tiến phần mềm theo điều khoản
Trang 21của giấy phép GNU GPL Ubuntu được tài trợ bởi Canonical Ltd (chủ sở hữu là mộtngười Nam Phi Mark Shuttleworth) Thay vì bán Ubuntu, Canonical tạo ra doanh thubằng cách bán hỗ trợ kĩ thuật Bằng việc để cho Ubuntu tự do và mở mã nguồn,Canonical có thể tận dụng tài năng của những nhà phát triển ở bên ngoài trong cácthành phần cấu tạo của Ubuntu mà không cần phải tự mình phát triển.
2 Các chức năng:
Ubuntu kết hợp những đặc điểm nổi bật chung của hệ điều hành nhân Linux,như tính bảo mật trước mọi virus và malware, khả năng tùy biến cao, tốc độ, hiệu suấtlàm việc, và những đặc điểm riêng tiêu biểu của Ubuntu như giao diện bắt mắt, bóngbẩy, cài đặt ứng dụng đơn giản, sự dễ dàng trong việc sao lưu dữ liệu và sự hỗ trợ củamột cộng đồng người dùng khổng lồ
Hình 3.2: Trang đăng nhập vào Ubuntu
Trang 22Khi đã đăng nhập xong, sẽ xuất hiện trang giao diện của Ubuntu
Hình 3.3: Giao diện của ubuntu
Đó là giao diện Ubuntu Unity được nhà sản xuất Canonical tạo ra Bên trái, làthanh Launcher, nơi chứa tất cả các ứng dụng của máy tính Những ứng dụng cơ bảnđược nhà sản xuất tích hợp sẵn như trình duyệt Firefox Đây là trình duyệt rất mạnh
mẽ trên Ubuntu Có thể chúng ta đã sử dụng nó trên windows, nhưng trên Ubuntu thì
nó mượt hơn hẳn Bên trên nó là Files Nơi chứa tất cả dữ liệu của chúng ta Phía bêndưới là những ứng dụng văn phòng (không trả phí) như LibreOffice Writer, Calc vàImpress Nó lần lượt tương đương với trình soạn thảo văn bản Microsoft word, bảngtính điện tử vả bảng thuyết trình Powerpoint Đây là những ứng dụng với rất nhiều tínhnăng mạnh mẽ, có khả năng tương thích cao với những định dạng của MicrosoftOffice Ngay dưới là "Ubuntu Software Center", đây được xem là siêu thị phần mềm.Với Ubuntu bãn sẽ không mất nhiều thời gian để tìm kiếm ứng dụng trên web nữa, chỉcần nhập tên ứng dụng cần tìm là có ngay Khi đã tìm được ứng dụng cần thiết, chỉ cầnnhần install và nhập mật khẩu là có thể cài đặt phần mềm yêu thích
Trang 23Hình 3.4: Tìm kiếm ứng dụng trong Ubuntu Software
Cùng cực bên trên của Launcher là một biểu tượng vòng xoáy Ubuntu Nó đượcxem là công cụ tìm kiếm của OS Bất cứ thứ gì có trong máy tính của bạn nó đều kiểm soát
Từ văn kiện, nhạc phẩm hình ảnh và có cả tìm kiếm nội dụng trực tuyến trên internet
Di chuột ra bên trái của trình tìm kiếm này bạn có thể phân loại mước độ tìmkiếm Phần Categories là hạng mục tìm kiếm từ ứng dụng, dữ liệu đến web, chỉ cầntích vào hạng mục tìm kiếm và đánh tên bạn cần tìm là ra ngay kết quả
Khi cài xong một ứng dụng nào đo,có thể nó không hiện trên thanh Launcher.Vậy thì bạn chỉ cần vào ô tìm kiếm Dash Broad, tìm ứng dụng và di nó ra bên thanhLauncher
Hình 3.5: Tìm kiếm Source
Trang 24Phía bên dưới là phần tìm kiếm Source.Bạn có thể tìm thấy nội dung từ cáctrang nổi tiếng như Google Drive, Yelp, Zotero Nói chung rà phần này rất dễ thíchứng.
Hình 3.6: Tìm kiếm các ứng dụng trự tuyến
Phía bên trên (trái) là thanh thông báo menu các kết nối (wifi, Mobilebroadband, trĩnh gõ tiếng Việt,ngày giờ ) và một bánh răng System Setting chứa tất cảcác thiết đặt của hệ điều hành
Bên trong phần System Setting là nơi chứa tất cả các cài đặt của hệ điều hành.Phần này tôi đánh giá cao nhà sản xuất Canonical Nó được thiết đặt rất trực quan, đơngiản và dễ làm quen Đươc phân hành 3 hạng mục chính là Personal (cá nhân),Hardware (phần cứng) và System (hệ thống)
Cập nhật hệ thống
Mặc dù khi cài đặt Ubuntu bạn đã tiến hành cập nhật hệ thống để đảm đảo sửdụng các phương tiện từ bên thứ 3 Nhưng chúng ta vẫn phải tiến hành cập nhật thêmmột lần nữa cho chắc chắn hệ thống được cập nhật và nâng cấp đầy đủ nhất
Mở Terminal (Ctrl+Alt+T) và thực hiện 2 lệnh sau
Sudo apt-get update
Đây là lệnh cập nhật các gói cài đặt có sẵn trong Ubuntu
Tiếp theo thực hiện tiếp lệnh
Sudo apt-get upgrade
Đây là lệnh cập nhật phần mềm đầy đủ nhất cho hệ thống của bạn Đây thựcchất là màn hình xử lý các lệnh của Ubuntu, khi chạy ở chếđộ Text Trong chế độ đồ
Trang 25Accessories (Bổ trợ) Đôi khi có những lệnh phải thực hiện qua thao tác dòng lệnh Vềsau có nhưng chỗ nào cần nhập các lệnh thì bạn chú ý những lệnh này phải nhập trongcửa sổ dòng lệnh, và được chúng tôi bôi màu xám nhạt.
Cài đặt Fonts chữ msttcorefonts
Hệ thống Ubuntu khi cài đặt xong nó chưa có fons chữ đẹp nhất Vì vậy bạncần phải cài đặt fons chữ khi xem các văn bản trên website Tuy nhiên sự khác biệt của
nó là rất nhỏ
Sudo apt-get install msttcorefonts
Giải trí với trình nghe nhạc Rhythmbox
Ubuntu được tích hợp sẵn trình nghe nhạc Rhythmbox Nhìn rất đơn giản vàtrực quan Không màu mè khó tiếp cân như windows nhưng tôi đánh giá cao khả năngchơi nhạc của nó Theo như nhà sản xuất canonical công bố thì Rhythmbox có thể chơitốt với đĩa CD và máy nghe nhạc xách tay
Trình xem phim
Tiếp theo phần giải trí giải trí, lại một lần nữa tôi đánh giá cao khả năng củaUbuntu Cũng chẳng màu mè pho trương gì Nhưng cùng là một video độ phân giả 4K.Ubuntu có thể phát mượt mà không gặp chút trở ngại gì hết Cũng là một video 4Knhưng windows 10 chỉ có thể phát hình còn âm thanh tắt lịm
III Cài đặt XAMPP
- Tải xampp mới nhất https://www.apachefriends.org/download.html
- Sau khi download về, các mở terminal lên và di chuyển đến thư mục chứa nó
(thường là ở Download) bằng các lệnh sau:
Trang 26Hình 3.7: Lệnh cài đặt XAMPP
Chức năng từng câu lệnh:
ls để liệt kê danh sách file và forder có trong thư mục hiện tại là Download
chmod +x cấp quyền chạy cho file
sudo /xampp… thực hiện chạy file bằng quyền quản trị, sau khi thực hiện lệnh này
bạn cần nhập password
Hình 3.8: Giao diện cài đặt XAMPP
Trang 27Hình 3.9: Giao diện chạy XAMPP
Hình 3.10: Giao diện sau khi chạy XAMPP thành công
Trang 28Hình 3.11: Giao diện chính của XAMPP
- Khởi động lại XAMPP
sudo /opt/lampp/lampp restart
- Bây giờ mở trình duyệt lên vào localhost: http://localhost
- Chọn ngôn ngữ là English ta sang giao diện chính
- Mở XAMPP thực hiện lệnh sau:
- sudo /opt/lampp/lampp start
Hình 3.12: Giao diện Apache
Trang 29Hình 3.13: Giao diện php
Hình 3.14: Giao diện phpMyAdmin
Trang 30Hình 3.15: Giao diện MySQL
IV Hệ thống quản lý học tập Moodle
1 Giới thiệu
Moodle (viết tắt của Modular Object-Oriented Dynamic Learning Environment)
là một phần mềm nền cho một hệ quản trị đào tạo (LMS) Moodle được sáng lập năm
1999 bởi Martin Dougiamas, người tiếp tục điều hành và phát triển chính của dự án.Moodle hiện là phần mềm được sử dụng rộng rãi với 38.896 trang web đã đăng ký và16.927.590 người dùng trong 1.713.438 khóa học (tính đến tháng 1 năm 2008)
Moodle được thiết kế với mục đích tạo ra những khóa học trực tuyến với sựtương tác cao Tính mã mở cùng độ linh hoạt cao của nó giúp người phát triển có khảnăng thêm vào các mô đun cần thiết một cách dễ dàng
Moodle được đăng ký theo bản quyền GNU GPL Moodle có các tính năng cầnthiết cho một hệ thống đào tạo trực tuyến, ngoài ra còn có thêm một số tính năng độcđáo (ví dụ như có thêm bộ lọc, )
Moodle được xây dựng theo phân đoạn, và nó dễ dàng được mở rộng bằng cáchthêm các thành phần phụ Cấu trúc cơ bản của Moodle hỗ trợ các thành phần phụ sau:
- Các hoạt động
- Các nguồn tài nguyên
- Các kiểu câu hỏi