BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
——-o0o——-
ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ THÔNG TIN
HẢI PHÒNG 2013
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
——-o0o——-
TÌM HIỂU XÂY DỰNG MODULE
CHO HỆ QUẢN TRỊ NỘI DUNG NUKEVIET
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ Thông tin
HẢI PHÒNG – 2013
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
——-o0o——-
TÌM HIỂU XÂY DỰNG MUDULE
CHO HỆ QUẢN TRỊ NỘI DUNG NUKEVIET
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ Thông tin
Giáo viên hƣớng dẫn:
Ths Đỗ Văn Chiểu
Sinh viên thực hiện:
Nguyễn Quang Thao
Mã số sinh viên:
1351010010
HẢI PHÒNG – 2013
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
——-o0o——-
NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP
Sinh viên: Nguyễn Quang Thao
Mã SV: 1351010010
Lớp: CT1301
Ngành: Công nghệ Thông tin
Tên đề tài: Tìm hiểu xây dựng module cho hệ quản trị nội dung Nukeviet.
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
NHIỆM VỤ ĐỀ TÀI
1. Nội dung và các yêu cầu cần giải quyết trong nhiệm vụ đề tài tốt nghiệp
a. Nội dung
– Biết đƣợc mã nguồn mở là gì,tìm hiểu các mã nguồn mở hiện có,đặc
biệt là tìm hiểu kĩ về mã nguồn mở NukeViet.
– Phân tích cấu trúc module của NukeViet 3.4
– Tổng hợp các tài liệu tham khảo có liên quan đến nội dung khóa luận.
– Thực hiện cài đặt,cấu hình và chạy đƣợc module trên mã nguồn mở
NukeViet.
– Từ đó ứng dụng bài toán đƣa vào xây dựng lên một module hoàn
chỉnh trên NukeViet.
b. Các yêu cầu cần giải quyết
Các phần mềm cần thiết để xây dựng
– Web Server: Xampp
– Bộ mã nguồn NukeViet
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
CÁN BỘ HƢỚNG DẪN ĐỀ TÀI TỐT NGHIỆP
Ngƣời hƣớng dẫn thứ nhất:
Họ và tên: Đỗ Văn Chiểu
Học hàm, học vị: Thạc Sĩ
Cơ quan công tác: Trƣờng Đại Học Dân Lập Hải Phòng
Nội dung hƣớng dẫn: …………………………………………………………..
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
…………………………………………………………………………
Ngƣời hƣớng dẫn thứ hai:
Họ và tên: …………………………………………………………………….
Học hàm, học vị: …………………………………………………………….
Cơ quan công tác: ……………………………………………………………
Nội dung hƣớng dẫn: …………………………………………………………..
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
…………………………………………………………………………
Đề tài tốt nghiệp đƣợc giao
ngày tháng năm 2013
Yêu cầu phải hoàn thành trƣớc
ngày tháng năm 2013
Đã nhận nhiệm vụ: Đ.T.T.N
Sinh viên
Đã nhận nhiệm vụ: Đ.T.T.N
Cán bộ hƣớng dẫn Đ.T.T.N
Th.s Đỗ Văn Chiểu
Hải Phòng, ngày …………tháng………năm 20…
HIỆU TRƢỞNG
GS.TS.NGƯT Trần Hữu Nghị
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
PHẦN NHẬN XÉT TÓM TẮT CỦA CÁN BỘ HƢỚNG DẪN
1. Tinh thần thái độ của sinh viên trong quá trình làm đề tài tốt nghiệp:
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………
2. Đánh giá chất lƣợng của đề tài tốt nghiệp (so với nội dung yêu cầu đã đề
ra trong nhiệm vụ đề tài tốt nghiệp)
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
3. Cho điểm của cán bộ hƣớng dẫn:
( Điểm ghi bằng số và chữ )
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
Ngày…….tháng………năm 20…
Cán bộ hƣớng dẫn chính
( Ký, ghi rõ họ tên )
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁN BỘ CHẤM PHẢN BIỆN
ĐỀ TÀI TỐT NGHIỆP
1.Đánh giá chất lƣợng đề tài tốt nghiệp (về các mặt nhƣ cơ sở lý
luận, thuyết minh chƣơng trình, giá trị thực tế, …)
…………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………..
2. Cho điểm của cán bộ phản biện
( Điểm ghi bằng số và chữ )
………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………….
Ngày…….tháng………năm 20…
Cán bộ chấm phản biện
(Ký, ghi rõ họ tên)
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
1
LỜI CẢM ƠN
Trƣớc hết em xin bày tỏ lòng biết ơn sâu sắc nhất tới thầy giáoĐỗ Văn Chiểu,
ngƣời đã hƣớng dẫn, chỉ bảo tận tình em trong suốt thời gian làm đề tài tốt nghiệp.
Em xin chân thành cám ơn các thầy giáo, cô giáo Khoa Công nghệ Thông tin
Trƣờng Đại Học Dân Lập Hải Phòng, những ngƣời đã chỉ dạy, hƣớng dẫn, trang bị
cho chúng em những kiến thức cơ bản, cần thiết trong những năm học vừa qua để em
có đủ điều kiện hoàn thành đề tài tốt nghiệp của mình.
Mặc dù đã hết sức cố gắng để hoàn thiện báo cáo tốt nghiệp song do khả năng
còn hạn chế nên khóa luận vẫn còn nhiều thiếu sót. Vì vậy em rất mong nhận đƣợc
những đóng góp chân tình của các thầy cô và bạn bè.
Một lần nữa em xin chân thành cảm ơn!
Hải Phòng, Tháng 12 năm 2013.
Sinh viên
Nguyễn Quang Thao
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
2
MỤC LỤC
LỜI CẢM ƠN …………………………………………………………………………………………………………
2
GIỚI THIỆU …………………………………………………………………………………………………………..
6
CHƢƠNG 1: GIỚI THIỆU VỀ PHẦN MỀM NGUỒN MỞ, PHẦN MỀM NGUỒN MỞ
NUKEVIET ……………………………………………………………………………………………………………
7
1.1. Khái niệm phần mềm nguồn mở …………………………………………………………………
7
1.2. Phân loại phần mềm nguồn mở …………………………………………………………………..
8
1.3. Lợi ích của phần mềm nguồn mở đối với ngƣời sử dụng ……………………………….
8
1.4. Giới thiệu về một số loại phần mềm nguồn mở thƣờng gặp ……………………………
9
1.5. Phần Mềm Nguồn Mở Nukeviet ……………………………………………………………….
10
1.5.1. Nukeviet là gì? ………………………………………………………………………………………………… 10
1.5.2. Lịch sử phát triển của Nukeviet …………………………………………………………………………. 10
1.5.3. Các phiên bản của Nukeviet ……………………………………………………………………………… 12
1.5.4. Cấu trúc NukeViet 3 ………………………………………………………………………………………… 12
1.6. Các khái niệm cơ bản trong hệ thống Nukeviet …………………………………………..
14
1.6.1. Khái niệm module
……………………………………………………………………………………………. 14
1.6.2. Khái niệm Block ……………………………………………………………………………………………… 14
1.6.3. Khái niệm theme
……………………………………………………………………………………………… 14
1.6.4. Khái niệm ngôn ngữ giao diện và ngôn ngữ cơ sở dữ liệu……………………………………… 15
1.7. Ƣu nhƣợc điểm của Nukeviet
……………………………………………………………………
17
1.7.1. Ƣu điểm của Nukeviet. …………………………………………………………………………………….. 17
1.7.2. Nhƣợc điểm của Nukeviet. ……………………………………………………………………………….. 17
1.8. Ứng dụng của Nukeviet
……………………………………………………………………………
18
1.9. Các website ứng dụng Nukeviet
………………………………………………………………..
18
CHƢƠNG 2: CÁCH THỨC CÀI ĐẶT NUKEVIET, QUẢN TRỊ MODULE ………………
20
2.1. Cài đặt WebServer Xampp để chạy Nukeviet
……………………………………………..
20
2.1.1. Các phần mềm yêu cầu. ……………………………………………………………………………………. 20
2.1.2. Các bƣớc tiến hành cài đặt. ……………………………………………………………………………….. 20
2.2. Cài đặt NukeViet …………………………………………………………………………………….
24
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
3
2.3. Khái niệm module …………………………………………………………………………………..
29
2.4. Quản trị các Module trong Nukeviet
………………………………………………………….
30
2.4.1. Quản trị module Tài khoản ……………………………………………………………………………….. 30
2.4.2. Quản trị module Quảng cáo ………………………………………………………………………………. 31
2.4.3. Quản trị module Download
……………………………………………………………………………….. 32
2.4.4. Quản trị module Liên hệ …………………………………………………………………………………… 33
2.4.5. Quản trị module Weblinks ………………………………………………………………………………… 34
2.4.6. Quản trị module FAQ ………………………………………………………………………………………. 36
2.4.7. Quản trị module Thăm dò ý kiến ……………………………………………………………………….. 36
2.4.8. Quản trị module Tin tức
……………………………………………………………………………………. 37
CHƢƠNG 3: XÂY DỰNG THỬ NGHIỆM MODULE QUẢN LÝ HỌC SINH …………..
39
3.1. Yêu cầu hệ thống để xây dựng module ………………………………………………………
39
3.1.1. Phần cứng
…………………………………………………………………………………………………………. 39
3.1.2. Phần mềm
…………………………………………………………………………………………………………. 39
3.2. Xây dựng thử nghiệm module quản lý học sinh…………………………………………..
39
KẾT LUẬN
…………………………………………………………………………………………………………..
80
TÀI LIỆU THAM KHẢO ………………………………………………………………………………………
81
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
4
DANH MỤC HÌNH
Hình 1.1: Mô hình cấu trúc hệ thống NukeViet 3.0 …………………………….
13
Hình 1.2: Ngôn ngữ giao diện trong nukeviet
…………………………………….
16
Hình 1.3: Ngôn ngữ data
…………………………………………………………………
16
Hình 2.1 : Download Xampp
……………………………………………………………
20
Hình 2.2 : Cài đặt xampp ………………………………………………………………..
21
Hình 2.3 : Các gói cài đặt của xampp
……………………………………………….
21
Hình 2.4 : Đường dẫn đặt thư mục xampp
…………………………………………
22
Hình 2.5 : Quá trình cài đặt xampp ………………………………………………….
22
Hình 2.6 : Quá trình cài đặt xampp hoàn thành …………………………………
23
Hình 2.7 : Bảng điều khiển của xampp ……………………………………………..
23
Hình 2.8: Cở sở dữ liệu của xampp
…………………………………………………..
24
Hình 2.9 : Tạo cơ sở dữ liệu
…………………………………………………………….
24
Hình 2.10 : Chọn ngôn ngữ cài đặt
…………………………………………………..
25
Hình 2.11 : Kiểm tra CHMOD …………………………………………………………
25
Hình 2.12 : Thông tin bản quyền của Nukeviet
…………………………………..
26
Hình 2.13 : Kiểm tra thông tin máy chủ
…………………………………………….
27
Hình 2.14 : Cấu hình cơ sở dữ liệu của trang web ……………………………..
27
Hình 2.15 : Thông tin của trang web ………………………………………………..
28
Hình 2.16 : Quá trình cài đặt thành công website thử nghiệm ……………..
28
Hình 2.17 : Giao diện trang chủ của website……………………………………..
29
Hình 2.18 : Giao diện trang quản lý website ……………………………………..
29
Hình 2.19: Các Module mặc định trong hệ thống NukeViet
…………………
30
Hình 2.20 : Modue tài khoản
……………………………………………………………
30
Hình 2.21 : Module quảng cáo
…………………………………………………………
31
Hình 2.22 : Module download
………………………………………………………….
32
Hình 2.23 : Module liên hệ
………………………………………………………………
34
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
5
Hình 2.24 : Module weblinks …………………………………………………………..
34
Hình 2.25 : Module FAQ
…………………………………………………………………
36
Hình 2.26 : Module thăm dò ……………………………………………………………
36
Hình 2.27 : Module tin tức ………………………………………………………………
37
Hình 3.1: Cấu trúc của một module ………………………………………………….
40
Hình 3.2 : Giao diện module quản lý học sinh trong quản lý ……………….
45
Hình 3.3 : Giao diện module quản lý học sinh ngoài quản lý
……………….
45
Hình 3.4 : Thử nghiệm thêm học sinh mới …………………………………………
56
Hình 3.5 : Thông tin học sinh vừa thêm mới bên trong quản lý site
………
56
Hình 3.6 : Thông tin học sinh vừa thêm mới bên ngoài quản lý site ……..
56
Hình 3.8: Thông tin học sinh bên ngoài site ………………………………………
79
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
6
GIỚI THIỆU
Phần mềm nguồn mở là phần mềm với mã nguồn đƣợc công bố và sử dụng
mộ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, cải tiến phần mềm, sao chép và phân phối phần mềm ở dạng chƣa thay đổi
hoặc đã thay đổi mà không phải trả tiền bản quyền cho ngƣời lập trình trƣớc.
Phần mềm nguồn mở có nghĩa gần tƣơng đƣơng với mã nguồn mở nhƣng với
độ trừu tƣợng cao hơn. Ngày nay có rất nhiều dạng mở (không đóng) bao gồm: phần
cứng, phầm mềm nguồn mở, tài liệu mở… Mã nguồn mở ngày nay phát triển với tốc
độ khá cao, cho thấy nó có nhiều động lực hơn so với mã đóng.
Ở Việt Nam mã nguồn mở giờ cũng không phải mới lạ, nhƣngvới việc sử dụng
và phát triển mã nguồn mở ở một đất nƣớc đang phát triển rất đƣợc quan tâm, nó giúp
giảm thiểu nguồn tài chính khi chi trả bản quyền… Những mã nguồn mở thông dụng ở
Việt Nam nhƣ: Nukeviet, WordPress, Joomla, Tomato CMS, Magento, phpBB,
myBB…Phải nói đến Nukeviet, Nukeviet là sản phẩm mã nguồn mở của ngƣời Việt,
hiện nay Nukeviet đáp ứng và áp dụng ởhầu hết các lĩnh vực nhƣ tin tức đến thƣơng
mại điện tử, các website cá nhân cho tới những hệ thống website doanh nghiệp.
Khóa luận trình bày sâu về module của Nukeviet,vì do thời gian nghiên cứu
hạn chế, khóa luận có những chỗ hạn chế và thiếu sót rất mong sự góp ý của quý thầy
cô và các bạn để khóa luận đƣợc hoàn thiện hơn.
Xin chân thành cảm ơn !
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
7
CHƢƠNG 1: GIỚI THIỆU VỀ PHẦN MỀM NGUỒN
MỞ, PHẦN MỀM NGUỒN MỞ NUKEVIET
1.1. Khái niệmphần mềm nguồn mở
Phần mềm nguồn mở(Open source software) là phần mềm đƣợc viết và cung
cấp một cách tự do và miễn phí. Ngƣời dùng phần mềm mã nguồn mở không những
đƣợc dùng phần mềm mà còn đƣợc download mã nguồn của phần mềm, để tùy ý sửa
đổi, cải tiến, có thể là truy cập, chỉnh sửa, sao chép,…và phân phối các phiên bản khác
nhau của mã nguồn phần mềm và mở rộng cho nhu cầu công việc của mình.
Tiện ích mà phần mềm nguồn mở mang lại chính là quyền tự do sử dụng
chƣơng trình trong mọi mục đích, quyền tự do nghiên cứu cấu trúc của chƣơng trình,
chỉnh sửa phù hợp với nhu cầu ngƣời sử dụng, truy cập vào mã nguồn, quyền tự do
phân phối lại các phiên bản cho nhiều ngƣời, quyền tự do cải tiến chƣơng trình và
phát hành những bản cải tiến vì mục đích công cộng.
Một điều kiện hay đƣợc áp dụng nhất là GPL: GNU General Public Licence
của tổ chức Free Software Foundation.
GPL có hai đặc điểm phân biệt đó là:
Tác giả gốc giữ bản quyền về phần mềm nhƣng cho phép ngƣời dùng rất nhiều
quyền khác, trong đó có quyền tìm hiểu, phát triển, công bố cũng nhƣ quyền khai thác
thƣơng mại sản phẩm.
Tác giả sử dụng luật bản quyền để bảo đảm các quyền đó không bao giờ bị vi
phạm đối với tất cả mọi ngƣời, và trên mọi phần mềm có sử dụng mã nguồn mở của
mình.
Đặc điểm thứ hai thƣờng đƣợc gọi là hiệu ứng lan truyền vì nó biến tất cả các
phần mềm có dùng mã nguồn GPL cũng biến thành phần mềm GPL. Trên thực tế điều
này có nghĩa là: bất kì tác giả nào sử dụng dù chỉ một phần rất nhỏ mã nguồn GPL
trong chƣơng trình của mình cũng phải công bố dƣới điều kiện GPL.
Các điều khoản phân phối của phần mềm mã nguồn mở phải tuân thủ các tiêu
chuẩn sau:
– Đƣợc tự do tái phân phối.
– Mã nguồn mở.
– Các chƣơng trình phát sinh.
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
8
– Tính toàn vẹn của mã nguồn cung cấp bởi tác giả.
– Không có sự phân biệt đối xử giữa cá nhân hay nhóm ngƣời.
– Không phân biệt đối xử với bất cứ một lĩnh vực công việc nào.
– Việc phân phối bản quyền.
– Giấy phép phải không đƣợc giành riêng cho một sản phẩm.
– Bản quyền không đƣợc cản trở các phần mềm khác.
1.2. Phân loại phần mềm nguồn mở
Application: Là các loại phần mềm ứng dụng
Ví dụ:
Hệ điều hành: Linux, Free BSD.
Phần mềm văn phòng: Open Office.
Công cụ lập trình: KDeveloper, Eclipse.
Web server: Apache.
Software framework: Là tập hợp những phần mềm (software package) cung
cấp những chức năng thƣờng gặp khi lập trình, để những lập trình viên khác dùng để
viết phần mềm hiệu quả hơn, khỏi phải viết lại code cho những vấn đề đã có ngƣời
giải quyết rồi.
1.3. Lợi ích của phần mềm nguồn mở đối với ngƣời sử dụng
Phần mềm có thể đƣợc dùng và sao chép hoàn toàn miễn phí, ngƣời dùng hoàn
toàn an tâm khi chia sẻ một chƣơng trình với bạn bè.
Có nhiều chọn lựa, không bị phụ thuộc vào một công ty nào: Các định dạng tệp
tin không hoàn toàn bị kiểm soát.
Hầu hết các sản phẩm phần mềm nguồn mở đều có tính năng bảo mật tốt.
Có một cộng đồng hỗ trợ lớn, giúp việc cập nhật những lỗ hổng một cách
nhanh chóng.
Có nhiều phần mềm đa dạng.
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
9
1.4. Giới thiệu về một số loại phần mềm nguồn mở thƣờng gặp
Trên thế giới hiện nay có rất nhiều loại mã nguồn mở khác nhau, mỗi loại mã
nguồn mở lại có một ứng dụng riêng. Dƣới đây là một số loại mã nguồn mở đƣợc sử
dụng rộng rãi:
– Ubuntu là hệ điều hành mã nguồn mở dùng cho máy tính xách tay, máy
tính để bàn và cả máy chủ, Ubuntu chứa tất cả các chƣơng trình ứng dụng
cần thiết cho công việc tại nhà, ở trƣờng hay tại văn phòng công ty.
– Vbulletin là mã nguồn mở xây dựng các diễn đàn trực tuyến đƣợc sử dụng
phổ biến nhất hiện nay. Hầu hết các diễn đàn lớn tại Việt Nam đều đƣợc
xây dựng bằng Vbulletin.
– Apache Tomcat là hệ thống mã nguồn mở của hãng Apache Software, ứng
dụng Apache Tomcat có thể xử lý đƣợc số lƣợng lớn các yêu cầu bao gồm
ứng dụng web trực tuyến, các gói dữ liệu lƣu thông giữa server-client, tùy
biến dễ dàng theo nhu cầu, quy mô của từng tổ chức, doanh nghiệp.
– Linux là một hệ điều hành mã nguồn mở dạng Unix đƣợc xây dựng bởi
Linus Torvalds, Linux có mọi đặc tính của một hệ điều hành hiện đại: hệ
thống đa nhiệm, đa tuyến đoạn, bộ nhớ ảo, thƣ viện độ, tải theo nhu cầu,
quản lý bộ nhớ, các môđun driver thiết bị, video frame buffering, và mạng
TCP/IP.
– Open office là chƣơng trình mã nguồn mở thay thế cho Microsoft office,
ƣu điểm của nó là dung lƣợng nhỏ và có thể tƣơng thích đƣợc với
Microsoft Office nhƣng chƣa thể thân thiên bằng Microsoft Office.
– NukeViet là một hệ quản trị nội dung mã nguồn mở đƣợc ứng dụng để
thiết kế các trang web nhƣ các cổng thông tin điện tử hoặc các website
doanh nghiệp, báo điện tử, tạp chí điện tử, website của các doanh nghiệp
vừa và nhỏ, website của các cơ quan, tổ chức phi chính phủ, website các
trƣờng học, website của gia đình hay cá nhân.
– Greenstone là một bộ phần mềm dùng để xây dựng và phân phối các bộ
sƣu tập thƣ viện số. Nó cung cấp cho ngƣời sử dụng, đặc biệt là các
trƣờng đại học, các thƣ viện hoặc trong các trụ sở công cộng xây dựng các
thƣ viện số riêng của họ.
Ngoài ra còn rất nhiều loại mã nguồn mở khác nhƣ: Eclipse, Webwork,
WebGUI, OpenCMS, Fedora…
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
10
1.5. Phần Mềm Nguồn Mở Nukeviet
1.5.1. Nukeviet là gì?
NukeViet là một phần mềm chạy trên máy chủ Web dùng để quản lý các
website, cổng thông tin điện tử, báo điện tử, hệ thống thƣơng mại điện tử, vận hành
các mạng xã hội… cũng nhƣ hầu hết các nhu cầu làm việc trực tuyến khác.
Phiên bản đang đƣợc phát hành theo giấy phép phần mềm tự do nguồn mở có
tên gọi đầy đủ là NukeViet CMS gồm 2 phần chính là phần nhân (core) của hệ thống
NukeViet và nhóm chức năng quản trị nội dung của CMS.
Năm 2004, từ việc sử dụng sản phẩm PHP – Nuke để làm cho website ngƣời
Việt xa xứ, Nguyễn Anh Tú – một lƣu học sinh ngƣời Việt tại Nga – đã cùng cộng
đồng Việt hóa, cải tiến thành NukeViet và đã liên tục đƣợc phát triển và trở thành một
ứng dụng thuần Việt.
Cho đến phiên bản 3.0, đội ngũ phát triển NukeViet đã tách khỏi ảnh hƣởng lạc
hậu của PHP-Nuke và xây dựng NukeViet thành một ứng dụng khác biệt hoàn toàn.
NukeViet 3.0 đã cho kết quả là Website đạt chuẩn xHTML 1.0 và CSS 2.1 cũng nhƣ
hỗ trợ Ajax từ trong bộ nhân. Đƣợc viết bằng ngôn ngữ PHP và sử dụng cơ sở dữ
liệu MySQL là chủ yếu, cho phép ngƣời sử dụng có thể dễ dàng xuất bản & quản trị
các nội dung của họ lên Internet.
NukeViet vẫn sử dụng các khái niệm Module, Block, Theme cho hệ thống của
mình mặc dù cấu trúc và công nghệ cho nó đã đƣợc đội ngũ phát triển NukeViet cải
tiến hoàn toàn.
1.5.2. Lịch sử phát triển của Nukeviet
Khởi đầu phần mềm này đƣợc Nguyễn Anh Tú phát triển trên nền tảng PHP-
Nuke cho Website cộng đồng ngƣời việt xa xứ xunguoi.com. Sau đó, cùng với sự
tham gia của một số thành viên, cuối năm 2004 NukeViet 1.0 beta 1 đã ra đời.
Đầu năm 2005, website xunguoi.com ngƣng hoạt động. Cho đến cuối năm
2005 diễn đàn đƣợc NukeViet Group mở cửa trở lại nhƣng vì nhiều lý do, không đƣợc
bao lâu lại phải ngƣng hoạt động. NukeViet Group thành lập công ty Ấn Tƣợng Nét.
Tại thời điểm này, NukeViet phát triển tự phát trong cộng đồng.
Ngày 18-05-2006, NukeViet Group tuyên bố chính thức hỗ trợ trở lại
NukeViet.
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
11
Cho đến ngày 04-12-2006, do bất đồng chính kiến, NukeViet Group tan rã.
Trƣởng nhóm NukeViet – quyết định tách NukeViet ra khỏi công ty Ấn Tƣợng Net để
hoạt động độc lập tại địa chỉ: http://lavieportal.com. Ngày 12-12-2006, mã nguồn mở
NukeViet đƣợc đổi thành LaVie Portal.
Năm 2007, nhóm phát triển đã quyết định: Hỗ trợ và phát triển song song
LaVie Portal và NukeViet thành 2 bộ mã nguồn. Ngay sau đó NukeViet beta 2b đƣợc
ra mắt, bản NukeViet 2.0 final (bản chính thức của NukeViet 2.0) đã đƣợc định hình
và đƣợc giới thiệu rộng. Các thành viên điều hành diễn đàn NukeViet đƣợc cung cấp
phiên bản sử dụng trực tuyến, nhƣng phiên bản này đã không đƣợc phát triển tiếp.
Tháng 10 – 2007, tác giả NukeViet đã quay lại để phát triển nó và hỗ trợ ngƣời dùng
tại http://nukeviet.vn.
Ngày 24-05-2009, NukeViet Group phát hành phiên bản NukeViet 2.0 RC1 tại
Hải Phòng. Phiên bản này đã đánh dấu bƣớc phát triển mới của NukeViet sau một thời
gian dài trì trệ. Tiếp đó, hiên bản 2.0 RC2 phát hành ngày 07/07/2009.
Năm 2010, NukeViet chính thức đi vào con đƣờng chuyên nghiệp hóa bằng sự
kiện ra mắt Công ty cổ phần Phát triển nguồn mở Việt Nam (VINADES.,JSC). Đây là
công ty mã nguồn mở đầu tiên tại Việt Nam có nhiệm vụ phát triển mã nguồn mở
NukeViet. Ngày 22-03-2010, NukeViet chính thức công bố dự án NukeViet 3 – xây
dựng một bộ code mới cho NukeViet với bản thử nghiệm đầu tiên – NukeViet 3
Closebeta. Bản chính thức NukeViet 3.0. Ngày 20/10/2010 NukeViet 3.0 Official
version phát hành online.
Năm 2011, NukeViet đã cho ra mắt hàng loạt các phiên bản và ứng dụng nhƣ:
Phiên bản NukeViet 3.1 ra mắt cùng Module Shop nhân kỷ niệm 1 năm thành lập
Công ty cổ phần phát triển nguồn mở Việt Nam, Phiên bản NukeViet 3.2, cung cấp
dịch vụ OpenID trên website nukeviet.vn, NukeViet phát hành phiên bản 3.3 chính
thức hỗ trợ giao diện dành cho thiết bị di động. Ngày 20-11-2011, NukeViet giành
giải Ba Nhân tài Đất Việt 2011 ở Lĩnh vực Công nghệ thông tin.
Năm 2012, NukeViet 3.4 ra mắt với nhiều chức năng mới và hỗ trợ toàn diện
cho thiết bị di động, ứng dụng dành cho web, chuyển đổi kho code từ Google code (sử
dụng SVN) sang Github (sử dụng git).
Đầu năm 2013, Công ty chủ quản là VINADES đã tổ chức Hội nghị ngƣời
dùng và các nhà phát triển NukeViet năm 2013 dành cho cộng đồng NukeViet đánh
dấu chặng đƣờng phát triển mới của NukeViet.
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
12
1.5.3. Các phiên bản của Nukeviet
NukeViet 1.0. Phiên bản thế hệ 1:
Phiên bản đầu tiên của NukeViet là phiên bản NukeViet 1.0 (hay NukeViet
1.0.0) có nguồn gốc từ PHP-Nuke 6.5. Các phiên bản tiếp theo có dạng 1.0.x, về cơ
bản chúng chỉ là những bản đƣợc vá lỗi do đó thƣờng gọi là NukeViet 1.0.
Dòng phiên bản đã đã ngƣng hỗ trợ từ năm 2007 nhƣng hiện vẫn còn một số ít
các website vẫn sử dụng.
Phiên bản 2.0 beta: (ngày 27 tháng 01 năm 2007)
– Phần nhân của NukeViet 2.0 beta đƣợc viết lại rất nhiều.
– Có nhiều lớp bảo mật tốt hơn, tối ƣu kết nối vào cơ sở dữ liệu , một số tính
năng đƣợc cải tiến hơn so với NukeViet 1.0.
– Phiên bản chính thức: NukeViet RC:
– NukeViet 2.0 RC1 (ngày 24 tháng 05 năm 2009).
– NukeViet 2.0 RC2 (ngày 07 tháng 07 năm 2009).
– NukeViet 2.0 RC3 (ngày 01 tháng 03 năm 2010).
– NukeViet 2.0 RC4 (ngày 08 tháng 04 năm 2010).
– Dòng phiên bản chuyên nghiệp:NukeViet 3 xây dựng mới 100%:
– Phiên bản thử nghiệm kín bao gồm Closebeta 1, 2, 3, 4.
– Phiên bản thử nghiệm mở rộng bao gồm Openbeta 1, 2, 3.
– Phiên bản RC (tiền chính thức) bao gồm RC 1 và RC 2.
– Phiên bản chính thức: 3.0, 3.1, 3.2, 3.3, 3.4.
1.5.4. Cấu trúc NukeViet 3
Hệ thống NukeViet đƣợc thiết kế rất rõ ràng, mạch lạc, theo đó NukeViet phân
cấu trúc thành 2 tầng, 1 lớp.
Tầng nền tảng (Core) hay còn gọi là “nhân hệ thống”: Chứa các thƣ viện và
module vận hành hệ thống. Nếu một trong các thành phần này bị lỗi có thể làm ảnh
hƣởng một phần hoặc toàn bộ hệ thống. Tầng này chiếm 10% dung lƣợng và dòng
code của NukeViet nhƣng đƣợc sử dụng trong 90% các hoạt động của website.
Tầng module: bao gồm module admin, module site, các block (kèm theo
module hoặc chạy độc lập), các cronjob…
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
13
Lớp giao diện: bao gồm giao diện admin, giao diện module và giao diện site.
Đặc điểm chính:
Module và giao diện (theme) của NukeViet đƣợc gọi chung là các Addons
(thành phần mở rộng). Các thành phần mở rộng này có thể đƣợc cài đặt hoặc gỡ bỏ
mà không làm ảnh hƣởng đến hệ thống.
Phần quản trị của hệ thống nằm toàn bộ trong thƣ mục admin của hệ thống. Nó
đƣợc bảo vệ bằng nhiều lớp bảo mật khác nhau.
Phần quản trị của module nằm trong thƣ mục admin của module. Nó đƣợc gọi
và tƣơng tác qua phần quản trị của hệ thống nên đƣợc hệ thống kiểm soát và đảm bảo
tính an toàn, bảo mật.
Theo nguyên lý thiết kế hƣớng module, block và theme đƣợc bố trí nhằm phục
vụ module do đó hình thành khái niệm block của module và theme của module. Theo
đó tệp tin block của module nằm trong thƣ mục chứa module nhƣng có thể hiển thị ở
các khu vực ngoài site. Nếu block không thuộc module nào thì nó đƣợc đặt trong thƣ
mục includes/blocks của hệ thống. Tƣơng tự, ngoài theme cho hệ thống còn có theme
cho block và theme cho module (đƣợc bố trí trong thƣ mục theme).
Mô hình hoạt động của NukeViet 3:
Dữ liệu đƣợc ngƣời quản trị tƣơng tác từ Admin Control Panel thông qua trình
duyệt, đƣợc nhân hệ thống và các module (admin module hoặc website module) tham
gia xử lý, cuối cùng theme sẽ chịu trách nhiệm việc tổ chức và trình bày thông tin cho
ngƣời truy cập xem.
Hình 1.1: Mô hình cấu trúc hệ thống NukeViet 3.0
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
14
1.6. Các khái niệm cơ bản trong hệ thống Nukeviet
1.6.1. Khái niệm module
Module còn có tên gọi khác là Addons hay Plugins (tính năng tăng cƣờng cho
hệ thống) là những phần mở rộng của hệ thống NukeViet. Mỗi module sẽ đảm nhiệm
một chức năng riêng cho hệ thống. Tùy chức năng và nhiệm vụ của module mà nó có
thể phục vụ hệ thống chạy các tác vụ nền hoặc chỉ tƣơng tác bên ngoài với ngƣời sử
dụng (tƣơng ứng với việc can thiệp sâu hoặc không sâu vào hệ thống).
Hệ thống NukeViet mặc định đã có sẵn một số module, ngoài ra ngƣời sử dụng
có thể cài thêm các module mới về từ website http://nukeviet.vn để cài lên hệ thống
hoặc gỡ bỏ nó khỏi hệ thống.
Module ảo là module đƣợc nhân bản từ một module bất kỳ của hệ thống
NukeViet (nếu module đó cho phép tạo module ảo).
1.6.2. Khái niệm Block
Block (khối) là các khối nhỏ trên website nhằm mục đích đa dạng dữ liệu trên
một trang và có thể sử dụng để trang trí cho website. Các block có thể bật, tắt hoặc di
chuyển dễ dàng đến bất cứ vị trí nào (đƣợc ngƣời thiết kế chỉ định trên website khi
thiết kế giao diện web).
Nhờ các Block mà nội dung website trở lên đa dạng và phong phú hơn. Khách
truy cập cũng nhờ thế mà dễ dàng nắm bắt nội dung website và nhanh chóng tiếp cận
đến mục họ quan tâm .
NukeViet 3 hiện hỗ trợ 4 loại block bao gồm:
§ Block dạng file: Block dạng tệp tin cũng có 2 kiểu là Block sử dụng chung
cho toàn bộ website (Global block) và block sử dụng riêng cho module (module
block). Block sử dụng riêng cho module thì chỉ có thể hiển thị ở module, còn block sử
dụng cho toàn bộ site có thể hiển thị ở toàn bộ website.
§ Khối quảng cáo: giúp hiển thị các quảng cáo tạo ra từ module Banner.
§ Block HTML: cho phép tạo các dữ liệu từ HTML.
§ Block RSS cho phép lấy nội dung từ các nguồn RSS.
Mỗi block có thể áp các Template (mẫu trình bày giao diện) khác nhau tùy
vào theme sử dụng.
1.6.3. Khái niệm theme
Theme (hay còn gọi là skin, template…) là khái niệm của NukeViet dùng để
gọi các giao diện.
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
15
NukeViet hỗ trợ việc sử dụng nhiều theme và ngƣời quản trị có thể dễ dàng
thay đổi chúng.
Theme của NukeViet là giải pháp lý tƣởng giúp cho công việc thay đổi giao
diện website trở lên dễ dàng. Nhờ thiết kế mỹ thuật của tác giả tạo ra theme mà
website có thể đƣợc trình bày dƣới các bố cục khác nhau. Điều này sẽ giúp cho
website không trở lên nhàm chán.
NukeViet tích hợp sẵn hai theme: default và modern cho khu vực ngƣời dùng
và 2 theme: admin_default và admin_full cho khu vực quản trị.
Hai theme default và admin_default là hai theme hệ thống, nếu các giao diện
khác không hỗ trợ bất kì thành phần gì thì những thành phần đó đƣợc lấy mặc định từ
hai theme này, vì vậy tuyệt đối không đƣợc đổi tên hay chỉnh sửa hai theme này.
Hệ thống NukeViet cho phép quản lý giao diện ở 3 mức độ khác nhau:
§Mức độ toàn bộ website (giao diện mặc định).
§Mức độ module (giao diện cho từng module).
§Mức độ chức năng của module (kiểu bài trí giao diện cho từng chức năng).
Nhƣ vậy là ngoài việc hỗ trợ mỗi module sử dụng một giao diện, mỗi chức
năng (function) còn có thể sử dụng một layout riêng, NukeViet còn cho phép tùy biến
các block trên từng function. Với NukeViet, việc quản lý giao diện hoàn toàn là “kéo
và thả” trực quan bằng chuột.
Mỗi giao diện có thể có nhiều kiểu bố trí (layout) khác nhau. Bố trí này có thể
khác nhau cho từng module và từng chức năng của module. Việc thiết lập layout nên
đƣợc làm ngay sau khi cài giao diện và cần đƣợc làm trƣớc khi kích hoạt giao diện.
1.6.4. Khái niệm ngôn ngữ giao diện và ngôn ngữ cơ sở dữ liệu
Đối với website sử dụng nhiều ngôn ngữ, ngôn ngữ trên site đƣợc xác định
bằng 2 thành phần: Ngôn ngữ giao diện và ngôn ngữ cơ sở dữ liệu.
Ngôn ngữ giao diện là ngôn ngữ cố định, đƣợc xác định khi lập trình và đƣợc
định nghĩa sẵn trong các tệp tin ngôn ngữ.
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
16
Hình 1.2: Ngôn ngữ giao diện trong nukeviet
Ngôn ngữ cơ sở dữ liệu là các dữ liệu sử dụng cho các ngôn ngữ khác nhau, do
ngƣời sử dụng nhập vào cho các trang ngôn ngữ khác nhau.
Hình 1.3: Ngôn ngữ data
NukeViet phải phân biệt 2 khái niệm này do phƣơng pháp xử lý đa ngôn ngữ
của NukeViet là giải pháp toàn vẹn cho phép mỗi ngôn ngữ có thể độc lập hoàn toàn
hoặc phụ thuộc 1 phần vào ngôn ngữ kia tùy theo ý đồ của ngƣời thiết kế module. Đây
chính là một thế mạnh về ngôn ngữ của NukeViet.
Đồ án tốt nghiệp
Trƣờng ĐHDL Hải Phòng
Nguyễn Quang Thao – CT1301
17
1.7. Ƣu nhƣợc điểm của Nukeviet
1.7.1. Ƣu điểm của Nukeviet.
– Là một hệ thống mã nguồn mở.
– Nukeviet 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 Theme đƣợc xây dựng cung cấp miễn phí cho ngƣời dùng, việc sử
dụng Theme đơn giản tạo điều kiện xây dựng website bắt mắt.
– Giao diện quản trị hiện đại, với cấu trúc rõ ràng, việc cài đặt các modul khá
đơn giản.
– Hỗ trợ việc xây dựng Site đa ngôn ngữ.
– Tùy biến site bằng Block.
– Hệ thống quản lý ngƣời dùng.
– Hệ thống ổn định và an toàn (Stable and Security).
– Quản lý cơ sở dữ liệu ngƣời sử dụng có thể tối ƣu, sao lƣu trên máy chủ và
tải dữ liệu về để phục vụ cho công tác phục hồi nếu xảy ra sự cố.
– Kiểm soát lỗi tự động và báo lỗi thông minh.
– 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.
– Tối ƣu hóa cho công cụ tìm kiếm (SEO).
– NukeViet hỗ trợ cho phép ngƣời dùng đang nhập bằng mail ngoài nhƣ :
yahoo, facebook, gmail…
– Trình soạn thảo tích hợp sẵn: Spaw2, FCKeditor, Ckeditor, TiniMCE…
– Nhiều Modul miễn phí.
– Đƣợc hỗ trợ bởi một cộng đồng ngƣời dùng đông đảo.
1.7.2. Nhƣợc điểm của Nukeviet.
Cho tới bản 2.0 RC, NukeViet còn những nhƣợc điểm sau:
– Chƣa sử dụng Ajax (cho đến bản NukeViet 2.0 beta 2).
– Vẫn sử dụng chuẩn HTML 4.1.