Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 62 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
62
Dung lượng
4,74 MB
Nội dung
ỏn tt nghip GVHD:ThS V Vn Nam ================================================================================================ Lời cảm ơn ỏn Tỡm hiu CMSJoomla , ng dng xâydựngWebsite Thng mi din t thực hiện trong kỳ bảo vệ ỏn là đề tài mà em rất quan tâm vì trong xó hi phỏt trin ngy nay vic buụn bỏn qua mng ó tr thnh vn ph bin.Qua mng mi ngi cú th trao i, qung bỏ cỏc phm ca mỡnh, giỳp tit kim thi gian, chi phí, khụng gii hn v khong cỏch a lý, a mi ngi xớch li gn nhau hn . . Tuy đã rất cố gắng trong việc tìm hiểu, nghiên cứu, phân tích và thiết kế trang web nhng chắc chắn sẽ không tránh khỏi những thiếu sót. Rất mong nhận đợc sự đóng góp ý kiến của các thầy cô giáo và các bạn để Website ngày càng hoàn thiện hơn. Em xin chõn thnh cm n Ban chủ nhiệm khoa CNTT cựng cỏc thy cụ trong b mụn K thut mỏy tớnh đã tạo cho em những điều kiện thuận lợi nhất để em có thể hoàn thành ỏn tốt nghiệp của mình. Đặc biệt là sự tận tình quan tâm dìu dắt ca Thy giỏo - ThS V Vn Nam ó giúp em rất nhiều trong sut quỏ trỡnh lm ỏn. Cuối cùng em xin cảm ơn gia đình, bạn bè và tập thể lớp 46K 3 - CNTT - những ngời luôn bên cạnh động viên, ủng hộ em trong suốt quá trình học tập và thực hiện ỏn. Em xin chân thành cảm ơn! Sinh viên thực hiện : Nguyn Quang Vinh ================================================================================================= Sinh viên:Nguyn Quang Vinh 1 ỏn tt nghip GVHD:ThS V Vn Nam ================================================================================================ Lời nói đầu Ngày nay, khái niệm phần mềm mã nguồn mở đã không còn xa lạ với nhiều ngời và đợc ứngdụng ngày càng rộng rãi trong các tổ chức và doanh nghiệp. Đợc đánh giá là một phơng tiện hữu hiệu để san sẻ sự thịnh vợng của thế giới công nghiệp hoá hiện đại hoá sang các nớc đang phát triển, sự ra đời của phần mềm nguồn mở thực sự là một cuộc cách mạng của công nghiệp phần mềm. Gia nhập vào WTO, Việt Nam tiến thêm một bớc nữa trên con đờng hội nhập thế giới và vấn đề bản quyền ngày càng đợc siết chặt hơn. Theo thống kê sơ bộ hiện nay ở Việt Nam, 97% phần mềm sử dụng không có bản quyền, nếu mua phải bỏ ra trên 200 triệu USD, đây là vấn đề rất bức xúc của Chính phủ cũng nh các tổ chức CNTT ở Việt Nam ứngdụng phần mềm mã nguồn mở Joomla trong thiết kế Website đang đợc sử dụng phổ biến trên thế giới cũng nh ở Việt Nam. Vì vậy ỏn tốt nghiệp này em muốn giới thiệu tới thầy cô và các bạn phần mềm mã nguồn mở này. Đồng thời áp dụng để xâydựngwebsite thng mi in t minh họa cho những tính năng nổi bật của phần mềm mã nguồn mở Joomla. ỏn đợc chia làm 4 nội dung chính: Phần I: Tổng quan về phần mềm nguồn mở Phần II: Giới thiệu về gói mã nguồn mở Joomla Phần III: Thiết kế và xâydựngwebsite thng mi in t Phần IV: Một số màn hình giao diện chính của website Phn V : ỏnh giỏ v hng phỏt trin ================================================================================================= Sinh viên:Nguyn Quang Vinh 2 ỏn tt nghip GVHD:ThS V Vn Nam ================================================================================================ Phần I: Tổng quan về phần mềm nguồn mở 1. Giới thiệu phần mềm nguồn mở trên thế giới Phần mềm nguồn mở (OSS Open Source Sofware) có lịch sử phát triển qua hàng chục năm. Lợi ích của phần mềm nguồn mở có thể thấy rõ qua sự hình thành của các cộng đồng nguồn mở với các sản phẩm có giá trị cao trong thực tế và cả giá trị trong đào tạo. Sự ra đời và phát triển của phần mềm nguồn mở: Hơn 2 thập kỉ trớc, khi máy tính lần đầu tiên vơn tới mã nguồn của các trờng đại học và đợc truyền đi miễn phí, các nhà lập trình cho rằng, sẽ đợc trả tiền cho việc lập ra chơng trình chứ không phải bản thân các chơng trình đó. Sự việc thay đổi khi máy tính tiến đến thế giới thơng mại và các công ty bắt đầu phát triển, cấp phép cho phần mềm dựa trên nền tảng thơng mại, hạn chế sự truy cập mã nguồn. ý tởng về công khai mã nguồn đã xuất hiện ngay ở những ngày đầu của nền Công nghệ thông tin dới những hình thức khác nhau: 1940: Đã có những hoạt động chia sẻ mã nguồn khi làm việc trên máy tính ENIAC, các hoạt động chia sẻ phần mềm dùng chung, các nghiên cứu có công bố kèm theo mã nguồn. 1970-1980: Donal Knuth phát triển hệ xử lý văn bản nguồn mở Tex. 1983: Richard Stallman đa ra GNU (GNU is Not Unix): Các phần mềm đ- ợc hàng triệu ngời sử dụng (hệ điều hành, hệ soạn thảo văn bản ) là tài sản văn hoá chung của nhân loại, cần đợc công khai mã nguồn miễn phí và xem nh phần mềm nguồn mở. Công lao chính của ông là tạo ra giấy phép nguồn mở GNU- viết tắt là GPL, chủ yếu là nhằm bảo vệ quyền cho phép bất kỳ ai cũng có thể sử dụng, sửa đổi và phân phối lại mã nguồn của chơng trình gốc và các chơng trình dẫn xuất. 1984: Dự án GNU và tổ chức phần mềm tự do FSF đã thực hiện một loạt chơng trình PMNM. Thông qua dự án GNU của FSF, những công cụ lập trình nh Emacs, GCC, GNU C++, GNU Ada, GNU Pascal, G77, F2C .và nhiều phần mềm ================================================================================================= Sinh viên:Nguyn Quang Vinh 3 ỏn tt nghip GVHD:ThS V Vn Nam ================================================================================================ khác đã gặt hái thành công. Chính đề án GNU và giấy phép mã nguồn mở GPL là nền tảng then chốt cho sự phát triển của thế giới mã nguồn mở trong đó có Linux. 1985: MIT công bố mã nguồn mở X-Window (hệ thống giao diện cho các HDH dòng UNIX) nh là thành quả của dự án phát triển phần mềm dùng cho đào tạo. 1991: Linus Torvalds viết phần nhân của hệ điều hành Linux và công khai mã nguồn trên Internet. Nó có thể hoạt động trên điện thoại di động cũng nh những máy tính phức tạp. Và phát minh của Torvalds có thể download miễn phí. Từ đó bắt đầu một phong trào rầm rộ các tình nguyện viên phát triển Linux. 1995: PMNM Apache Web Server 1.0 đợc công bố và đã đợc nhiều ngời dùng làm Web Server và tiếp tục phát triển mạnh mẽ cho đến hiện nay. 1997: Eric Raymond viết The Cathedral and the Bazaar đúc kết những thành công trong dự án phần mềm nguồn mở Fetchmail. 1998: The Open Source Initiative một tổ chức xúc tiến phần mềm nguồn mở miễn phí đợc thành lập bởi 2 nhà lập trình Eric Raymond và Bruce Perens. Hai ông cho rằng, từ miễn phí nên thay bằng mở để tránh sự nhầm lẫn. Vì vậy, bằng cách đặt lại tên từ miễn phí thành phần mềm mở, Bruce Perens và đồng nghiệp của ông hy vọng rằng những hình mẫu doanh nghiệp mới sẽ đợc mở rộng. Netscape công bố mã nguồn Netscape Nagivator đã tạo sự cạnh tranh, kết quả là ngời dùng có lợi từ các trình duyệt nguồn mở miễn phí và trình duyệt nguồn đóng (IE) Từ năm 1998 đến nay: phong trào phần mềm nguồn mở đã phát triển mạnh mẽ ở nhiều nớc với việc đề cao Linux. ================================================================================================= Sinh viên:Nguyn Quang Vinh 4 ỏn tt nghip GVHD:ThS V Vn Nam ================================================================================================ Phần mềm nguồn mở, các hệ điều hành: Các hệ điều hành nguồn mở dòng Linux: Red Hat, OpenLinux, Debian, ManDrake, SuSE, TurboLinux, Nirvana, Slackware. Các hệ điều hành nguồn mở dòng BSD: FreeBSD, NetBSD, OpenBSD. Phần mềm nguồn mở, hệ quản trị CSDL: Hiện nay phần lớn DBMS nguồn đóng (Oracle, Informix, Sybase, DB2 v.v.) đều có các phiên bản chạy dới Linux và Unix. MySQL, PostgreSQL là các DBMS nguồn mở có thể chuyển đổi dữ liệu với những DBMS nói trên. Phần mềm nguồn mở, các phần mềm nhóm: Các hệ thông tin trợ giúp quản lý điều hành thờng do các nhóm cộng tác sử dụng. Phần mềm nhóm nguồn đóng: Lotus Notes, MS Exchange. Phần mềm nhóm nguồn mở: PHP groupware, Phần mềm nguồn mở, phần mềm cá nhân: Văn phòng: MS Office, Sun StartOffice, OpenOffice, Mail Cline: Netscape Messenger, MS Outlook, MS Internet Mail, Trình duyệt Web: MS IE, Netscape Navigator, Mozila, Opera, Mô phỏng Windows: Conntectix Virtual PC, Lindows, Wine, Phần mềm nguồn mở, phần mềm server: Web: Apache (61,4%), MS IIS (28,5%), Sun Iplanet (2%). Th điện tử: Cyrus IMAP, Sendmail, Quickmail, Fetchmail, Xác thực: Cistron Radius Cấp địa chỉ động: ISC DHCP Tổ chức danh bạ: Michigan Univ, OpenLDAP Dịch vụ tên miền: ISC Bind Khác: Tomcat (Java servlet), Squid (proxy), proftp (FTP) ================================================================================================= Sinh viên:Nguyn Quang Vinh 5 ỏn tt nghip GVHD:ThS V Vn Nam ================================================================================================ Phần mềm nguồn mở, công cụ lập trình: Trình dịch: Borland Kylix (C++), GNU C++, Sun JDK (Java), PHP Web Portal: Borland Jbuilder, IBM WebSphere Studio Application Developer, Sun J2EE Windows: Microsoft Visual Studio.Net Soạn trang Web: Webalizel Phát triển ứngdụng điểm - điểm: Sun JXTA Chuyển đổi: Sun LinCat (Linux Compatibility Assurance Toollkit 2. Hệ phần mềm mở Apache, PHP & MySQL 2.1 Apache: Apache hay là chơng trình máy chủ HTTP là một chơng trình dành cho máy chủ đối thoại qua giao thức HTTP. Apache chạy trên các hệ điều hành tơng tự nh Unix, Microsoft Windows, Novell Netware và các hệ điều hành khác. Apache đóng một vai trò quan trọng trong quá trình phát triển của mạng web thế giới. Khi đợc phát hành lần đầu, Apache là chơng trình máy chủ mã nguồn mở duy nhất có khả năng cạnh tranh với chơng trình máy chủ tơng tự của Netscape Communications Corporation. Từ đó, Apache đã không ngừng tiến triển và trở thành một phần mềm có sức cạnh tranh mạnh so với các chơng trình máy chủ khác về mặt hiệu suất và tính năng phong phú. Từ tháng 04/1996, Apache trở thành một chơng trình máy chủ HTTP thông dụng nhất. Hơn nữa, Apache thờng đợc dùng để so sánh với các phần mềm khác có chức năng tơng tự. Tính đến tháng 01/2007 thì Apache chiếm đến 60% thị trờng các chơng trình phân phối trang web. Apache đợc phát triển và duy trì bởi một cộng đồng mã nguồn mở dới sự bảo trợ của Apache Software Foundation. Apache đợc phát hành là một phần mềm tự do và miễn phí. Apache là một kiểu mẫu webserver rất phổ biến. Giống nh Linux, PHP, MySQL nó là một dự án nguồn mở. Đây là nguồn mở nên bất kỳ ai có khả năng đều có thể viết chơng trình mở rộng tính năng của Apache. PHP hoạt động với t ================================================================================================= Sinh viên:Nguyn Quang Vinh 6 ỏn tt nghip GVHD:ThS V Vn Nam ================================================================================================ cách là một phần mở rộng của Apache, là một module của Apache. Apache có tính ổn định và tốc độ cao. Tuy nhiên Apache không hỗ trợ công cụ đồ hoạ trực quan. Apache chỉ làm việc tốt trên Unix, nhng cũng có những phiên bản chạy tốt trên hệ Windows. 2.2 PHP (Personal Home Page) PHP đợc phát triển từ một sản phẩm có tên là PHP/FI do Rasmus Lerdorf tạo ra năm 1995, ban đầu đợc xem nh là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là Personal Home Page Tools. Khi cần đến các chức năng rộng hơn, ông đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho ngời sử dụng phát triển các ứngdụng web đơn giản. ông đã quyết định công bố mã nguồn của PHP/FI cho mọi ngời xem, sử dụng cũng nh sửa các lỗi có trong nó đồng thời cải tiến mã nguồn. PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một số các chức năng cơ bản cho PHP nh ta đã biết đến chúng ngày nay. Nó có các biến kiểu nh Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng. Cú pháp này giống nh của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán. PHP 2 Năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút đợc hàng ngàn ngời sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã đợc ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet. Tuy đã có tới hàng nghìn ngời tham gia đóng góp vào việc tu chỉnh mã nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một ngời. PHP/FI 2.0 đợc chính thức công bố vào 11/1997, sau một thời gian dài chỉ đợc công bố dới dạng các bản beta. Nhng không lâu đã đợc thay thế bởi các bản alpha đầu tiên của PHP 3.0. PHP 3 ================================================================================================= Sinh viên:Nguyn Quang Vinh 7 ỏn tt nghip GVHD:ThS V Vn Nam ================================================================================================ PHP 3.0 là phiên bản đầu tiên cho thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta đợc biết ngày nay. Nó đã đợc Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trớc đó. Ngoài khả năng cung cấp cho ngời dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới. Các tính năng khác đợc giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hớng đối tợng và nhiều cú pháp ngôn ngữ nhất quán khác. PHP 3.0 đã chính thức đợc công bố vào tháng 6/1998. PHP 4 Năm 1998, sau khi PHP 3.0 chính thức đợc công bố, Andi Gutmans và Zeev Suraski đã bắt tay vào việc viết lại phần lõi của PHP. Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứngdụng phức tạp, và cải tiến tính mô đun của cơ sở mã PHP. Những ứngdụng nh vậy đã chạy đợc trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API. Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet. PHP 5 Cộng đồng PHP đã nhận ra những yếu kém của PHP 4 là khả năng hỗ trợ lập trình hớng đối tợng, xử lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu. Ngày 29/06/2003, PHP 5 Beta 1 đã chính thức đợc công bố để cộng đồng kiểm nghiệm. Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10/2003. Đến ngày 21/12/2003 PHP 5 Beta 3 đã đợc công bố, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm đợc nhiều hàm mới. Ngày 13/07/2004 bản PHP 5 chính thức đã ra mắt. PHP 6 ================================================================================================= Sinh viên:Nguyn Quang Vinh 8 ỏn tt nghip GVHD:ThS V Vn Nam ================================================================================================ Hiện nay phiên bản tiếp theo của PHP đang đợc phát triển, PHP 6 bản sử dụng thử đợc download tại địa chỉ http://snaps.php.net. Phiên bản PHP 6 đợc kỳ vọng sẽ sửa đợc những thiếu sót của PHP ở phiên bản hiện tại nh hỗ trợ namespace, Unicode; sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu, 2.3 MySQL Cơ sở dữ liệu MySQL đã trở thành cơ sở dữ liệu mã nguồn mở phổ biến nhất trên thế giới vì tốc độ xử lý nhanh, ổn định và dễ sử dụng. Nó đợc sử dụng mọi nơi. ở nhiều tổ chức lớn trên thế giới để tiết kiệm thời gian và kinh phí cho những website có dung lợng lớn, phần mềm đóng gói nh Yahoo, Google, Nokia, MySQL không chỉ là cơ sở dữ liệu mã nguồn mở phổ biến nhất trên thế giới hiện nay mà nó là cơ sở dữ liệu đợc chọn cho thế hệ mới của các ứngdụngxâydựng trên nền Linux, Apache, MySQL, PHP. MySQL chạy trên hơn 20 flat form nh: Linux, Windows, OS/X, AIX, Netwar. MySQL có những đặc tính nh: a) Tính linh hoạt Máy chủ cơ sở dữ liệu MySQL cung cấp đặc tính linh hoạt, có sức chứa để xử lý các ứngdụng đợc nhúng sâu với dung lợng 1MB để chạy các kho dữ liệu lên đến hàng terabytes thông tin. Sự linh hoạt về flat form là một đặc tính lớn của MySQL với tất cả các phiên bản của Linux, Unix và Windows đang đợc hỗ trợ. Và tính chất mã nguồn mở của MySQL cho phép sự tùy biến hoàn toàn theo ý muốn để thêm vào các yêu cầu thích hợp cho database server. b) Tính thực thi cao Kiến trúc storage-engine cho phép các chuyên gia cơ sở dữ liệu cấu hình máy chủ cơ sở dữ liệu MySQL đặc trng cho các ứngdụng đặc thù. Dù ứngdụng là một hệ thống xử lý giao dịch tốc độ cao hay Websitedung lợng lớn phục vụ hàng triệu yêu cầu mi ngày, MySQL có thể đáp ứng khả năng xử lý của bất kì hệ thống nào. Với các tiện ích tải tốc độ cao, bộ nhớ caches và các cơ chế xử lý nâng cao khác. c) Hỗ trợ giao dịch mạnh ================================================================================================= Sinh viên:Nguyn Quang Vinh 9 ỏn tt nghip GVHD:ThS V Vn Nam ================================================================================================ MySQL đa ra một trong số những engine giao dịch cơ sở dữ liệu mạnh nhất. Các đặc trng bao gồm hỗ trợ giao dịch ACID hoàn thiện, khóa mức dòng không hạn chế, khả năng giao dịch đợc phân loại, và hỗ trợ giao dịch đa dạng mà ngời đọc không bao giờ gây trở ngại cho ngời viết và ngợc lại. Tính toàn vẹn của dữ liệu cũng phải đợc bảo đảm trong suốt quá trình server có hiệu lực, các mức giao dịch độc lập đợc chuyên môn hóa. d) Là nơi lu trữ Web và Data MySQL là nơi cho các website trao đổi thờng xuyên vì nó có engine xử lý tốc độ cao, khả năng chèn dữ liệu nhanh, và hỗ trợ mạnh cho các chức năng chuyên dụng của web nh tìm kiếm văn bản nhanh. Những tính năng này cũng đợc áp dụng cho môi trờng lu trữ dữ liệu mà MySQL tăng cờng đến hàng terabyte cho các server đơn. e) Chế độ bảo mật dữ liệu cao Vì bảo mật dữ liệu cho một công ty là công việc quan trọng nhất của các chuyên gia về cơ sở dữ liệu, MySQL đa ra tính năng bảo mật tuyệt đối. Trong việc xác nhận truy cập cơ sở dữ liệu, MySQL cung cấp các kỹ thuật mà chỉ có ngời sử dụng đã đợc xác nhận mới có thể truy nhập đợc vào server cơ sở dữ liệu. Tiện ích backup và recovery cung cấp bởi MySQL và các hãng phần mềm cho phép backup logic và vật lý hoàn thiện cũng nh recovery toàn bộ hoặc tại một thời điểm nào đó. 3. APPSEVER 2.5.9 3.1 Gii thiu chung v Appsever xõy dng website Joomla! trờn localhost, cn phi cú mt server o trờn mỏy tớnh, Appsever l mt software v cng l mt cụng c gi lp sever, hosting ngay trờn PC, ngoi Appsever hin nay cũn nhiu trỡnh gi lp khỏc nh EasyPHP, Xampp, Wamp, VertrigoServ . Appsever tớch hp sn cỏc tớnh nng ca Apache, MySQL, PHP v phpMyadmin. u im ca Appsever l chng trỡnh ny hon ton min phớ, d s dng v rt nh, phự hp vi cỏc mỏy cu hỡnh trung bỡnh, tng thớch cao v y chc nng chy PHP. ================================================================================================= Sinh viên:Nguyn Quang Vinh 10