Trong mấy năn gần đây sự phát triển mạnh mẽ của nghành CNTT đã làm thay đổi cục diện thế giới. Dường như mọi hoạt động luôn gắn liền với CNTT.
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CÔNG NGHỆ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN LUẬN VĂN TỐT NGHIỆP Đề tài: “ỨNG DỤNG MÃ NGUỒN MỞ TRONG VIỆC XÂY DỰNG VÀ QUẢN TRỊ WEBSITE” Giáo viên hướng dẫn : ThS HOÀNG THẾ ANH Sinh viên thực : NGUYỄN QUANG CHƯƠNG Lớp : TIN1102 Khóa : 11 Hà Nội, tháng năm 2010 LỜI MỞ ĐẦU Trong năn gần phát triển mạnh mẽ nghành CNTT làm thay đổi cục diện giới Dường hoạt động gắn liền với CNTT Ngày 11/01/2006 Việt Nam thức thành viên WTO, từ gia nhập WTO Việt Nam có nhiều thuận lợi khó khăn Trước tình hình việc phổ cập tin học, đào tạo CNTT, vận dụng CNTT vào lĩnh vực khác Kinh tế cần thiết Nhưng khó khăn gặp phải là chi phí mua sử dụng sản phẩm phần mềm thương mại (Phần mềm có quyền) đắt cộng thêm tình hình vi phạm quyền phần mềm nước ta chiếm tỷ lệ cao Vậy, để có sử dụng phần mềm giá rẻ chí miễn phí mà khơng vi phạm quyền, dễ sử dụng tính bảo mật cao giải pháp tối ưu sử dụng phần mềm mã nguồn mở Trong kinh tế mở nay, doanh nghiệp muốn thu hút khách hàng tạo nhiều lợi nhuận ngồi yếu tố cần thiết khác cần phải có việc quảng bá thương hiệu, giới thiệu quảng cáo sản phẩm, dịch vụ giao dịch thuận lợi nhanh chóng doanh nghiệp với khách hàng đối tác quan trọng Giải pháp tối ưu cho vấn đề nêu xây dựng Website cho doanh nghiệp, cách mà doanh nghiệp sử dụng nhiều thời đại CNTT phát triển mạnh phát triển Internet Nhưng vấn đề khó khăn mà doanh nghiệp doanh nghiệp vừa nhỏ nước ta gặp phải để xây dựng quản trị Website tốt, quản trị dễ dàng mà chi phí rẻ khơng phải đơn giản, thêm vào khơng phải doanh nghiệp có nhân viên chun mơn cao CNTT Đứng trước tình hình vấn đề nêu trên, với tư cách sinh viên nghành CNTT em mạnh dạn chọn đề tài “ ỨNG DỤNG MÃ NGUỒN MỞ TRONG VIỆC XÂY DỰNG VÀ QUẢN TRỊ WEBSITE” để tổng hợp tất vấn đề liên quan đến Mã nguồn mở lĩnh vực cơng nghệ Web nhằm đóng góp phần giải vấn đề nêu Chương I – Phần mềm mã nguồn mở I – Phần mềm mã nguồn mở Khái niệm Phần mềm mã nguồn mở, gọi ngắn gọn phần mềm nguồn mở (PMNM) hay phần mềm tự (Free Open Source Software - FOSS) phần mềm cung cấp dạng mã nguồn, không miễn phí giá mua mà chủ yếu miễn phí quyền Người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo số nguyên tắc định giấy phép PMNM (ví dụ General Public Licence – GPL) mà không cần xin phép ai, điều mà họ không phép làm phần mềm nguồn đóng (hay phần mềm thương mại) Nhà cung cấp phần mềm nguồn mở có quyền yêu cầu người dùng trả số chi phí dịch vụ bảo hành, huấn luyện, nâng cấp, tư vấn, vv tức dịch vụ thực thực để phục vụ người dùng, không bán sản phẩm nguồn mở tài sản trí tuệ chung, khơng phải tài sản riêng nhà cung cấp Có học thuyết PMNM là: Tổ chức phần mềm tự FSF(Free Software Foundation) Phần mêm miễn phí nhằm mục đích bảo vệ quyền tự người dùng: Quyền tự chạy chương trình với mục đính (nhưng phải tuân theo giấy phép GNU) Quyền tự nghiên cứu cách thức vận hành chương trình thích ứng cho phù hợp với nhu cầu (Quyền truy cập mã nguồn điều kiện tiên cho quyền tự này.) Quyền tự thêm chức cho chương trình cơng bố tính đến cơng chúng để tồn cộng đồng hưởng lợi Chương trình sáng kiến nguồn mở OSI(Open Source Initiative) Là tổ chức quốc tế quản lý xúc tiến định nghĩa mã nguồn mở, đồng thời phê chuẩn giấy phép phần mềm nguồn mở thơng qua chương trình chứng OSI OSI trì danh sách giấy phép phần mềm nguồn mở, giấy phép tuân theo định nghĩa mã nguồn mở sản phẩm cơng bố, phân phối có kèm theo giấy phép danh sách giấy phép OSI Chú trọng giá trị kỹ thuật việc tạo phần mềm mạnh, có độ tin cậy cao phù hợp với giới kinh doanh, đặc biệt lợi ích thực tiễn phương pháp xây dựng quảng bá PMNM Giấy phép nguồn mở GNU(General Public License – GPL) Giấy phép Công cộng GNU (GNU General Public License, viết tắt GNU/GPL hay GPL) giấy phép phần mềm tự phổ biến nhất, đầu Richard Stallman viết cho dự án GNU Phiên hành giấy phép phiên năm 1997, phiên sử dụng nhiều phiên năm 1991 Lịch sử đời phát triển mã nguồn mở Năm 1984, Richard Stallman, nhân viên phịng thí nghiệm trí tuệ nhân tạo Học viện MIT (Massachusett Institute of Technology) – Mỹ, bắt đầu vận động cho phần mềm miễn phí Ông xây dựng dự án GNU cho giấy phép Mã nguồn mở GPL, hai tảng then chốt cho phát triển Mã nguồn mở PMNM thực trở thành khuynh hướng rõ rệt khoảng năm 1991, sau sinh viên Phần Lan 25 tuổi, Linus Torvalds phát triển công bố thành phần cốt yếu hệ điều hành Linux Và đến năm1997 GNU/Linux chiếm 25% thị trường máy chủ Năm 1998, The Open Source Initiative (OSI) – tổ chức xúc tiến phần mềm nguồn mở miễn phí thành lập hai nhà lập trình Eric Raymond Bruce Perens Cũng năm 1998 Nescape công bố mã nguồn Navigator, thuật ngữ “Nguồn mở” đời Ra đời khơng lâu PMNM trỏ thành tượng tồn cầu Hiện nay, mã nguồn mở - Cuộc Cách mạng công nghiệp phần mềm phát triển tất yếu 4 Lợi ích hạn chế việc sử dụng PMNM 4.1 Lợi ích PMNM Ưu điểm chi phí thấp Chu kỳ sống PMNM thường bắt đầu phần mềm nhỏ, miễn phí Phần mềm thường phát triển tới beta, nhận ủng hộ tài trợ rộng rãi cộng đồng Những phần mềm nhanh chóng có thương hiệu riêng nhóm phát triển bắt đầu đưa dịch vụ hỗ trợ người dùng có chi phí.Ngồi mã nguồn mở có giai đoạn kiểm nghiệm lâu dài hơn, cho phép nhiều thời gian để phát triển hướng tới ổn định cao Đưa vào sử dụng ổn định đồng nghĩa với giảm cố chi phí Ưu điểm thứ tính đa dạng open source Một phần mềm tốt mơi trường nhanh chóng nhóm phát triển khác triển khai mơi trường khác Các tính cộng đồng PMNM bổ sung vào Để làm vậy, phần mềm có kiến trúc mở, theo dạng module để sẵn sàng cấu hình tính Ưu điểm thứ độ ổn định lỗi Một chọn giải pháp PMNM, ta ln biết rõ tồn bug, bug sửa lúc nào, phiên nào, Điểm khác hẳn phần mềm PMND chỗ chúng có bug khơng biết lúc sửa Bản chất PMNM phát triển nhóm nhỏ dùng test nhiều người, hàng trăm, hàng ngàn người Ưu điểm thứ tính bảo mật Với phần mềm PMND, bảo mật có cách che giấu mã nguồn, ngược lại, PMNM cho phép nhiều người dùng nhận biết đoạn mã tuỳ biến chúng Do PMNM phát triển cộng đồng nên phản ứng người diễn nhanh cố bảo mật phát Các lỗi hay lỗ hổng bảo mật sửa nên PMNM cần miếng vá (patch) cơng nguy hiểm Với khả định dạng không hạn chế nên công ty, tổ chức hay cá nhân tùy biến cho phù hợp với nhu cầu mục đích Điều cho phép mã nguồn mở liên tục phát triển dẫn đến ổn định tin cậy hơn, hiệu PMNM cao Ngồi dùng PMNM giảm phụ thuộc vào nhập CNTT, không lệ thuộc vào nhà sản xuất tình trạng vi phạm quyền phần mềm Phát triển hệ thống open source hồn tồn khơng dễ dàng cần thiết kế, tổ chức đắn chuyên nghiệp từ đầu Nếu không, tiếp nhận hay đủ "mở" để cộng đồng PMNM hỗ trợ tiếp nhận Chính lý mà hầu hết PMNM phát triển lập trình viên chuyên nghiệp, giàu kinh nghiệm, giữ vị trí quan trọng cơng ty IT hay phòng IT lớn Những yếu tố cho thấy chất lượng open source hịan tồn không thua phần mềm sản xuất bán hãng phần mềm tiếng 4.2 Hạn chế mã nguồn mở Phần mềm open source chưa đạt chuẩn mặt hỗ trợ khách hàng tốt thường khơng có cơng ty, đại diện đứng quản lý khách hàng Tất yêu cầu hỗ trợ điện thọai mà phải dùng forum, mail hay newsgroup, Các PMNM thường không quan tâm đến việc quản cáo, giới thiệu sản phẩm Chúng thường biết tới nhiều cộng đồng nhà phát triển phần mềm, người chuyên IT nhiều doanh nghiệp Với nhóm phát triển open source, khái niệm "bán" thay "nhận tài trợ" Vì vậy, PMNM khơng mong đợi tài từ cá nhân người dùng mà dựa vào tài trợ chủ yếu từ tổ chức lớn PMNM mang tính chất "mở" tính phần mềm Điều có nghĩa đơi phần mềm trở nên khó sử dụng phức tạp hay đơn giản q tính mà cung cấp Bản chất việc đưa tính nhóm phát triển muốn cộng đồng PMNM có nhiều khả để thay đổi biến hóa nên cần tuân theo chuẩn định để giao tiếp hay tích hợp với phần mềm khác Mã nguồn mở thường tập trung vào mã mà ý đến thiết kế giao diện phát triển tiện ích, gây nên nhàm chán bất tiện cho người dùng Các ứng dụng kinh doanh đặc thù thói quen người dùng hạn chế PMNM Tuy nhiên sản phẩm PMNM hướng tới giao diện người dùng thân thiện phát triển nhiều ứng dụng Một số dự án Mã nguồn mở thành công 5.1 HĐH GNU/Linux Linux tên gọi hệ điều hành máy tính tên hạt nhân hệ điều hành Nó có lẽ ví dụ tiếng phần mềm tự việc phát triển MNM Phiên Linux Linus Torvalds viết vào năm 1991, lúc ơng cịn sinh viên Đại học Helsinki Phần Lan Ông làm việc cách hăng say vòng năm liên tục cho đời phiên Linux 1.0 vào năm 1994 Bộ phận chủ yếu phát triển tung thị trường quyền GNU General Public License Do mà tải xem mã nguồn Linux Một cách xác, thuật ngữ "Linux" sử dụng để Nhân Linux, tên sử dụng cách rộng rãi để miêu tả tổng thể hệ điều hành giống Unix (còn biết đến tên GNU/Linux) tạo việc đóng gói nhân Linux với thư viện công cụ GNU, phân phối Linux Thực tế tập hợp số lượng lớn phần mềm máy chủ web, ngơn ngữ lập trình, hệ quản trị sở liệu, môi trường làm việc desktop GNOME KDE, ứng dụng thích hợp cho cơng việc văn phịng OpenOffice Khởi đầu, Linux phát triển cho dòng vi xử lý 386, hệ điều hành hỗ trợ số lượng lớn kiến trúc vi xử lý, sử dụng nhiều ứng dụng khác từ máy tính cá nhân siêu máy tính thiết bị nhúng máy điện thoại di động Ban đầu, Linux phát triển sử dụng người say mê Tuy nhiên, Linux có hỗ trợ cơng ty lớn IBM Hewlett-Packard, đồng thời bắt kịp phiên Unix độc quyền chí thách thức thống trị Microsoft Windows số lĩnh vực Sở dĩ Linux đạt thành công cách nhanh chóng nhờ vào đặc tính bật so với hệ thống khác, chi phí phần cứng thấp, tốc độ cao (khi so sánh với phiên Unix độc quyền) khả bảo mật tốt, độ tin cậy cao (khi so sánh với Windows) đặc điểm giá thành rẻ, không bị phụ thuộc vào nhà cung cấp Một đặc tính trội phát triển mơ hình phát triển phần mềm nguồn mở hiệu Các phân phối Linux Linux có nhiều phân phối khác nhau, phần tính chất nguồn mở Sau số phân phối chủ yếu: Tên phân Phiên phối Trang web thức Các tương tự Kubuntu, Ubuntu 9.10 www.ubuntu.com Xubuntu, Edubuntu, Debian GNU/Linux 5.0 www.debian.org Ultimate Edition 1.7 Red Hat 5.0 www.redhat.com/rhel/ 12 www.fedoraproject.org 11 www.novell.com/linux/ Mint www.linuxmint.com Knoppix 5.3.1 www.knoppix.com/ PCLinuxOS 2008 www.pclinuxos.com/ Mandrake 2007.0 www.madrivalinux.com CentOS www.centos.org/ Gentoo 10.0 www.gentoo.org/ Slackware 12.1 www.slackware.com/ 2008 www.opensolaris.org/ Enterprise Linux Fedora SUSE Linux Enterprise Desktop Xandros SLAX Easys Sabayon Dreamlinux OpenSolaris OpenSUSE 10.3, Mandriva Hồng kỳ linux Puppy linux Hacao Linux 4.21 Vubuntu 1.0 Asianux 2.0 http://www.asianux.com/ Asianux Server SliTaz 2.0 http://www.slitaz.org/ GNU/Linux Fenix Desktop 2009 Linpus http://www.hacao.com/ http:// www.rongvietnam.vn/ http://www.linpus.com/ Linpus Linux 5.2 BIND (máy chủ tên miền) BIND( Berkely Internet Name Domain) máy chủ tên miền DNS Internet, đặc biệt hệ thống tựa Unix Được hỗ trợ Internet Systems Consortium, BIND ban đầu tạo sinh viên trường University of California, Berkely phiên 4.3BSD Sự phát triển BSD kết hợp cam kết thương mại quân hầu hết tính BIOND tài trợ nhà phân phối UNIX nhằm cạnh tranh với hệ thống DNS Microsoft đưa 5.3 Apache (máy chủ Web) Apache HTTP Server, gọi ngắn gọn Apache, hệ thống máy chủ Web phổ biến môi trường Wordl Wide Web Apache phát triển bảo trì cộng địng phát triển nguồn mở (Apache Software Foundation) chạy hệ điều hành khác nhau: Unix, FreeBSD, Linux, Solaris, Novell NetWare, Mac OS X, Microsoft Windows Apache thuộc dạng free software open source software giấy phép Apache License Chịu trách nhiêm nhận thực yêu cầu chức trình duyệt mạng gửi đến, máy chủ Apache tảng hệ thống Mạng Toàn Cầu (WWW) ta biết đến ngày Apache vươn lên vị trí số máy chủ mạng kể từ năm 1996 nắm giữ 62,53% thị trường máy chủ mạng toàn cầu, gấp hai lần thị phần đối thủ cạnh tranh sát máy chủ IIS Microsoft ... XÂY DỰNG VÀ QUẢN TRỊ WEBSITE? ?? để tổng hợp tất vấn đề liên quan đến Mã nguồn mở lĩnh vực công nghệ Web nhằm đóng góp phần giải vấn đề nêu Chương I – Phần mềm mã nguồn mở I – Phần mềm mã nguồn mở. .. thích hợp để xây dựng tinh chỉnh Có hàng trăm ngàn gói mã nguồn mở phổ biến, bao quát nhiều lĩnh vực phần mềm, ngày phát triển nhiều Các giải pháp mã nguồn mở Các ứng dụng quản trị nội dung... phiên làm việc SSH Mã hoá - thiết lập kênh làm việc mã hoá Chứng thực - xác thực người sử dụng có quyền đăng nhập hệ thống 5.6 Open Office (bộ ứng dụng văn phòng) Open office ứng dụng văn