67
Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla LỜI CẢM ƠN Đầu tiên, chúng em xin chân thành cảm ơn Ban giám hiệu, qúy thầy cô trường ĐH Sư phạm kỹ thuật Hưng Yên, đặc biệt là thầy cô trong khoa Công Nghệ Thông Tin đã tận tình giảng dạy và truyền đạt cho tôi những kiến thức quý báu trong những năm học vừa qua. Xin chân thành gửi lời cảm ơn đến thầy Phạm Minh Chuẩn giảng viên khoa Công Nghệ Thông Tin đã tận tình hướng dẫn, giúp đỡ tôi trong quá trình định hướng, nghiên cứu và hoàn thiện đồ án này một cách tốt so với những gì đã đặt ra. Con xin gửi lòng biết ơn sâu sắc và sự kính trọng gia đình đã sinh thành, nuôi dưỡng con trưởng thành như ngày hôm nay. Xin cảm ơn tất cả bạn bè đã giúp đỡ trong thời gian vừa qua. Trong quá trình thực hiện đồ án, mặc dù đã có nhiều cố gắng tuy nhiên vẫn còn có nhiều thiếu sót và hạn chế, kính mong các thầy (cô) và các bạn đóng góp ý kiến của mình để đồ án được hoàn thiện hơn. Hà Nội, tháng 05 năm 2013 Sinh viên thực hiện Khuất Hữu Hoan Triệu Thu Hường Trang i

Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Embed Size (px)

Citation preview

Page 1: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

LỜI CẢM ƠN

Đầu tiên, chúng em xin chân thành cảm ơn Ban giám hiệu, qúy thầy cô trường

ĐH Sư phạm kỹ thuật Hưng Yên, đặc biệt là thầy cô trong khoa Công Nghệ Thông Tin

đã tận tình giảng dạy và truyền đạt cho tôi những kiến thức quý báu trong những năm

học vừa qua.

Xin chân thành gửi lời cảm ơn đến thầy Phạm Minh Chuẩn giảng viên khoa

Công Nghệ Thông Tin đã tận tình hướng dẫn, giúp đỡ tôi trong quá trình định hướng,

nghiên cứu và hoàn thiện đồ án này một cách tốt so với những gì đã đặt ra.

Con xin gửi lòng biết ơn sâu sắc và sự kính trọng gia đình đã sinh thành, nuôi

dưỡng con trưởng thành như ngày hôm nay.

Xin cảm ơn tất cả bạn bè đã giúp đỡ trong thời gian vừa qua.

Trong quá trình thực hiện đồ án, mặc dù đã có nhiều cố gắng tuy nhiên vẫn còn

có nhiều thiếu sót và hạn chế, kính mong các thầy (cô) và các bạn đóng góp ý kiến của

mình để đồ án được hoàn thiện hơn.

Hà Nội, tháng 05 năm 2013

Sinh viên thực hiện

Khuất Hữu Hoan

Triệu Thu Hường

Trang i

Page 2: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

MỤC LỤC

LỜI CẢM ƠN.................................................................................................................. iMỤC LỤC.......................................................................................................................iiDANH MỤC CÁC TỪ VIẾT TẮT................................................................................ivDANH MỤC HÌNH ẢNH...............................................................................................vDANH MỤC BẢNG BIỂU..........................................................................................viiMỞ ĐẦU.....................................................................................................................viiiCHƯƠNG 1. NGHIÊN CỨU TỔNG QUAN................................................................1

1.1. MÃ NGUỒN MỞ................................................................................................11.1.1. Khái niệm.......................................................................................................11.1.2. Lợi ích và hạn chế..........................................................................................1

1.1.2.1. Lợi ích.....................................................................................................11.1.2.2. Hạn chế....................................................................................................3

1.2. GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH PHP VÀ HỆ QUẢN TRỊ CSDL MYSQL.......................................................................................................................3

1.2.1. Giới thiệu về ngôn ngữ lập trình PHP............................................................31.2.1.1. PHP là gì?................................................................................................31.2.1.2. Tại sao phải sử dụng PHP.......................................................................41.2.1.3. Những điểm mạnh của PHP....................................................................5

1.2.2. Giới thiệu về hệ quản trị CSDL Mysql..........................................................61.3. HỆ QUẢN TRỊ NỘI DUNG JOOMLA..............................................................7

1.3.1. Giới thiệu hệ quản trị nội dung......................................................................71.3.2. Giới thiệu sơ lược về Joomla.........................................................................7

1.3.2.1. Joomla! là gì?..........................................................................................71.3.2.2. Tại sao sử dụng Joomla?.........................................................................81.3.2.3. Tình hình sử dụng Joomla! ở Việt Nam..................................................81.3.2.4. Các giải thưởng mà Joomla! Đã đạt được...............................................9

1.3.3. Các Phiên Bản Của Joomla............................................................................91.3.4. Kiến trúc Joomla..........................................................................................111.3.5. Thành phần mở rộng của Joomla.................................................................11

1.3.5.1. Component............................................................................................111.3.5.2. Module..................................................................................................131.3.5.3. Plugin....................................................................................................151.3.5.4. Template................................................................................................161.3.5.5. Languages..............................................................................................17

CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG...........................................182.1. GIỚI THIỆU VỀ TRƯỜNG THPT PHÚC THỌ..............................................182.2. XÁC ĐỊNH CÁC CHỨC NĂNG HỆ THỐNG.................................................182.3. CHỨC NĂNG QUẢN LÝ TIN TỨC................................................................192.4. CHỨC NĂNG QUẢN LÝ HÌNH ẢNH - VIDEO............................................20

2.4.1. Phân tích yêu cầu.........................................................................................202.4.2. Đề xuất giải pháp.........................................................................................21

2.5. CHỨC NĂNG QUẢN LÝ TÀI LIỆU - CÔNG VĂN.......................................222.5.1. Phân tích yêu cầu.........................................................................................222.5.2. Đề xuất giải pháp.........................................................................................22

2.6. CHỨC NĂNG QUẢN LÝ ĐIỂM VÀ TRA CỨU ĐIỂM TRỰC TUYẾN.......23

Trang ii

Page 3: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

2.6.1. Phân tích yêu cầu.........................................................................................232.6.2. Đề xuất giải pháp.........................................................................................23

CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH THỰC NGHIỆM..............................243.1. YÊU CẦU HỆ THỐNG.....................................................................................243.2. GIỚI THIỆU CHƯƠNG TRÌNH.......................................................................24

3.2.1. Trang chủ.....................................................................................................243.2.2. Giao diện cho người dùng............................................................................28

3.2.2.1. Giao diện chức năng quản lý tài liệu, công văn....................................283.2.2.2. Giao diện chức năng quản lý hình ảnh, video.......................................293.2.2.3. Giao diện chức năng quản lý điểm và tra cứu điểm trực tuyến.............30

3.2.3. Giao diện cho người quản trị.......................................................................323.3. BẢO MẬT CHO WEBSITE..............................................................................34

3.3.1. Các nguy cơ bảo mật....................................................................................343.3.2. Đề xuất giải pháp.........................................................................................34

3.3.2.1. Sao lưu toàn bộ Website theo định kỳ...................................................343.3.2.2. Bảo mật thư mục Administrator trong Joomla......................................353.3.2.3. Bảo mật cho trang quản trị bằng cookie................................................36

KẾT LUẬN...................................................................................................................37TÀI LIỆU THAM KHẢO.............................................................................................38Ý KIẾN CỦA GIẢNG VIÊN HƯỚNG DẪN..............................................................39

Trang iii

Page 4: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

DANH MỤC CÁC TỪ VIẾT TẮT

Từ viết

tắt Ý

Ý nghĩa

PMNM Phần mềm nguồn mở

OSS Open Source Software

FOSS Free & Open Source Software

GNU General Public License

HTML HyperText Markup Language

PHP Personal Home Page

CSDL Cơ sở dữ liệu

LAMP Linux – Apache – MySQL – PHP

CMS Content Management System

CSS Cascading Style Sheets

UML Unified Modeling Language

WWW World Wide Web

ODBC Open Database Connectivity

MVC Model-View-Controlle

Trang iv

Page 5: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

DANH MỤC HÌNH ẢNH

Hình 1.1 Hoạt động của website viết bằng HTML.........................................................4

Hình 1.2 Hoạt động của website viết bằng PHP.............................................................5

Hình 1.3 Tình hình sử dụng Joomla! ở Việt Nam...........................................................8

Hình 1.4 Kiến trúc Joomla............................................................................................11

Hình 1.5 Menu quản lý các Component của Joomla.....................................................12

Hình 1.6 Danh sách các component mặc định của Joomla 1.5.....................................12

Hình 1.7 Module tin chú ý được đặt ở trang chủ..........................................................13

Hình 1.8 Các module mặc định của Joomla1.5.............................................................14

Hình 1.9 Menu quản lý Joomla Plugin từ trang quản trị...............................................15

Hình 1.10 Danh sách 8 loại plugin mặc định của Joomla.............................................15

Hình 1.11 Quản lý Template Joomla từ trang quản trị..................................................16

Hình 1.12 Template Beez, JA Purity và Rhuk Milkyway của Joomla..........................16

Hình 2.1 Sơ đồ phân cấp tin tức....................................................................................20

Hình 2.2 Các nhóm tin được tạo...................................................................................20

Hình 2.3 Các chủ đề con được tạo................................................................................21

Hình 2.4 Component Phoca Gallery..............................................................................22

Hình 2.5 Component Phoca Download.........................................................................23

Hình 2.7 Biểu đồ use case của component quản lý điểm và tra cứu điểm trực tuyến...29

Hình 2.8 Biểu đồ trình tự thêm điểm của người quản trị..............................................30

Hình 2.9 Biểu đồ lớp chi tiết.........................................................................................31

Hình 3.1 Giao diện trang chủ........................................................................................34

Hình 3.2 Vị trí các module chính ở trang chủ...............................................................35

Hình 3.3 Giao diện trang liên hệ...................................................................................36

Hình 3.4 Giao diện chính chức năng quản lý tài liệu, công văn...................................36

Hình 3.5 Giao diện file download trong một chủ đề con..............................................37

Hình 3.6 Giao diện chính chức năng quản lý hình ảnh, video......................................37

Hình 3.7 Giao diện một chủ đề hình ảnh.......................................................................38

Hình 3.8 Giao diện chính chức năng lý điểm và tra cứu điểm trực tuyến.....................38

Hình 3.9 Giao diện tra điểm của một từ khóa...............................................................39

Hình 3.10 Giao diện tra điểm của một học sinh............................................................39

Trang v

Page 6: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Hình 3.11 Giao diện đăng nhập hệ thống......................................................................39

Hình 3.12 Giao diện chính trang quản trị......................................................................40

Hình 3.13 Giao diện chính Component Phoca Download............................................40

Hình 3.14 Giao diện chính Component Phoca Gallery.................................................40

Hình 3.15 Giao diện chính Component Quản lý điểm..................................................41

Hình 3.16 Giao diện Quản lý điểm................................................................................41

Hình 3.17 Giao diện Import điểm bằng file Excel........................................................41

Hình 3.18 Giao diện Export CSDL...............................................................................42

Hình 3.19 Giao diện Zip thư mục chứa Joomla............................................................43

Hình 3.20 Giao diện đăng nhập vào thư mục administrator.........................................43

Trang vi

Page 7: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

DANH MỤC BẢNG BIỂU

Bảng 2.1 Use case đăng nhập vào hệ thống..................................................................24

Bảng 2.2 Use case thêm điểm.......................................................................................25

Bảng 2.3 Use case sửa điểm..........................................................................................26

Bảng 2.4 Use case xóa điểm..........................................................................................26

Bảng 2.5 Use case them học kì......................................................................................27

Bảng 2.6 Use case thêm năm học..................................................................................27

Bảng 2.7 Use case tra cứu điểm....................................................................................28

Bảng 2.8 Xác định các lớp cho component quản lý điểm và tra cứu điểm trực tuyến..29

Bảng 3.1 Những yêu cầu của máy chủ web cho website.............................................32

Bảng 3.2 Yêu cầu cấu hình PHP đề vận hành website.................................................32

Trang vii

Page 8: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

MỞ ĐẦU

Hiện nay, việc ứng dựng mã nguồn mở vào các cơ sở giáo dục và đào tạo là ưu

tiên hàng đầu được nhà nước khuyến khích áp dụng. Có một website để giới thiệu

quảng bá hình ảnh trường học, thuận tiện cho công việc giảng dạy của giáo viên, giúp

học sinh học tập, tiếp cận tìm hiểu rõ quyền lợi và trách nhiệm của mình, trong thời

gian tới việc thiết kế một website cho các trường là điều hết sức cần thiết.

Với các lý do trên, em mạnh dạn đề xuất đề tài “Nghiên cứu và xây dựng

website cho trường THPT Phúc Thọ bằng phần mềm nguồn mở Joomla ” làm đề

tài đồ án tốt nghiệp. Em thấy đây là đề tài mang tính thực tế cao, giúp trường có thể

“tin học hóa” trong công tác quản lý của mình, đồng thời việc xây dựng, quản trị và

cập nhật thông tin của một website là một công việc phù hợp với em sau khi rời ghế

nhà trường. Đồ án bao gồm những nội dung chính sau:

Chương 1: NGHIÊN CỨU TỔNG QUAN

Trong chương này chủ yếu trình bày tổng quan về lý thuyết, những kiến thức cần

thiết để xây dựng ứng dụng.

Chương 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Chương này trình bày khảo sát để từ đó rút ra các tính năng cần thiết đồng thời

phân tích, thiết kế hệ thống cho website.

Chương 3: XÂY DỰNG CHƯƠNG TRÌNH THỰC NGHIỆM

Trong chương này sẽ giới thiệu chương trình, chức năng của chương tình và

hướng dẫn cài đặt, vận hành.

Trang viii

Page 9: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

CHƯƠNG 1. NGHIÊN CỨU TỔNG QUAN

1.1. MÃ NGUỒN MỞ

1.1.1. Khái niệm

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ột

giấ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 một nhóm người chủ trương rằng thuật ngữ phần mềm tự do nên được

thay thế bằng phần mềm nguồn mở vì thuật ngữ này ít mơ hồ hơn và dễ sử dụng hơn

cho giới doanh nghiệp.

Phần mềm OSS và FOSS

Chúng ta thường nghe nói tới các phần mềm nguồn mở OSS (Open Source

Software). Tuy nhiên còn một cụm từ thường được sử dụng khác là FOSS (Free &

Open Source Software), có nghĩa là các phần mềm nguồn mở và tự do, dùng để chỉ các

phần mềm có giấy phép sử dụng theo kiểu GNU. Những phần mềm này cho phép

người sử dụng quyền tự do chạy, quyền tự do sao chép, quyền tự do phân phối lại,

nghiên cứu, thay đổi và cải tiến cho phù hợp với nhu cầu sử dụng của mình mà không

cần phải tới sự cho phép, hoặc phải trả tiền, cho bất cứ cá nhân hoặc nhóm người nào.

Cụm từ tự do trong FOSS không ám chỉ sự miễn phí, mà chỉ nói về các quyền tự

do mà FOSS mang lại cho người sử dụng. Cụm từ nguồn mở nhấn mạnh đến quyền

của người sử dụng được nghiên cứu, thay đổi và cải tiến mã nguồn – có nghĩa là cả

thiết kế chi tiết của các ứng dụng FOSS. Các phần mềm tự do thường mang yếu tố mã

nguồn mở và ngược lại, vì cả hai loại phần mềm này đều nằm trong cùng một tập hợp

các quyền tự do dành cho người sử dụng phần mềm và đã được Richard Stallman định

nghĩa từ cuối những năm 1980.

1.1.2. Lợi ích và hạn chế

1.1.2.1. Lợi ích Chi phí thấp: PMNM được dùng miễn phí về bản quyền và nếu có chi phí thì

cũng chỉ là chi phí cho đóng gói sản phẩm và dịch vụ cho sản phẩm. Vì vậy, chi phí rất

thấp so với các phần mềm thương mại.

Trang 1

Page 10: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Độc lập: PMNM không bị lệ thuộc vào bất kỳ một nhà cung cấp nào. Sự độc

lập này là rất quan trọng vì các cơ quan Nhà nước đều cần có những giải pháp chung,

chuẩn hóa và không muốn phụ thuộc vào các sản phẩm sở hữu riêng của các nhà cung

cấp.

Tính thích ứng và sáng tạo: Thực tế đã cho thấy rất ít chương trình có thể

tồn tại không cần thay đổi, nâng cấp trong một thời gian dài. Vì thế, khả năng cho

phép lập trình viên xác định và sửa các lỗi cũng như thích ứng phần mềm với các yêu

cầu mới phát sinh là một vấn đề rất quan trọng. Sự sẵn sàng có mã nguồn và có quyền

thay đổi chúng giúp cho công việc này dễ dàng hơn. Việc có được mã nguồn cũng

giúp những nhà lập trình sáng tạo ra phần mềm riêng của mình, đặc biệt  đối với thế hệ

trẻ và các doanh nghiệp phục vụ các yêu cầu đa dạng của khách hàng.

Chất lượng tin cậy: Nhiều phần mềm có chất lượng và độ tin cậy cao. Các

PMNM khi đã hoàn thành thông thường sẽ được thử nghiệm, đánh giá, phát hiện lỗi và

hoàn thiện bổ sung bởi nhiều rất nhiều nhà phát triển khác nhau trên toàn thế giới và

công việc này cũng không bị áp lực về thời gian. Các nhà sản xuất phần mềm thương

mại lại thường công bố thời điểm ra đời của một phiên bản nào đó rồi sau đó buộc phải

tung ra thị trường những sản phẩm vẫn còn có lỗi để giữ đúng thời hạn đã công bố.

Tính lâu dài: PMNM không có một chủ sở hữu duy nhất là lý do bảo đảm để

không ai có thể làm ngừng hoặc “giết chết” sản phẩm này. Việc sản phẩm bị ngừng

hay bị “giết chết” dễ dàng xảy ra đối với phần mềm thương mại như ở trong các

trường hợp sau: công ty bị phá sản, hoặc sát nhập, hoặc bán lại cho một công ty khác,

hoặc thay đổi chiến lược và phương hướng kinh doanh. Do đó người sử dụng PMNM

sẽ không bị lo ngại xảy ra trường hợp bị bắt buộc chuyển sang giải pháp khác như đối

với phần mềm thương mại khi nhà cung cấp phần mềm thương mại quyết định ngừng

hỗ trợ kỹ thuật.

Phát triển dễ dàng: Những dự án và phát triển phần mềm mới có thể được

thực hiện mà không cần phải xin phép ai trước khi triển khai. Việc này phù hợp với

các kỹ thuật phát triển mới: tạo ra giải pháp bằng cách tập hợp nhiều đối tượng đã có

mà không sợ rủi ro bị ngừng giữa chừng vì những hạn chế pháp lý và những qui định

về sở hữu trí tuệ đối với phần mềm.

Trang 2

Page 11: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

1.1.2.2. Hạn chế Đa dạng và phức tạp : Cộng đồng mã nguồn mở đã phát triển nhiều ứng

dụng đa dạng với những chức năng tương tự nhau. Điều này gây khó khăn cho những

người mới sử dụng trong việc chọn lựa.

Sự dư thừa: Sự chia nhánh mã nguồn có thể dẫn đến sự lãng phí trong quá

trình phát triển nó. Nếu các nguồn phát triển được kết hợp và tổ chức lại một cách tốt

hơn thì hiệu suất sẽ được nâng cao.

Thiếu các ứng dụng: Vẫn còn những lĩnh vực vắng bóng các PMNM. (VD:

một trình biên soạn HTML như MS Frontpage)

Bất tiện: Mã nguồn mở thường chỉ tập trung vào các mã của nó mà ít chú ý

đến thiết kế giao diện và phát triển các tiện ích.

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àn toàn tương thích với phần

mềm đóng.

1.2. GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH PHP VÀ HỆ QUẢN TRỊ CSDL MYSQL

1.2.1. Giới thiệu về ngôn ngữ lập trình PHP

1.2.1.1. PHP là gì? Cái tên PHP ban đầu được viết tắt bởi cụm từ Personal Home Page và được phát

triển từ năm 1994 bởi Rasmus Lerdorf. Lúc đầu chỉ là bộ đặc tả Perl, được sử dụng để

lưu dấu vết người dùng trên các web. Sau đó Rasmus Lerdorf đã phát triển PHP như là

một máy đặc tả (Scripting engine). Vào giữa năm 1997, PHP đã phát triển nhanh

chóng trong sự yêu thích của nhiều người. PHP đã không còn là một dự án cá nhân của

Rasmus Lerdorf và đã trở thành công nghệ web quan trọng. Zeev Suraski và Andi

Gutmans đã hoàn thiện việc phân tích cú pháp cho ngôn ngữ để rồi tháng 6 năm 1998,

PHP3 đã ra đời (phiên bản này có phần mở rộng là *.php3). Cho đến tận thời điểm đó,

PHP chưa 1 lần được phát triển chính thức, một yêu cầu viết lại bộ đặc tả được đưa ra,

ngay sau đó PHP4 ra đời (phiên bản này có phần mở rộng không phải là *.php4 mà là

*php). PHP4 nhanh hơn PHP3 rất nhiều. PHP bây giờ được gọi là PHP Hypertext

PreProcesor. Tính đến thời điểm hiện thời, phiên bản PHP ổn định mới nhất là 5.3.5.

Trang 3

Page 12: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

1.2.1.2. Tại sao phải sử dụng PHPNhư chúng ta đã biết, rất nhiều website được xây dựng bởi ngôn ngữ HTML

(Hypertext Markup Language). Đây chỉ là những website tĩnh, nghĩa là chứng chỉ chứa

đựng một nội dung cụ thể với những dòng văn bản đơn thuần, hình ảnh và có thể được

hỗ trợ bởi ngôn ngữ JavaScript hoặc Java Apple. Tuy nhiên, website cần được cập

nhật nội dung một cách linh hoạt dễ dàng, vì vậy nó cần tới cơ sở dữ liệu. Các website

như vậy được gọi là website động. Bởi nội dung của chúng luôn thay đổi tuỳ thuộc vào

dữ liệu và người sử dụng. PHP là ngôn ngữ đáp ứng được những yêu cầu trên. Bằng

cách chạy chương trình PHP trên máy chủ Web Sever, chúng ta có thể tạo ra ứng dụng

có sự tương tác với cơ sở dữ liệu.

Chúng ta hãy xem xét cách hoạt động của những trang web được viết bằng ngôn

ngữ HTML và PHP như thế nào:

Với các trang HTML

Khi có yêu cầu tới mọi trang web từ phía người sử dụng (browser). Web server

thực hiện ba bước sau:

Đọc yêu cầu từ phía browser

Tìm trang web trên server

Gởi trang web đó trở lại cho browser nếu tìm thấy

Hình 1.1 Hoạt động của website viết bằng HTML

Với các trang PHP

Trang 4

Page 13: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Khác với các trang HTML, khi một trang PHP được yêu cầu, web server phân

tích và thi hành các đoạn mã PHP để tạo ra trang HTML. Điều này được thực hiện

bằng bốn bước sau:

Đọc yêu cầu từ phía browser.

Tìm trang web trên server.

Thực hiện các đoạn mã PHP trên trang web đó để sửa đổi nội dung của

trang.

Gửi nội dung cho browser ở dạng HTML

Hình 1.2 Hoạt động của website viết bằng PHP

Tóm lại, sự khác nhau giữa HTML và PHP là HTML không được thực hiện xử lý

trên máy chủ Web server còn các trang viết bằng mã PHP được thực hiện và xử lý trên

máy chủ Web server, do đó PHP linh động và mềm dẻo hơn.

1.2.1.3. Những điểm mạnh của PHP PHP thực hiện với tốc độ rất nhanh và hiệu quả. Một Server bình thường có thể

đáp ứng được hơn hàng chục triệu truy cập trong một ngày.

PHP hỗ trợ kết nối tới rất nhiều CSDL khác nhau như PostgreSQL, Microsoft

SQL Server, Oracle, dbm, filePro... Ngoài ra còn hỗ trợ kết nối tới ODBC thông qua

đó có thể kết nối với nhiều ngôn ngữ khác mà ODBC hỗ trợ.

PHP cung cấp một hệ thống thư viện phong phú và ngày càng phát triển. Do

PHP ngay từ đầu được thiết kế nhằm mục đích xây dựng và phát triển các ứng dụng

Trang 5

Page 14: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

trên web nên PHP cung cấp rất nhiều hàm xây dựng sẵn giúp thực hiện các công việc

rất dễ dàng: gửi, nhận mail, làm việc với cookie…

PHP là một ngôn ngữ rất dễ dùng, dễ học và đơn giản hơn nhiều so với các

ngôn ngữ khác như Perl, Java.

Đặc biệt, PHP là ngôn ngữ mã nguồn mở. Có rất nhiều phần mềm website mã

nguồn mở được viết trên nền tảng của PHP như Joomla, Drupal, Nukeviet...

1.2.2. Giới thiệu về hệ quản trị CSDL Mysql

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được

các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ

sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều

hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ và tính

bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập cơ sở dữ liệu trên

internet. MySQL miễn phí hoàn toàn, có rất nhiều phiên bản cho các hệ điều hành

khác nhau: Phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X,

Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS, …

Sự kết hợp tuyệt vời giữa PHP và MySQL đã cho ra đời phần mềm mã nguồn mở

Joomla.

Các đặc điểm của MySQL:

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu

quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).

MySQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phí nằm trong

nhóm LAMP (Linux - Apache -MySQL - PHP)

MySQL là một hệ quản trị nhỏ, bảo mật và rất dễ sử dụng. Thường sử dụng

cho các ứng dụng nhỏ và trung bình. Nó được sử dụng cho các ứng dụng client-

server với máy chủ mạnh như UNIX, Windows, và đặc biệt là máy chủ UNIX.

MySQL hỗ trợ các điểm vào là ANSI 92 và ODBC mức 0-2 SQL chuẩn.

MySQL hỗ trợ nhiều ngôn ngữ cho việc thông báo lỗi như: Czec, Dutc,

English, Estonia, Polish, Porugue, Spanish and Swedish. Ngôn nữ được hỗ trợ

mặc định cho dữ liệu là ISO-8859-1(Latin1).

Ngôn ngữ lập trình được sử dụng để viết các hàm API để nhập cơ sở dữ liệu

MySQL có thể là C, Perl, PHP...

Trang 6

Page 15: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Cơ sở dữ liệu MySQL rất dễ quản lý và có tốc độ xử lý cao hơn tớ ba bốn

lần so với các hệ quản trị cơ sở dữ liệu khác.

MySQL không cho phép thực hiện các câu lệnh SQL select truy vấn con.

MySQL không hỗ trợ Stored Procedures, Triggers, Transactions, Foreign

Keys và Views như các hệ quản trị cơ sở dữ liệu khác.

1.3. HỆ QUẢN TRỊ NỘI DUNG JOOMLA

1.3.1. Giới thiệu hệ quản trị nội dung

Hệ quản trị nội dung hay còn gọi là hệ thống quản lý nội dung (CMS - Content

Management System) là phần mềm để tổ chức và tạo môi trường cộng tác thuận lợi

nhằm mục đích xây dựng một hệ thống tài liệu và các loại nội dung khác một cách

thống nhất. Mới đây, thuật ngữ này liên kết với chương trình quản lý nội dung của

website. Quản lý nội dung web (web content management) cũng đồng nghĩa như vậy.

Các đặc điểm cơ bản của CMS bao gồm:

Phê chuẩn việc tạo hoặc thay đổi nội dung trực tuyến.

Chế độ Soạn thảo WYSIWYG tiện lợi.

Quản lý người dùng.

Tìm kiếm và lập chỉ mục.

Lưu trữ.

Tuỳ biến giao diện.

Quản lý ảnh và các liên kết (URL).

Với sự phát triển nhanh chóng hiện nay của internet, nếu chúng ta có một website

mà không có chức năng thay đổi, cập nhật nội dung mới, chúng ta sẽ trở nên tụt hậu và

gặp khó khăn trong việc cập nhật nội dung cũng như quảng bá hình ảnh công ty, tổ

chức. Ý tưởng cho một website với hệ thống quản trị nội dung (Content Management

Systems – CMS) được ra đời nhằm đáp ứng nhu cầu trên. Và đặc biệt là sự xuất hiện

của mã nguồn mở Joomla CMS. Chúng ta có thể thấy được sức mạnh của hệ quản trị

nội dung trong loại mã nguồn mở này.

Trang 7

Page 16: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

1.3.2. Giới thiệu sơ lược về Joomla

1.3.2.1. Joomla! là gì?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 hoặc Intranet.

Joomla! giúp xây dựng và triển khai các website blog, website tin tức, website

bán hàng, website thương mại điện tử... cho tới mạng 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.

Joomla! được phát âm theo tiếng Swahili như là jumla nghĩa là "đồng tâm hiệp

lực". Khẩu ngữ này khẳng định sự đoàn kết và quyết tâm của cộng đồng Joomla!

1.3.2.2. Tại sao sử dụng Joomla? Joomla là mã nguồn mở và được cung cấp hoàn toàn 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.

Joomla! có một cộng đồng phát triển cũng như sử dụng rất lớn. Điều đó có

nghĩa là ngay khi bạn gặp vấn đề khó khăn, rất nhiều người tình nguyện sẵn sàng giúp

đỡ bạn.

Joomla! giúp tiết kiệm thời gian và công sức thiết kế Website

Sử dụng Joomla rất dễ dàng và thân thiện đối với 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 trong số

chúng cũng đều có mã nguồn mở và miễn phí.

Joomla! có một 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.

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 cho 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.

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 đủ.

Các hoạt động của Joomla! như triển lãm Joomla (Joomla Exhibition), hội thảo

Joomla (Joomla Workshop), ngày hội Joomla (Joomla! Day) được tổ chức thường niên

Trang 8

Page 17: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

ở các thành phố lớn của các nước như Úc, Mỹ, Anh, Pháp..luôn thu hút đông đảo các

thành viên tham gia.

1.3.2.3. Tình hình sử dụng Joomla! ở Việt Nam

Hình 1.3 Tình hình sử dụng Joomla! ở Việt Nam

Kể từ khi Joomla! 1.0 ra đời vào tháng 09/2005, có hàng nghìn thậm chí hàng

chục nghìn website ở Việt Nam đã được xây dựng trên nền tảng Joomla! và con số này

vẫn đang tiếp tục tăng không ngừng. Nhiều người từng là quản trị viên của diễn đàn

Joomla Việt đầu tiên đã thành lập các công ty chuyên thiết kế website Joomla và đang

gặt hái những thành công bước đầu. Một vài người khác thậm chí đã vượt qua hàng

trăm công ty tên tuổi khác trên thế giới để trở thành công ty hàng đầu về cung cấp

template, dịch vụ gia công cho Joomla! với doanh thu ước tính từ hàng tỷ cho tới hàng

chục tỷ đồng mỗi năm.

So với các nền tảng mã nguồn mở từng gây tiếng vang ở Việt Nam như dòng

nuke (PostNuke, phpNuke, NukeViet, DotNetNuke) hay Plone, Xoops... thì Joomla!

hiện là nền tảng phát triển nhanh nhất, được sử dụng nhiều nhất và có một cộng đồng

lớn mạnh nhất.

1.3.2.4. Các giải thưởng mà Joomla! Đã đạt được Hệ quản trị nội dung mã nguồn mở PHP tốt nhất do Packt Publishing trao tặng

tháng 10/2007

Hệ quản trị nội dung mã nguồn mở tốt nhất do Packt Publishing công bố tháng

11/2006

Dự án mã nguồn mở/ Linux tốt nhất tại triễn lãm LinuxWorld 2006 ở Anh

tháng 10/2006

Dự án mã nguồn mở/ Linux tốt nhất tại triễn lãm LinuxWorld 2005 ở Anh

tháng 10/2005

Trang 9

Page 18: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

1.3.3. Các Phiên Bản Của Joomla

Hiện tại Joomla có năm phiên bản chính:

Joomla 1.0.x: Phiên bản thế hệ 1 (được cộng đồng người sử dụng và các nhà

phát triển đánh giá rất ổn định). Phiên bản đầu tiên là phiên bản Joomla 1.0.0 (ngày

25/9/2005) có nguồn gốc từ mambo 4.5.2.3. Phiên bản phát hành cuối cùng của

Joomla 1.0 là phiên bản Joomla 1.0.15 (ngày 22/2/2008).

Dòng phiên bản 1.5.x: Phiên bản thế hệ 2 (ổn định), đây là phiên bản cải

tiến từ phiên bản Joomla 1.0.x trong đó phần code được viết mới hoàn toàn, tuy nhiên

vẫn giữ cách hành xử như phiên bản cũ. Phiên bản Joomla 1.5.x được coi như Mambo

4.6. Phiên bản Joomla 1.5 tiếp tục duy trì một giao diện look and feel (nhìn và cảm

nhận) rất thuận tiện đối với người sử dụng. Cả Joomla 1.5 và mambo 4.6 đều hỗ trợ đa

ngôn ngữ. Joomla sử dụng file định dạng “.ini” để lưu trữ các thông tin chuyển đổi

ngôn ngữ, nó hỗ trợ tất cả các ngôn ngữ có tập kí tự được biểu diễn bằng bảng mã

UTF-8, phù hợp với ngôn ngữ Việt Nam. Joomla 1.5 cũng bao gồm các đặc tính mới

như:

Hỗ trợ các hình thức chứng thực LDAP, Gmail...

Hỗ trợ mô hình Client-Server hỗ trợ giao thức gọi hàm từ xa Xml-Rpc.

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

PHP5) và tăng cường hỗ trợ cho MySQL 5, đồng thời nó cũng hỗ trợ các hệ quản

trị cơ sở dữ liệu khác.

Phiên bản 1.6.x: Với một khoảng thời gian chuẩn bị xấp xỉ 3 năm, cuối cùng

Joomla phiên bản 1.6 cũng đã chính thức được ra mắt (ngày 11/01/2011) với các tính

năng được chờ đợi từ rất lâu của cộng đồng Joomla như:

Quản lý truy xuất của người dùng (ACL).

Phân loại nội dung đa cấp thay vì chỉ có hai cấp như phiên bản trước.

Quản lý và nâng cấp các thành phần mở rộng chỉ với vài cú nhấp chuột.

Khả năng cài đặt một lúc nhiều loại thành phần mở rộng.

Thư viện JForm mới giúp việc tạo và quản lý Form trong trang web dễ dàng

hơn, giúp tăng tốc trong việc phát triển các thành phần mở rộng trong Joomla.

Và rất nhiều cải tiến khác giúp tăng tốc độ tải trang, cải thiện trải nghiệm cho

người dùng, tối ưu hoá cho các bộ máy tìm kiếm.v.v..

Trang 10

Page 19: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Phiên bản 1.7.x: Như dự đoán, Joomla! 1.6 chỉ là bước đệm để tiến tới

Joomla! 1.7, phiên bản thật sự được mọi người mong đợi với những tính năng mới và

hoàn thiện hơn.

Các tính năng mới / New features – CMS

- Thêm hỗ trợ để đăng nhập API phản đối

- JToolBarHelper chức năng cho Lưu và Tạo mới và Lưu Sao chép

- Mod_custom với backgroundimages

- Cho phép preselection các loại trong com_content

- Thêm JFormRuleOptions quy tắc để xác nhận các loại = "danh sách" các

thông số

- Hãy sao chép / di chuyển phù hợp giữa các thành phần

- Cập nhật TinyMCE phiên bản 3,4

- Các thông số mới cho các bộ chuyển đổi ngôn ngữ

- Dịch thuật các đội có thể bao gồm một tập tin css trong gói quản trị của họ

để thay đổi phông chữ được sử dụng trong cuối

- Ngôn ngữ quản lý hiển thị ngôn ngữ cài đặt trong các thẻ

(và một vài chi tiết được xem xét ...)

Phiên bản mới nhất 2.5.x : Phần mềm mã nguồn mở Joomla đã chính thức

phát hành bản thử nghiệm phiên bản Joomla 2.5. Đây là lần phát hành thứ 2 theo chu

kỳ 6 tháng kể từ khi phiên bản Joomla 1.6 được ra mắt vào tháng 1 năm 2011.

Phiên bản 2.5 hiện đang trong giai đoạn thử nghiệm và tiếp tục hoàn thiện.

1.3.4. Kiến trúc Joomla

Hình 1.4 Kiến trúc Joomla

Joomla! 1.5 gồm có 3 tầng hệ thống. Tầng dưới cùng là mức nền tảng, chứa các

thư viện và các plugin (còn được biết với tên gọi mambot). Tầng thứ hai là mức ứng

Trang 11

Page 20: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

dụng và chứa lớp JApplication. Hiện tại tầng này gồm 3 lớp con: JInstallation,

JAdministrator và JSite. Tầng thứ ba là mức mở rộng. Tại tầng này có các thành phần

(component), môđun (module) và giao diện (template) được thực thi và thể hiện.

1.3.5. Thành phần mở rộng của Joomla

Thành phần mở rộng (extensions) là gói cài đặt thêm để mở rộng chức năng

ngoài các chức năng cốt lõi của Joomla. Trong Joomla, có năm loại thành phần mở

rộng.

1.3.5.1. ComponentJoomla Component là một trong các loại thành phần mở rộng quan trọng nhất

của Joomla và thực chất nó là một ứng dụng trong hệ thống Joomla. Component được

sử dụng để thực hiện một chức năng lớn nào đó, chẳng hạn như: Cung cấp tin tức,

quảng cáo, rao vặt, đặt phòng khách sạn, bất động sản, download...

Một component được hiển thị ở phần trung tâm, hay phần chính (mainbody) của

Website.

Hình 1.5 Menu quản lý các Component của Joomla

Các Component mặc định của Joomla

Trong phiên bản Joomla 1.5 có tất cả 11 component mặc định được cung cấp

kèm theo. Các component này được đặt trong thư mục [Joomla]/components và nằm

trong các thư mục con tương ứng với ký hiệu là "com_tên component".

Trang 12

Page 21: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Hình 1.6 Danh sách các component mặc định của Joomla 1.5

Danh sách các component và ý nghĩa của chúng:

+ com_banners: Quản lý bảng quảng cáo (banner).

+ com_contact: Quản lý các đầu mối liên hệ (contact).

+ com_content: Quản lý và hiển thị bài viết (đây là component quan trọng nhất)

+ com_mailto: Quản lý chức năng gửi/nhận email.

+ com_media: Quản lý các tệp đa phương tiện (video, flash, mp3, hình).

+ com_newsfeeds: Quản lý việc lấy tin từ website khác.

+ com_poll: Cung cấp chức năng bình chọn.

+ com_search: Cung cấp chức năng tìm kiếm.

+ com_user: Quản lý thành viên.

+ com_weblinks: Quản lý và hiển thị danh mục các website liên kết.

com_wrapper: Cho phép nhúng mộ

1.3.5.2. ModuleJoomla Module là một trong các thành phần mở rộng của Joomla, nó là một ứng

dụng nhỏ (thường chỉ có vài file và phần lập trình cũng không nhiều) được sử dụng

chủ yếu để lấy dữ liệu và hiển thị thông tin. Module thường được dùng kết hợp kèm

với các component nhằm mở rộng, cũng như thể hiện rõ ràng hơn các chức năng của

component.

Không giống như component, một module có thể được đặt ở bất kỳ vị trí nào trên

template hoặc vị trí do người dùng tự định nghĩa. Ngoài ra một module có thể được

nhân bản, nghĩa là cùng lúc có thể xuất hiện tại một vị trí hoặc các vị trí khác nhau.

Trang 13

Page 22: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Hình 1.7 Module tin chú ý được đặt ở trang chủ

Vị trí của Module Joomla.

Vị trí của module (module position) là nơi mà module có thể được đặt vào đó.

Mỗi vị trí đều được xác định thông qua một định danh duy nhất (một cái tên), chẳng

hạn như: left, right, top, bottom, user1, user2... Tên và số lượng các vị trí này được quy

định bởi template. Các template khác nhau thì số lượng vị trí module cũng như tên của

chúng có thể khác nhau. Ngoài ra, trong quá trình sử dụng người dùng cũng có thể tự

định nghĩa các vị trí mới sao cho phù hợp với yêu cầu của mình.

Các Module mặc định của Joomla 1.5

Trong phiên bản Joomla 1.5 có tất cả 20 module mặc định được cung cấp kèm

theo. Các module này được đặt trong thư mục [Joomla]/modules và nằm trong các thư

mục con tương ứng với ký hiệu là "mod_tenmodules".

Trang 14

Page 23: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Hình 1.8 Các module mặc định của Joomla1.5

Danh sách các Module Joomla được cung cấp theo mặc định.

+ mod_archive: Module hiển thị các bài viết đã được đánh dấu "lưu trữ".

+ mod_banners: Module hiển thị các quảng cáo.

+ mod_breadcrumbs: Module hiển thị thanh điều hướng.

+ mod_custom: Module hiển thị một đoạn mã HTML bất kỳ.

+ mod_feed: Module hiển thị tin lấy từ các website khác.

+ mod_footer: Module hiển thị dòng bản quyền ở cuối Website.

+ mod_latestnews: Module hiển thị các bài viết mới nhất.

+ mod_login: Module hiển thị form đăng nhập.

+ mod_mainmenu: Module hiển thị menu điều khiển.

+ mod_mostread: Moudle hiển thị các bài viết được đọc nhiều nhất.

+ mod_newsflash: Module hiển thị tin vắn / tin nhanh.

+ mod_poll: Module hiển thị bình chọn.

+ mod_random_image: Module hiển thị ảnh ngẫu nhiên.

+ mod_related_items: Module hiển thị các bài viết liên quan.

+ mod_search: Module hiển thị form tìm kiếm.

+ mod_sections: Module hiển thị danh sách các mục của Website.

+ mod_stats: Module hiển thị các thông số thống kê của Website.

+ mod_syndicate: Module cấp tin cho các website khác.

+ mod_whoisonline: Module hiện danh tính và số người trực tuyến.

+ mod_wrapper: Mudule hiển thị một trang web bất kỳ được nhúng vào

website Joomla.

Trang 15

Page 24: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

1.3.5.3. Plugin Là thành phần mở rộng cung cấp một số chức năng cộng thêm cho website.

Plugins khác với module và component ở đặc điểm người quản trị không cần quản lý

nó thường xuyên.

Hình 1.9 Menu quản lý Joomla Plugin từ trang quản trị

Các Plugin mặc định của Joomla:

Trong phiên bản Joomla 1.5 có tất cả 32 plugin mặc định được cung cấp kèm

theo. Các module này được phân thành 8 loại khác nhau và đặt trong các thư mục con

tương ứng của thư mục [Joomla]/plugins.

Hình 1.10 Danh sách 8 loại plugin mặc định của Joomla

Danh sách các loại plugin của Joomla:

+ authentication: Các plugin chứng thực quyền hạn.

+ content: Các plugin nội dung (bài viết).

+ editors: Các plugin về trình soạn thảo.

+ editors-xtd: Các plugin hỗ trợ, mở rộng tính năng cho trình soạn thảo.

+ search: Các plugin về tìm kiếm.

Trang 16

Page 25: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

+ system: Các plugin của hệ thống.

+ user: Các plugin về người dùng.

+ xmlrpc: Các plugin cho phép quản trị Joomla, viết bài từ các hệ thống khác.

1.3.5.4. TemplateJoomla Template là một gói bao gồm các file PHP, HTML, CSS, JS

(Javascript)... và các tấm hình, ảnh, biểu tượng, video, flash kèm theo tạo nên giao

diện (bố cục và hình hài) của website Joomla.

Hình 1.11 Quản lý Template Joomla từ trang quản trị

Các Template mặc định của Joomla:

Trong phiên bản Joomla 1.5 có 3 template được đóng gói sẵn kèm theo: JA

Purity (Joomlart), Rhuk Milkyway (RocketTheme) và Beez (Angie Radtke/Robert

Deutz). Trong đó JA Purity là template được thiết kế bởi Joomlart - công ty có xuất xứ

từ Việt Nam và là công ty hàng đầu về template Joomla hiện nay.

Hình 1.12 Template Beez, JA Purity và Rhuk Milkyway của Joomla

Đặc điểm của Template Joomla:

+ Các template của Joomla đều có khả năng tùy biến cao thông qua cách sắp xếp

và đặt vị trí các module rất linh động.

Trang 17

Page 26: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

+ Việc thiết kế Template Joomla khá dễ dàng, thậm chí chỉ cần vài giờ là có thể

chuyển từ một template thuần HTML/CSS hay một template của một PORTAL/CMS

khác sang template Joomla.

+ Có thể dùng cùng lúc vài template khác nhau trên cùng website. Chẳng hạn

đối với trang HOME gắn với template JA Purity, còn trang DOWNLOAD lại gắn với

template Rhuk Milkyway...

+ Số lượng template Joomla free (template miễn phí) và template Joomla

commercial (template có phí) được cung cấp trên mạng internet hiện nay là một con số

rất lớn. Có tới hàng nghìn thậm chí hàng chục nghìn template.

1.3.5.5. LanguagesJoomla là mã nguồn mở hỗ trợ đa ngôn ngữ, sử dụng file định dạng “.ini” để lưu

trữ các thông tin chuyển đổi ngôn ngữ, nó hỗ trợ tất cả các ngôn ngữ có tập kí tự được

biểu diễn bằng bảng mã UTF-8. Bằng cách cài đặt một gói ngôn ngữ, có thể để quốc tế

hóa Joomla sang các ngôn ngữ khác nhau.

Trang 18

Page 27: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

2.1. GIỚI THIỆU VỀ TRƯỜNG THPT PHÚC THỌTrường THPT Phúc Thọ thành lập năm 1966, được tách ra từ trường THPT Sơn

Tây. Ra đời trong bối cảnh nước nhà chưa được thống nhất, công cuộc kháng chiến

chống Mỹ đang vào giai đoạn ác liệt nhất và công cuộc xây dựng CNXH ở miền Bắc

đang được tiến hành khẩn trương. Trong những năm vừa qua trường THPT Phúc Thọ

đang chuyển mình mạnh mẽ trong công cuộc đổi mới cùng đất nước với nhiều thử

thách, khó khăn nhưng cũng rất nhiều thuận lợi. Nhà trường đang từng bước phát triển

bền vững ngày càng trưởng thành, đã đang và sẽ trở thành một nhà trường có chất

lượng giáo dục tốt, một địa chỉ tin cậy của nhân dân trên địa bàn huyện Phúc Thọ và

các vùng lân cận.

Kế hoạch chiến lược phát triển nhà trường đoạn 2010 -2015, tầm nhìn 2020

nhằm xác định rõ định hướng, mục tiêu chiến lược và các giải pháp chủ yếu trong quá

trình vận động và phát triển, là cơ sở quan trọng cho các quyết sách của Hội đồng

trường và hoạt động của Ban Giám hiệu cũng như toàn thể cán bộ, giáo viên, nhân

viên và học sinh nhà trường. Xây dựng và triển khai kế hoạch chiến lược của trường

THPT Phúc Thọ là hoạt động có ý nghĩa quan trọng trong việc thực hiện chính sách

của chính phủ về đổi mới giáo dục phổ thông. Cùng các trường THPT xây dựng ngành

giáo dục Thủ đô phát triển theo kịp yêu cầu phát triển kinh tế- xã hội của đất nước, hội

nhập quốc tế.

2.2. XÁC ĐỊNH CÁC CHỨC NĂNG HỆ THỐNGWebsite sẽ được xây dựng trên nền tảng mã nguồn mở Joomla. Đối với Joomla,

phải tích hợp các component đảm nhận các tính năng website giáo dục, quản lý công

văn - tài liệu, video – hình ảnh, quản lý và tra cứu điểm trực tuyến. Nhìn chung,

website có các chức năng chính sau:

Chức năng quản lý tin tức: Cho phép quản trị website có thể đăng tin và

quản lý tin tức, người truy cập có thể xem tin tức đã đăng.

Chức năng quản lý thông tin thành viên: Đảm nhiệm chức năng đăng ký

thành viên. Quản lý tài khoản đăng nhập, thông tin email.. cơ bản của thành viên.

Cho phép người quản trị có thể thêm, xoá sửa thông tin thành viên. Thành viên cũng

Trang 19

Page 28: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

có thể chỉnh sửa thông tin của mình. Chức năng này đã mặc định tích hợp trên

Joomla với component com_users.

Chức năng quản lý công văn – tài liệu: Đảm bảo việc thực hiện quản lý, lưu

trữ công văn – tài liệu,…

Chức năng quản lý video – hình ảnh: Đảm bảo việc thực hiện quản lý, lưu

trữ , chia sẽ hình ảnh, video.

Chức năng quản lý điểm và tra cứu điểm trực tuyến: Là chức năng tra cứu

thông tin học sinh, quản lý về điểm, kết quả học tập.

Website phải được xây dựng trên giao diện với màu sắc hài hoà, bố cục các

module phải thích hợp. Vị trí module phải xuất hiện và thay đổi theo các trang khác

nhau. Đảm bảo việc truyền tải thông tin và quảng bá hình ảnh của trường.

2.3. CHỨC NĂNG QUẢN LÝ TIN TỨCHiện nay, phiên bản Joomla 1.5 mặc định đã tích hợp sẵn chức năng quản lý tin

tức do component com_content đảm nhận. Trong component này, tin tức được tổ chức

theo mô hình phân cấp gồm 2 mức: Nhóm tin (Section) và chủ đề con (category).

Áp dụng vào cổng thông tin, các nhóm tin và chủ đề con được tạo để phân cấp tin

tức như sau:

+ Giới thiệu: Nhóm tin này chứa các tin tức giới thiệu về trường.

+ Thông báo: Chứa các tin tức thông báo từ BGH, đoàn thanh niên, công đoàn

và thông tin tuyển sinh.

+ Tổ chuyên môn: Chứa các tin tức của các tổ chuyên môn.

+ Tin tức – hoạt động: Chứa các tin tức về văn hóa – thể thao, tin giáo dục, các

CLB, gương mặt tiêu biểu.

+ Hướng nghiệp: Chứa các tin tức về các trường ĐH-CĐ, chia sẽ kinh nghiệm.

Trang 20

Page 29: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Hình 2.1 Sơ đồ phân cấp tin tức

Hình 2.2 Các nhóm tin được tạo

Trang 21

Page 30: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Hình 2.3 Các chủ đề con được tạo

2.4. CHỨC NĂNG QUẢN LÝ HÌNH ẢNH - VIDEO

2.4.1. Phân tích yêu cầu

Tính năng này cho phép người quản lý đăng tải các hình ảnh và video của

trường, đồng thời cho người dùng có thể xem các hình ảnh và video đó.

Tính năng cơ bản cần phải cung cấp cho người quản trị:

+Quản lý file hình ảnh: Tất cả các file hình ảnh của website được tổ chức giống

như windows và được tổ chức vào trong các thư mục trên máy chủ. Thư mục này là do

người quản trị tùy ý tạo, xóa.

+Quản lý hình ảnh trong các album: Khi hiển thị lên website thì hình ảnh được tổ

chức vào các Album. Mỗi album bao gồm nhiều hình ảnh cùng chủ đề chung của

Album.

Tính năng cơ bản cần phải cung cấp cho người dùng

+Xem các video và hình ảnh.

2.4.2. Đề xuất giải pháp

Hiện nay, Joomla có số lượng thành phần mở rộng khổng lồ với hơn 7000

component, module, plugin... Trong đó các component được cung cấp cho việc quản lý

hình ảnh – video khá nhiều (số liệu được lấy từ trang http://extensions.joomla.org/).

Trang 22

Page 31: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Với yêu cầu như mục trên đã phân tích, Tôi xin đề xuất và chủ động áp dụng

component Phoca Gallery của Phoca.

Hình 2.4 Component Phoca Gallery

Phoca Gallery là một phòng trưng bày bộ sưu tập hình ảnh cho Joomla! CMS. Nó

bao gồm các component, modules và plugins và cho phép người dùng hiển thị hình

ảnh hoặc video Youtube với nhiều phong cách khác nhau.

Yêu cầu:

    Joomla! 1.5.x (ổn định hoặc bất kỳ phiên bản sau này)

    PHP 4.4.1 (hoặc bất kỳ phiên bản sau này)

Các module hỗ trợ cho component Phoca Gallery

Phoca Gallery Image Module

Phoca Gallery Tree Module

Phoca Gallery Menu Module

2.5. CHỨC NĂNG QUẢN LÝ TÀI LIỆU - CÔNG VĂN

2.5.1. Phân tích yêu cầu

Tính năng này cho phép người quản lý đăng tải các file tài liệu, công văn,…,

đồng thời cho các người dùng có thể download các file đó.

Tính năng cơ bản cần phải cung cấp cho người quản trị:

+Quản lý file: Tất cả các file được tổ chức giống như windows và được tổ chức

vào trong các thư mục trên máy chủ. Thư mục này là do người quản trị tùy ý tạo, xóa.

+Quản lý chủ đề: Khi hiển thị lên web thì các file được tổ chức vào các chủ đề.

Tính năng cơ bản cần phải cung cấp cho người dùng

+Cho phép người dùng download file

Trang 23

Page 32: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

2.5.2. Đề xuất giải pháp

Với yêu cầu như mục trên đã phân tích, Tôi xin đề xuất và chủ động áp dụng

component Phoca Download của Phoca.

Hình 2.5 Component Phoca Download

Phoca Download là trình quản lý download cho Joomla! CMS. Nó bao gồm các

component, modules và plugins và cho phép để thêm tập tin vào các trang web có thể

được tải về bởi người dùng khác. Các tập tin tải về sẽ được liệt kê trong thống kê.

Yêu cầu:

    Joomla! 1.5.x (ổn định hoặc bất kỳ phiên bản sau này)

    PHP 4.4.1 (hoặc bất kỳ phiên bản sau này)

Các module hỗ trợ cho component Phoca Download

Phoca Download Section Menu Module

Phoca Download Statistics Module

Phoca Download Chart Statistics Module

Phoca Download Tree Menu Module

Phoca Download File Module

2.6. CHỨC NĂNG QUẢN LÝ ĐIỂM VÀ TRA CỨU ĐIỂM TRỰC TUYẾN

2.6.1. Phân tích yêu cầu

Tính năng này cho phép người quản lý thực hiện việc thêm, sửa, xóa thông tin và

điểm của học sinh theo kì học và theo năm học,…, đồng thời cho các người dùng có

thể tra cứu trực tuyến.

2.6.2. Đề xuất giải pháp

Sơ đồ thực hiện hệ thống:

Trang 24

Page 33: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Người quản trị được thêm, sửa xóa thông tin, truy vấn, hiển thị thông tin nhằm kiểm

tra độ an toàn của hệ thống và cách thực thi chương trình có đúng như mong muốn của

hệ thống được đặt ra.

Dữ lsinhiệu đầu vào gồm thông tin của học sinh, điểm các môn theo học phần. Điểm

của học qua các học kỳ.

Sau khi nhập vào người quản trị có thể xem cách hiển thị dữ liệu bên ngoài hệ thống

thông qua tìm kiếm và hiển thị.

Mô hình truy xuất thông tin của người dùng trên internet:

Hình xx: Mô hình truy xuất thông tin

Người dùng (Phụ huynh hoặc học sinh) thông qua máy tính kết nối internet vào

website. Hệ thống website cho phép người dùng điều hướng đến mục tra cứu điểm thi.

Thông qua mô hình tra cứu người sử dụng thực hiện tìm kiếm đến tên cần truy xuất và

thực hiện xem thông tin hiển thị.

Kết thúc việc tìm kiếm và truy xuất thông tin người dùng có được thông tin về điểm

theo yêu cầu.

Trang 25

Page 34: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Lựa chọn cài :

    Hệ thống máy chủ chỉ định: Joomla! 1.5. x

    Hệ thống biên dịch tối thiểu: PHP 4.4.1 hoặc phiên bản mới hơn

Cơ sở dữ liệu Mysql-server-5.0 hoặc mới hơn

Webserver apache2 trở lên

Trang 26

Page 35: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

XÂY DỰNG CHƯƠNG TRÌNH THỰC NGHIỆM

2.7. YÊU CẦU HỆ THỐNGWebsite được phát triển trên nền tảng Joomla 1.5, sử dụng ngôn ngữ PHP và hệ cơ sở

dữ liệu MySQL. Có thể hoạt động trên hệ điều hành Windows hoặc Unix (khuyên dùng) và

yêu cầu cấu hình máy chủ như sau:

Phần mềm, module

Phiên bản thấp

nhất

Khuyên dùng

Phiên bản tối ưu

Phiên bản mới nhất (03-2012)

PHP 4.3.x 4.4.7 5.0.x 5.4.0

MySQL 3.23.x 4.1.22 5.0.x 5.5.21

Apache 1.3 1.3.9 2.0.61 2.2.8

mod_mysql

mod_xml

mod_zlib

mod_rewrite

Bảng 3.1 Những yêu cầu của máy chủ web cho website

Cấu hình Trạng thái yêu cầu

Safe Mode Tắt

Display Errors Tắt

File Uploads Bật

Magic Quotes Runtime Tắt

Register Globals Tắt

Output Buffering Tắt

Session Auto Start Tắt

Bảng 3.2 Yêu cầu cấu hình PHP đề vận hành website

Bảng 3.3 Yêu cầu về hệ điều hành

Windows Windows server

IIS Phiên bản 6.0

CGI-Tool PHP Cho phép IIS biên dịch với PHP

MySQL-server 5.0 Hệ quản trị CSDL

Phpmyadmin Giao diện quản lý CSDL web

Linux CentOS

Trang 27

Page 36: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

HTTPD Webserver apache 2

Mysql-server-5.0 Hệ quản trị CSDL

Phpmyadmin Trình điều điều khiển CSDL web

2.8. GIỚI THIỆU CHƯƠNG TRÌNH

2.8.1. Trang chủ

Trang chủ được thiết kế chủ đạo với màu trắng và xanh. Đảm bảo việc truyền tải

tin tức và quảng bá hình ảnh của trường.

Các module chính có trong website:

+ Show ảnh: Trình diễn các hình ảnh về trường

+ Thông báo: Hiển thị các thông báo mới nhất

+ Tin mới đăng: Hiển thị các tin mới nhất

+ Tin đọc nhiều nhất : Hiển thị các tin tức được đọc nhiều nhất

+ Ja-news: Hiển thị các tin trong các nhóm tin hoặc trong các chủ đề con

+ Liên kết: Liên kết tới trang nội bộ và các trang bên ngoài trường.

+ Ý kiến của bạn: Ý kiến bình chọn của người dùng cho một nội dung cụ thể

+ Ai đang online: Hiển thị bao nhiêu người dang online

+ Liên kết: Liên kết tới trang nội bộ và các trang bên ngoài trường.

+ Thông kê truy cập: Thông kê các truy cập vào website

+ Quảng cáo: Các banner quảng cáo

Trang 28

Page 37: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Trang 29

Page 38: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Hình 3.1 Giao diện trang chủ

Trang 30

Page 39: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Trang 31

Page 40: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Hình 3.2 Vị trí các module chính ở trang chủ

Hình 3.3 Giao diện trang liên hệ

2.8.2. Giao diện cho người dùng

2.8.2.1. Giao diện chức năng quản lý tài liệu, công vănVới component quản lý tài liệu, công văn, các tài liệu được nhóm lại theo chủ

đề con, các chủ đề con được nhóm thành một chủ đề. Trong một chủ đề con chứa

nhiều tài liệu.

Trang 32

Page 41: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Hình 3.4 Giao diện chính chức năng quản lý tài liệu, công văn

Hình 3.5 Giao diện file download trong một chủ đề con

2.8.2.2. Giao diện chức năng quản lý hình ảnh, videoVới component quản lý hình ảnh - video, các hình ảnh được nhóm lại theo chủ

đề con. Hay nói cách khác, một chủ đề con có nhiều hình ảnh - video và một hình ảnh

- video có một chủ đề con.

Trang 33

Page 42: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Hình 3.6 Giao diện chính chức năng quản lý hình ảnh, video

Hình 3.7 Giao diện một chủ đề hình ảnh

2.8.2.3. Giao diện chức năng quản lý điểm và tra cứu điểm trực tuyếnVới component quản lý điểm và tra cứu điểm trực, người dùng không phải đăng

kí thành viên vẫn có thể tra cứu điểm được. Tìm với các từ khóa về tên, họ tên, lớp

theo các học kì và theo năm học.

Trang 34

Page 43: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Hình 3.8 Giao diện chính chức năng lý điểm và tra cứu điểm trực tuyến

Hình 3.9 Giao diện tra điểm của một từ khóa

Trang 35

Page 44: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Hình 3.10 Giao diện tra điểm của một học sinh

2.8.3. Giao diện cho người quản trị

Hình 3.11 Giao diện đăng nhập hệ thống

Trang 36

Page 45: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Hình 3.12 Giao diện chính trang quản trị

Hình 3.13 Giao diện chính Component Phoca Download

Hình 3.14 Giao diện chính Component Phoca Gallery

Trang 37

Page 46: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Hình 3.15 Giao diện chính Component Quản lý điểm

Hình 3.16 Giao diện Quản lý điểm

Hình 3.17 Giao diện Import điểm bằng file Excel

2.9. BẢO MẬT CHO WEBSITE

2.9.1. Các nguy cơ bảo mật

Hiện Joomla! ngày càng phát triển mạnh mẽ và ngày càng được ứng dụng rộng

rãi ở Việt Nam với số lượng các thành phần mở rộng (extensions) từ các hãng thứ ba

cũng tăng không ngừng cả về số lượng và chất lượng. Rất nhiều thành phần mở rộng

(gồm component, module, plugin, template...) thực sự tuyệt vời và đáng được cài đặt

trên mọi Website.

Tuy nhiên, có một thực tế song hành với mặt ưu điểm trên là số lượng các

Website bị tấn công thông qua các lỗi lập trình bất cẩn trong các thành phần mở rộng

Trang 38

Page 47: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

được cài đặt thêm cũng ngày càng tăng cao. Thậm chí số lượng lỗi bị khai thác còn cao

hơn cả Microsoft (theo báo cáo 6 tháng đầu năm 2008 của IBM).

Website được xây dựng trên nền tảng Joomla 1.5, loại mã nguồn đã được cộng

đồng mã nguồn mở đánh giá có tính bảo mật rất cao. Nhưng không vì thế mà các

website Joomla 1.5 có thể an toàn tuyệt đối. Nguy cơ bảo mật phần lớn xuất phát từ

các thành phần mở rộng của các hãng thứ ba.

2.9.2. Đề xuất giải pháp

2.9.2.1. Sao lưu toàn bộ Website theo định kỳĐiều đầu tiên và cũng là quan trọng nhất là phải thường xuyên sao lưu toàn bộ

Website bao gồm cả thư mục chứa Joomla và cơ sở dữ liệu MySQL. Hãy lập lịch ít

nhất một lần trong tháng (khuyến cáo là mỗi tuần một lần) để thực hiện sao lưu. Sẽ tiết

kiệm được rất nhiều công sức khi Website bị tấn công và chỉ mất vài giờ để khôi phục

lại gần như toàn bộ.

Hình 3.18 Giao diện Export CSDL

Trang 39

Page 48: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Hình 3.19 Giao diện Zip thư mục chứa Joomla

2.9.2.2. Bảo mật thư mục Administrator trong Joomla Lớp bảo mật thứ hai để trách truy cập trái phép vào trang quản trị là lớp mật khẩu

thư mục bằng cách sử dụng file .htaccess (chỉ hỗ trợ ở máy chủ web Apache). Trước

khi chứng thực bằng tài khoản và mật khẩu của website, người dùng khi truy cập vào

trang quản trị phải khai báo tài khoản và mật khẩu bảo vệ thư mục.

Hình 3.20 Giao diện đăng nhập vào thư mục administrator

Các bước thực hiện đặt mật khẩu cho thư mục [Joomla]/administrator như sau

như sau:

Tạo file .htpasswd với nội dung sau:

meoit: $apr1$IXh5tNtu$vLeyuqcnio/xMf2oIh72o0

meoit: tên đăng nhập vào thư mục đặt password.

Trang 40

Page 49: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

$apr1$IXh5tNtu$vLeyuqcnio/xMf2oIh72o0: mật khẩu đăng nhập đã được mã hoá

bằng cách sử dụng thuật toán SHA, nội dung mật khẩu trường hợp này là: quynhtrang.

Tạo một file .htpasswd với username và password theo ý muốn tại

http://htaccesstools.com

Tạo file .htaccess với nội dung sau

AuthType Basic

AuthName "Password Required Page"

AuthUserFile "/administrator/.htpasswd"

Require valid-user

Upload 2 file trên vào trong thư mục Administrator

2.9.2.3. Bảo mật cho trang quản trị bằng cookieÝ tưởng của giải pháp này là sử dụng chứng thực bằng cookie ngăn chặn mọi

truy cập trực tiếp tới trang quản trị Joomla bằng đường dẫn thông thường

http://domain/administrator. Thay vào đó, người quản trị phải truy cập gián tiếp thông

qua một đường dẫn chỉ định khác (http://domain/thpt/baomat.php).

Các bước thực hiện:

Tạo một thư mục bí mật trên website, chẳng hạn [Joomla]/thpt.

Lưu ý: Bạn hoàn toàn có thể sử dụng một thư mục có sẵn (chẳng hạn thư mục

/language)

Tạo một file "meoit.php" trong thư mục bí mật trên với nội dung:

< ?php

$admin_cookie_code="khhilyftqt";

setcookie("ThptPhucThoSession",$admin_cookie_code,0,"/");

header("Location: /administrator/index.php");

?>

Thêm nội dung sau tới file ".htaccess" của thư mục /administrator

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/administrator

RewriteCond %{HTTP_COOKIE} ! ThptPhucThoSession = khhilyftqt

RewriteRule .* - [L,F]

Trang 41

Page 50: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

KẾT LUẬN

Kết quả đạt được

Nắm được một số kiến thức cơ bản về PMNM Joomla, ngôn ngữ lập

trình web PHP và hệ quản trị CSDL Mysql

Biết được cách thiết kế và quản trị website với hệ quản trị nội dung

mã nguồn mở Joomla!

Xây dựng được website cho trường THPT Phúc Thọ với trang chủ

gồm các phần chủ yếu như: Giới thiệu về trường, thông báo, tin tức hoạt

động, giáo án, tra cứu điểm thi, download phần mềm, công văn,….

Tìm hiểu và vận dụng các biện pháp bảo mật cơ bản cho website

Joomla mà cụ thể là website trường THPT Phúc Thọ

Hướng phát triển

Trong thời gian tới, sẽ cố gắng hoàn thành component quản lý và tra

cứu điểm trực tuyến

Triển khai vào thực tế của trường THPT Phúc Thọ chạy trên internet

và triển khai thêm các biện pháp bảo mật.

Trang 42

Page 51: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

TÀI LIỆU THAM KHẢO

Tiếng Việt:

[1] Giáo trình HTML và JavaScript

[2] Sile bài giảng môn Lập trình web

[3] Sile bài giảng Internet và Dịch vụ

Tiếng Anh:

[4] Apress,.Beginning.Joomla.From.Novice.to.Professional.(2007)

[5] Building Websites with Joomla 1.5

[6] Packt.Publishing.Joomla.Template.Design.Jun.2007

Website:

[7] http://Joomla.org

[8] http://Joomlaviet.info

[9] http://soqua.wordpress.com

[10] http://www.phoca.cz

[11] http://en.wikipedia.org

[12] http://sinhvienit.net

Trang 43

Page 52: Nghiên Cứu Và Xây Dựng Website Cho Trường THPT Phúc Thọ Bằng Phần Mềm Nguồn Mởi Joomla

Nghiên cứu và xây dựng website cho trường THPT Phúc Thọ bằng phần mềm nguồn mởi Joomla

Ý KIẾN CỦA GIẢNG VIÊN HƯỚNG DẪN

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

Trang 44