Bên cạnh những tác dụng to lớn đối với các tổ chức khác nhau, website còn là nơi chia sẻ kiến thức và kết nối cộng đồng, thực sự đem lại rất nhiều lợi ích thiết thực, ngày càng khẳng địn
Trang 1v
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
THỰC TẬP TỐT NGHIỆP
Đề tài: Xây dựng website ứng dụng công nghệ
Mã nguồn mở joomla
GV hướng dẫn: Th.S Ngô Đức Vĩnh Lớp: CĐ-ĐH Khoa Học Máy Tính 1_K10 Sinh viên TH : Thân Quang Định
Lương Phương Đông
Hà Nội, 2016
Trang 2
LỜI NÓI ĐẦU
Ngày nay internet đã trở thành một phần không thể thiếu trong các lĩnh vực phát triển của xã hội Bên cạnh những tác dụng to lớn đối với các tổ chức khác nhau, website còn là nơi chia sẻ kiến thức và kết nối cộng đồng, thực sự đem lại rất nhiều lợi ích thiết thực, ngày càng khẳng định được tính hữu dụng và sức mạnh trong mọi phương diện, mọi ngành nghề của cuộc sống Đặc biệt trong lĩnh vực giải trí thư giãn
và cập nhật thông tin, tin tức của con người
Hiện nay có rất nhiều người thường xuyên truy cập các trang web tin tức để đọc báo, đọc tạp chí để thư giãn thay vì mua tờ báo ở ngoài hiệu sách báo Đã có rất nhiều website tin tức trực tuyến được xây dựng để nhằm đáp ứng thỏa mãn nhu cầu tra cứu tin tức hàng ngày của người Việt Nam Từ những hiệu quả mà một website mang lại, chúng em muốn tìm hiểu về cách xây dựng dựng và thiết kế website Có nhiều phần mềm, công cụ hỗ trợ thực hiện thiết kế một website, joomla là hệ thống quản trị nội dung mã nguồn mở được viết bằng ngôn ngữ PHP và kết nối đến cơ sở dữ liệu SQL Linh hoạt, đơn giản, tính tùy biến rất cao và cực kì mạnh mẽ, đó là những gì có thể nói
về joomla, việc cài đặt dễ dàng, quản lý đơn giản, đáng tin cậy Đó là lý do chúng em chọn đề tài “ Xây dựng website ứng dụng công nghệ mã nguồn mở joomla”
Sau một thời gian học tập và tìm hiểu, chúng em tiến hành xây dựng một website tin tức nhằm mục đích là đáp ứng thêm nhu cầu truy cập tin tức ngày càng nhiều của mọi người Trong quá trình làm báo cáo, cũng như thực hiện dự án, do thời gian còn hạn chế, cũng như tầm hiểu biết còn có hạn nên chúng em không tránh khỏi những thiếu sót Vì vậy chúng em rất mong nhận được nhiều ý kiến đánh giá, đóng góp của thầy giáo và các bạn để chúng em có thể hoàn thiện đề tài này
Chúng em xin chân thành cảm ơn!
Trang 3Chương 1: MỞ ĐẦU
1.1 lý do chọn đề tài
Ngày nay công nghệ thông tin là một ngành khoa học phát triển rất mạnh Song song với ngành khoa học khác, công nghệ thông tin đã và đang mang lại cho cuộc sống chúng ta rất nhiều thành tựu to lớn Công nghệ thông tin đang được ứng dụng rộng rãi và xâm nhập vào tất cả các hoạt động của con người, từ lao động sản xuất đến các hoạt động về kinh tế, chính trị, giáo dục… Chính vì vậy mà nhu cầu giao lưu, học hỏi và tìm hiểu kiến thức về lĩnh vực công nghệ thông tin của mỗi người là cần thiết
Với sự bùng nổ của internet, vai trò của các trang thông tin điện tử ngày càng trở lên quan trọng Khác với các tờ báo có giới hạn thời gian cập nhật tin tức thì các trang thông tin điện tử, báo trực tuyến đã giải quyết vấn đề này một cách thuận tiện Tin tức vô cùng quan trọng, nó cung cấp tri thức cho con người, giúp cho con người thuận tiện trong việc tìm hiểu thông tin, giải trí, thời sự… Người dùng có thể xem thông tin mọi lúc, mọi nơi nhờ các phương tiện như laptop, điện thoại… Những trang báo trực tuyến họ có thể cập nhật tin tức nhanh nhất có thể, những tin mới nhất trong ngày hay tại thời điểm đó Do đó việc sử dụng các trang báo chí trực tuyến luôn là điều cần thiết hiện nay nhằm đáp ứng nhu cầu cập nhật tin tức thông tin của mỗi người
1.2 Phương pháp nghiên cứu
+ Tìm hiểu kĩ thuật lập trình, cách thức hoạt động và các đối tượng trong PHP và MySQL
+ Hiểu được cách sử dụng PhpMyAdmin để sử dụng quản lí cơ sở dữ liệu
MySQL
+ Tìm hiểu cách thức hoạt động của mô hình client – server
+ Tìm hiểu và cài đặt máy chủ ảo Xampp
+ Tìm hiểu về các modul cài đặt cho website, các yêu cầu cần thiết của một website tin tức
+ Cài đặt Template phù hợp với giao diện của một website tin tức
+ Bắt tay vào xây dựng website, tiến hành kiểm tra và chạy thử
+ Thay đổi bổ sung khắc phục các sự cố bị lỗi, từ đó hoàn thiện để website sử dụng được
Trang 41.3 Mục tiêu nghiên cứu
- Cung cấp tin tức đầy đủ cho mọi người
- Cập nhật thông tin nhanh nhất có thể
- Tin tức đúng, không bịa đặt, phải chính xác
- Giao diện website phù hợp với chủ đề
- Giúp cho mọi người dùng tìm kiếm thông tin một cách dễ dàng
- Đồng thời trang web phải có tính năng dễ dàng nâng cấp, bảo trì và sửa chữa
1.4 Nội dung nghiên cứu
- Yêu cầu chung cho website tin tức là phải: nhanh, chính xác, đầy đủ, được cập nhật kịp thời và cách trình bày phải thu hút
- Xây dựng một ứng dụng quản lý tin tức báo chí, bao gồm các chức năng quản
lý bài báo, quản lý thể loại, quản lý chủ đề… hỗ trợ tối đa cho người biên tập viên soạn thảo bài báo một cách nhanh nhất Phần này là một ứng dụng web, giúp người quản lý, hay biên tập viên linh động trong công tác báo chí, giúp cho việc đưa thông tin một cách chính xác và nhanh chóng Xây dựng một website tin tức báo chí đầu cuối thể hiện những nội dung bài báo do biên tập viên soạn để phục vụ nhu cầu tìm hiểu thông tin của độc giả
Trang 5CHƯƠNG 2: GIỚI THIỆU VỀ MÃ NGUỒN MỞ
JOOMLA
2.1 Giới thiệu chung về mã nguồn mờ
Mã nguồn mở là thuật ngữ chỉ các sản phẩm phần mềm công khai mã nguồn (source code), được một nhóm người, một tổ chức hay được cộng đồng phát triển vì mục đích thương mại Do đó người dùng không cần trả bất kì chi phí nào, hơn thế nữa họ có quyền xem, sửa đổi, cải tiến, nâng cấp để sử dụng theo một số nguyên tắc chung quy định trong giấy phép phần mềm mã nguồn mở Gernal Public Licence – GPL
2.2 Giới thiệu CMS Joomla
2.2.1 Giới thiệu CMS
CMS (từ viết tắt của Content Management System – Hệ thống quản trị nội dung)
Là hệ thống dùng để quản lý nội dung bao gồm: văn bản, hình ảnh, video… được tổ chức một cách khoa học, ngăn nắp, và được cấp quyền truy cập với từng cá nhân Ngoài ra có còn bao gồm các công cụ giúp cho việc tìm kiếm, quản lý phiên bản phát hành thông tin, định dạng thông tin một cách nhanh chóng và dễ dàng Các tờ báo điện tử hiện nay là một loại CMS, các cổng thông tin điện tử của chính phủ hiện cũng là CMS Có rất nhiều hệ thống CMS trên thế giới Một số dạng phổ thông và đơn giản có thể kể là : Joomla, Wordpess, Nuke, Drupal… Tất cả những hệ thống kể trên đều là CMS mã nguồn mở
CMS trong tương lai sẽ được tích hợp vào các hệ thống ERP của doanh nghiệp Các dữ liệu của doanh nghiệp sẽ được công bố trực tiếp lên website mà không cần phải tốn nhiều công sức Doanh nghiệp sẽ có một công cụ quản lý hết mọi hoạt động của mình, đây chính là những hệ thống rất lớn tuy nhiên lại rất triệt để
Một hệ thống CMS là một hệ thống quản lý mọi thứ bởi vì tất cả đều là “nội dung đã được số hóa” Cái hay của một hệ thống là làm sao tổ chức và quản lý được những content phi cấu trúc và quản lý được nhiều loại thông tin
2.2.2 Giới thiệu về Joomla
a Joomla là gì?
Trang 6Hình 1 Joomla
Trong những năm gần đây, sự phát triển của công nghệ thông tin đã làm thay đổi toàn bộ thế giới Cùng với những thay đổi đó, những ứng dụng web ngày càng phát triển mạnh mẽ Việc duyệt Web giúp người dùng dễ dàng cập nhật và tra cứu thông tin cần thiết Hiện nay, hệ quản trị nội dung Joomla đang được sử dụng khá phổ biến trong các ứng dụng Web
Joomla là một nền tảng mã nguồn mở được viết bằng ngôn ngữ PHP và sử dụng cơ sở dữ liệu MySQL, cho phép người dùng có thể dễ dàng soạn thảo và xuất bản các nội dung (bài viết, tài liệu…) của họ lên internet
Joomla có đặc tính cơ bản là: bộ đệm trang (page caching) để tăng tốc độ hiển thị, lập chỉ mục, đọc tin RSS (RSS feeds), trang dùng để in, bản tin nhanh, blog, diễn đàn, bình chọn, lịch biểu, tìm kiếm trong site và hỗ trợ đa ngôn ngữ
Joomla được phát âm theo tiếng Swahili như là “Jumla” nghĩa là “đồng tâm hiệp lực”
Joomla giúp xây dựng và triển khai các website tin tức, website bán hàng, website thương mại điện tử… cho tới cộng đồng, mạng xã hội trong một thời gian ngắn và tiết kiệm nhiều công sức
b Ứng dụng của Joomla
Joomla được đánh giá là một hệ quản trị nội dung mã nguồn mở mạnh nhất hiện nay, hai lần được bình chọn là dự án mã nguồn mở tốt nhất Với ưu điểm là dễ cài đặt và quản lý với mức độ tin cậy cao Hiện nay Joomla đang được sử dụng phổ biến trên thế giới
Theo thống kê của Google Trends Joomla phát triển mạnh mẽ và đều đặn từ khi
ra đời cho tới nay:
Trang 7Hình 2 Khuynh hướng phát triển Joomla từ 2004-2007 Joomla đáp ứng các đặc tính của một ứng dụng web 2.0:
Hệ thống Joomla có thể chạy được nhiều nền khác nhau IIS hoặc Apache Hệ điều hành Window hoặc Linux
Là một hệ thống mã nguồn mở, do đó Joomla tận dụng được nguồn trí tuệ cộng đồng
Là một hệ thống mã nguồn mở, được cập nhật liên tục
Việc phát triển ứng dụng được thực hiện dễ dàng và nhanh chóng
Joomla có khả năng hoạt động tốt trên nhiều trình duyệt
Khả năng tùy biến giao diện cao
Joomla được sử dụng để xây dựng nhiều loại ứng dụng Web khác nhau như:
- Các blog cá nhân
- Các website của tổ chức hoặc website thông tin
- Các website cho công ty cỡ nhỏ
- Các website tin tức
- Các website trường học
- Các website thể thao, giải trí
- Các website mua sắm, thương mại điện tử
- Các website mạng cộng đồng, mạng xã hội
Trang 8- Các website danh bạ trực tuyến.
2.2.3 Ưu điểm và nhược điểm của Joomla
a Ưu điểm
Là một hệ thống mã nguồn mở
Joomla tạo điều kiện thuận lợi cho người dùng, đặc biệt là đối với người dùng không có kiến thức chuyên sâu về lập trình
Nhiều Template được xây dựng cho Font – End cung cấp miễn phí cho người dùng, việc sử dụng Template đơn giản tạo điều kiện xây dựng website bắt mắt
Cung cấp FrameWork gồm nhiều lớp cơ sở mạnh mẽ hỗ trợ người phát triển trong việc mở rộng và phát triển thêm các chức năng cho hệ thống
sử dụng cơ chế Cache để giữ an toàn cho trang
Hỗ trợ việc xây dựng site đa ngôn ngữ
Sử dụng một hệ thống các thành phần (Component) phục vụ theo những mục đích của người sử dụng
Hệ thống quản lý người dùng
Sử dụng chế độ soạn thảo WYSIWYG tạo điều kiện thuận lợi cho người dùng trong việc soạn thảo nội dung
Dữ liệu trong Joomla tổ chức thành 3 cấp: Section, Category, Article Cách tổ chức này logic và không gây rắc rồi cho người dùng mới
Hệ thống ổn định và an toàn (Stable and Security)
Hệ thống dễ dàng mở rộng và nâng cấp đồng thời đáp ứng được một lượng truy cập lớn
Cung cấp nhiều phần mở rộng (Extension) miễn phí
Được hỗ trợ bởi một cộng đồng người dùng đông đảo
b Nhược điểm.
Không có nền tảng để được tổ chức những kiểu dữ liệu phức tạp hơn
Joomla được thiết kế cho người dùng cuối nên không cung cấp nhiều phương tiện can thiệp vào hoạt động bên trong
Trang 92.2.4 Vài nét về lịch sử Joomla
Joomla là sản phẩm anh em với Mambo giữa tập đoàn Miro của Úc (hãng đang nắm giữ Mambo), với phần đông những người phát triển nòng cốt
Ban đầu công ty Miro của Úc (Miro Software Solution) đã phát triển Mambo theo dạng ứng dụng mã nguồn đóng Đến tháng 4/2011, công ty đã thông qua một chính sách bản quyền kép, nghĩa là phát hàng Mambo theo cả giấy phép GPL (General Pucblic Licence)
Mọi thứ vẫn tiến triển bình thường cho đến trước khi xảy ra tranh chấp về mặt pháp lý vào năm 2003 Vụ việc dẫn tới ý tưởng Mambo cần phải được bảo vệ bởi một tổ chức phi lợi nhuận Nhưng các nhà tổ chức không hài lòng về cơ cấu của quỹ tài trợ Mambo Andew Eddie, người lãnh đạo nhóm phát triển, trong một lá thư gửi cộng đồng đã chia sẻ những lo lắng của mình về quỹ tài trợ Mambo và mối quan hệ của nó với cộng đồng Ông viết “… Chúng tôi cho rằng tương lai của Mambo nên được quản lý, điều chỉnh bởi những yêu cầu của người sử dụng và khả năng của những nhà phát triển Trong khi đó, quỹ tải trợ Mambo lại được thiết kế nhằm trao quyền điều khiển cho Miro, một thiết kế ngăn cản sự hợp tác giữa quỹ tài trợ và cộng đồng…” Bởi vậy vào ngày 17 tháng 08 năm 2005, toàn bộ đội phát triển nòng cốt của Mambo đã rời khỏi dự án trong khi đang làm việc với phiên bản 4.5.3
Nhờ sự trợ giúp của Trung tâm luật tự do phần mềm (Software Freedom Law Center - SFLC), 20 thành viên lòng cốt cũ của Mambo đã thành lập một tổ chức phi lợi nhuận khác lấy tên là Open Source Matters, để hỗ trợ về mặt tổ chức, pháp lý và kinh phí cho dự án mã nguồn mở còn chưa được đặt tên của họ Cùng lúc đó, nhóm phát triển cũng lập lên một website lấy tên là Open Source Matters để phân phối thông tin tới người sử dụng, những người phát triển, những người thiết kế và cộng đồng Joomla nói chung Người đứng đầu dự án đó là Andrew Eddie
Ngay ngày hôm sau, 1000 người đã gia nhập diễn đàn Open Source Matters, hầu hết các bài viết cho diễn đàn đều khuyến khích và đồng tình với hành động của nhóm phát triển Tin trên đã nhanh chóng được đăng tải trên các tạp chí Newsforge.com, eweek.com và Zdnet.com
Trong một thông báo của Eddie hai tuần sau đó, các nhóm đã được tổ chức lại
và cộng đồng Joomla tiếp tục tăng trưởng Tới ngày 1 tháng 9 năm 2005 tên mới của dự án được thông báo cho khoảng 3000 người theo dõi đội phát triển và đến ngày 16 tháng 9 thì họ cho ra đời Joomla! 1.0
Từ đó đến nay, hệ thống Joomla không ngừng phát triển, cải tiến đặc biệt trong vấn đề vá các bản lỗi và tăng tính năng bảo mật
Trang 102.2.5 Tại sao sử dụng Joomla?
- Joomla là mã nguồn mở và được cung cấp miễn phí
- Joomla là nền tảng mã nguồn mở được xây dựng và đóng góp bởi những chuyên gia hàng đầu và những thành viên tích cực khác
- Sử dụng joomla tất dễ dàng và thân thiện đối với tất cả những người nghiệp dư
và các chuyên gia
- Joomla cung cấp rất nhiều chức năng ở các lĩnh vực khác nhau thông qua các thành phần mở rộng được phát triển bởi các hãng thứ ba, trong khi phần lớn số chúng cũng đều là mã nguồn mở và miễn phí
- Joomla có số lượng template (giao diện) khổng lồ, từ những giao diện ở mức đơn giản cho tới phức tạp
- Tài liệu API dành cho lập trình viên, phát triển viên được cung cấp đầy đủ
- Joomla có hàng trăm website cung cấp các tài liệu hướng dẫn sử dụng từ cơ bản tới nâng cao Các hướng dẫn đều rõ ràng dễ hiểu và có các minh họa bằng hình ảnh, video clip kèm theo
2.2.6 Các phiên bản của Joomla
- Hiện nay Joomla có 3 phiên bản chính:
+ Phiên bản Joomla 1.0.x phát hành vào ngày 15 tháng 09 năm 2005
+ Phiên bản Joomla 1.5.x phát hành vào ngày 21 tháng 01 năm 2008
+ Phiên bản Joomla 2.5.x phát hành vào ngày 24 tháng 01 năm 2012
+ Phiên bản Jooma 3.0.x phát hành vào ngày 12 tháng 07 năm 2012
- Phiên bản Joomla 1.0.x
Phiên bản Joomla đầu tiên có nguồn gốc từ Mambo 4.5.2.3 (đã bao gồm thêm nhiều bản vá bảo mật và sửa lỗi) Điểm mạnh của Joomla 1.0.x có một số lượng rất lớn các thành phần mở rộng (Module/Component), thành phần nhúng (Mambot), giao diện (Template)
- Phiên bản Joomla 1.5.x
Là phiên bản cải tiến từ Joomla 1.0.x được coi như Mambo 4.6 Joomla 1.5.x tiếp tục duy trì một giao diện người dùng sử dụng đơn giản, hỗ trợ đa ngôn ngữ có tập kí tự được biểu diễn bằng bảng mã UTF – 8 Joomla 1.5 cũng bao gồm các đặc
Trang 11chủ XML – RPC, đồng thời cũng hỗ trợ các trình điều khiển cơ sở dữ liệu dành cho MySQL 4.1 (trên nền PHP 5) và tăng cường hỗ trợ cho MySQL 5 và các loại
cơ sở dữ liệu khác Điểm mạnh là phần quản trị website có sử dụng công nghệ web 2.0, một số tính năng được cải tiến hơn so Joomla 1.0.x
- Phiên bản Joomla mới (joomla 3.0.x)
Joomla 3.0 phiên bản mới này sẽ làm mới hoàn toàn về giao diện và hướng người dùng, dựa trên Bootstrap HTM/ CSS/ JS khuôn khổ từ Twitter Những thay đổi này sẽ tạo ra một trải nghiệm người dùng tuyệt vời tổng thể cho các quản trị trang web joomla, do đó cho người sử dụng cùng một trang web Ngoài ra, bên cạnh Mootools, jQuery sẽ được đưa vào joomla 3.0, cung cấp cho các nhà phát triển sức mạnh hơn để tạo ra giao diện thân thiện người sử dụng back-end Nhiều tính năng mới được thực hiện cung cấp một cải tiến ấn tượng so với phiên bản 2.5 hiện tại
2.3 Cài đặt WebServer để chạy Joomla (Xampp)
Để chạy được joomla ta cần phải có một WebServer với Apache, PHP và Prl, việc cài đặt và cấu hình Webserver gặp nhiều khó khăn và tốn kém thời gian Hiện nay có nhiều phần mềm cấu hình sẵn và ứng dụng như một Webserver như Xampp, Wamp…
2.3.1 Giới thiệu về WebServer
Web Server (máy phục vụ web) máy tính mà trên đó cài đặt phần mềm phục vụ web, tất cả các web server đều hiểu và chạy được các file *.htm và *.html, tuy nhiên mỗi web server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS của Microsoft dành cho *.asp, *.aspx… Apache dành cho *.php…
Máy web server là máy chủ có dung lượng lớn, tốc độ cao, được sử dụng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác
Web server có khả năng gửi đến khách hàng những trang Web thông qua môi trường internet qua giao thức HTTP – giao thức được thiết kế để gửi các file đến trình duyệt Web, và các giao thức khác
Tất cả các Web Server đều có một địa chỉ IP (IP address) hoặc cũng có thể có một Domain Name Giả sử khi bạn đánh vào thanh Address trên trình duyệt của bạn một dòng http://www.xyz.com Server này sẽ tìm trang web có tên là index.htm rồi gửi nó đến trình duyệt của bạn
Bất kì một máy tính nào cũng trở thàng một web server bởi việc cài đặt nó lên chương trình phần mềm Server Software và sau đó kết nối vào internet