Tải bản đầy đủ (.doc) (20 trang)

Phân tích thiết kế và làm một website động bằng ngôn ngữ lập trình tự chọn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.37 MB, 20 trang )

XÂY DỰNG HỆ THỐNG WEBSITE CHO TRƯỜNG HỌC, SỬ DỤNG MÃ
NGUỒN MỞ NUKEVIET 4.0 OFFICIAL
Mục lục
LỜI CẢM ƠN
Để hoàn thành bài báo cáo về môn Công nghệ web và ứng dụng này em xin gởi lời
cảm ơn chân thành đến giảng viên bộ môn, Thầy ……. Đã cung cấp tài liệu và hướng
dẫn em trong suốt quá trình làm. Thầy đã truyền ý tưởng và niềm đam mê cho em
LỜI MỞ ĐẦU
Phần mềm mã nguồn mở là những phần mềm được cung cấp dưới cả dạng mã và
nguồn, không chỉ là miễn phí về giá mua mà chủ yếu là miễn phí về bản quyền: Người
dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung đã
được quy định.
PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus Lerdorf tạo
ra năm 1995, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl
để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Ông đã đặt tên
cho bộ mã kịch bản này là Personal Home Page Tools. Khi cần đến các chức năng rộng
hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các
CSDL và giúp cho con người sử dụng phát triển các ứng dụng web đơn giản. Rasmus
đã quyết định công bố mã nguồn của PHP/PI cho mọi người xem, sử dụng cũng như
sửa lỗi có trong nó, đồng thời cải tiến mã nguồn.
Quá trình phát triển của Nukeviet đi từ tự phát cho đến chuyên nghiệp là một điển hình
của con đường phát triển mã nguồn mở trên thế giới. Nuke viet có quá trình phát triển
từ 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, được sự đón nhận của đông đảo người sử dụng, Nukeviet đã
liên tục được phát triển và trở thành một ứng dụng thuần Việt. Đến nay với 100% dòng
code được viết mới, Nukeviet 4.0 đã cho kết quả là một website đạt chuẩn xHTML 1.0
và CSS2.1 cũng như hổ trợ Ajax từ trong bộ nhân. Cùng với việc thành lập doanh
nghiệp chuyên quản mã nguồn, Nukeviet chính thức bước vào thời kỳ phát triển
chuyên nghiệp.
Trong bài báo cáo này em xin giới thiệu về ngôn ngữ lập trình PHP và ứng dụng xây


dựng website trường học từ mã nguồn Nukeviet 4.0 official.
CHƯƠNG 1: TỔNG QUAN VỀ MÃ NGUỒN MỞ
1.1 Giới thiệu phần mềm mã nguồn mở.


Phần mềm nguồn mở là những phần mềm được cung cấp dưới cả dạng mã và nguồn,
không chỉ là miễn phí về giá mua mà chủ yếu là miễn phí về bản quyền: người dùng có
quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung quy định
trong giấy phép ( ví dụ General Public Licence – GPL ) mà không cần xin phép ai,
điều mà họ không được phép làm đối với các phần mềm nguồn đóng ( tức phần mềm
thương mại)… Nhìn chung, thuật ngữ “ Open source” được dùng để lôi cuốn các nhà
kinh doanh, một điều thuận lợi chính là sự miễn phí và cho phép người dùng có quyền
“ sở hữu hệ thống”.
Tiện ích mà Open source mang lại chính là quyền tự do sử dụng chương trình cho 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, 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 lại 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.
Hiện nay đã có một số tổ chức dự định sử dụng Open source để xây dựng nhân tố cốt
lõi của hệ thống từ hệ điều hành, cơ sở dữ liệu, ứng dụng và web server .. đến các hệ
thống quản trị nội dung và nhiều phần mềm kinh doanh thông minh.
Mặt dù con đường để free software khẳng đinh vẫn còn dài, nhưng đáng chú ý là open
source đã giành được khoảng 70% thị trường ứng dụng web, và dường như con số này
vẫn đang được tiếp tục tăng lên theo từng năm.
1.2 Một số định nghĩa về phần mềm mã nguồn mở.
Trên thị trường phần mềm, có nhiều loại giấy phép. Có thể chia các giấy phép này 1
cách tương đối như sau:
Phần mềm thương mại ( Commercial Software )
Là phần mềm thuộc bản quyền các tác giả hoặc nhà sản xuất, chỉ được cung cấp ở
dạng mã nhị phân, người dùng phải mua và không có quyền phân phối lại.

Phần mềm thử nghiệm giới hạn ( Limited Trial Softwware )
Là những phiên bản giới hạn của các phần mềm thương mại được cung cấp miễn phí
nhằm mục đích thử nghiệm, giới thiệu sản phẩm kích thích người dùng quyết định
mua. Loại sản phẩm này không chỉ giới hạn về tính năng mà còn giới hạn về thời gian
dùng thử.
Phần mềm chia sẻ ( Shareware )
Loại phần mềm này có đủ các tính năng và được phân phối tự do, nhưng có một giấy
phép khuyến cáo các cá nhân hoặc tổ chức mua, tùy tình hình cụ thể. Nhiều tiện ích
internet ( Như Winzip dùng các thuận lợi của sharewware như một hệ thống phân
phối ).
Phần mềm sử dụng phí thương mại ( Non-commerrial Use )


Loại phần mềm này được sử dụng tự do, có thể phân phối lại bởi các tổ chức phi lợi
nhuận, nhưng các tổ chức kinh tế, thí dụ các doanh nghiệp … muốn dùng thì phải mua.
Netscape Navigator là thí dụ của loại phần mềm này.
Phần mềm không phải trả phần trăm cho nhà sản xuất (Royalties Free Binaries
Software )
Phần mềm được cung cấp dưới dạng nhị phân và được dùng tự do
Thư viện phần mềm không phải trả phần trăm ( Royalties free Binaties Libraries )
Là những phần mềm mà mã nhị phân cũng như mã nguồn dùng và phân phối tự do,
nhưng người dùng không được phép sửa đổi.
Phần mềm mã nguồn mở kiểu BSD ( Open Source BSD-stype )
Một nhóm nhỏ khép kín đã phát triển các PMNM theo giấy phép phân phối Berkely
Software Distribution ) cho phép sử dụng và phân phối lại phần mềm này dưới dạng
mã nhị phân và mã nguồn. Tuy người dùng có quyền sửa đổi mã, nhưng về nguyên tắc
nhóm phát triển không cho phép người dùng tự do lấy mã nguồn từ kho mã ra sửa và
đưa mã vào lại kho mã mà không được họ kiểm tra trước.
1.3. Hạn chế của phần mềm mã nguồn mở.
1.3.1 Đ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. Cơ cấu chọn lựa đã được thiết lập như nhà sản xuất, giá cả, thị phần hoặc hổ trợ
chỉ cung cấp một sự giúp đở có hạn.
Vấn đề thực sự là một khi gia tăng tính đa dạng sẽ dẫn đến sự phức tạp trong khi với
xã hội ngày nay người ta mong muốn sự đơn giản.
1.3.2 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.
1.3.3 Bất tiện.
Mã nguồn mở thường chỉ tập tring 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.
1.3.4 Thiếu các ứng dụng kinh doanh đặt thù.
Mặt dù có các ứng dụng dự án Phần mềm nguồn mở đang được tiến hành, vẫn còn
nhiều lĩnh vực hoạt động chưa có một sản phẩm phần mềm hoàn thiện, đặt biệt là
trong kinh doanh.
1.3.5 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 các phần mềm mã nguồn đóng. Với các tổ chức đã đầu tư nhiều cho
việc thiết lập các định dạng lưu trử dữ liệu và sử dụng phần mềm đóng, việc cố gắng
tích hợp những giải pháp phần mềm mở có thể sẽ rất tốn kém. Xây dựng các chuẩn
đóng đã được xây dựng với các mục đích ngăn chặn tích lũy những giải pháp thay thế
sẽ chỉ càng làm trầm trọng thêm vấn đề. Đến lúc nào đó, khi các công ty đã chuyển từ
hệ thống chuẩn đóng sang chuẩn mở thì vấn đề này sẽ dần đẫn được khắc phục.
CHƯƠNG 2: GIỚI THIỆU VỀ MÃ NGUỒN MỞ NUKEVIET 4.0
2.1. Những tính năng của NukeViet CMS 4.0
2.1.1 Giới thiệu chung

Mã nguồn mở NukeViet là sản phẩm của sự làm việc chuyên nghiệp:
Để xây dựng lên NukeViet 4, đội ngũ phát triển đã thành lập công ty VINADES.,JSC.
Trong quá trình phát triển NukeViet 4, VINADES.,JSC đã hợp tác với nhiều đơn vị
cung cấp hosting trong và ngoài nước để thử nghiệm host, đảm bảo tương thích với đa
số các hosting chuyên nghiệp.
NukeViet 4 cũng được vận hành thử nghiệm, góp ý bởi nhiều webmaster có kinh
nghiệm quản trị ở nhiều hệ thống khác nhau nhằm tối ưu các tính năng hệ thống cho
người sử dụng.
NukeViet 4 được lập trình bởi các lập trình viên mà kinh nghiệm và tên tuổi của họ đã
được xác lập cùng với tên tuổi của bộ mã nguồn mở tạo web đầu tiên của Việt Nam.
NukeViet 4 là một hệ thống mạnh:
Rút kinh nghiệm từ chính NukeViet 2, NukeViet 3, NukeViet 4 được viết mới hoàn
toàn trên nền tảng kỹ thuật tiên tiến nhất hiện nay cho phép xây dựng các nền tảng ứng
dụng trực tuyến lớn như Các cổng thông tin điện tử, các tòa soạn báo điện tử, các
mạng xã hội và các hệ thống thương mại trực tuyến.
NukeViet 4 đã được thử nghiệm vận hành với dữ liệu lớn lên tới hàng triệu bản tin.
Trên thực tế, NukeViet 4 cũng đã triển khai thành công cho các hiệp hội, doanh nghiệp
có lượng truy cập rất lớn.
NukeViet 4 thích hợp cho mọi đối tượng:
NukeViet lấy người sử dụng làm trọng tâm, những tính năng của NukeViet tạo nên
chuẩn mực trong việc sử dụng và quản trị. Vì thế, NukeViet 4 tốt cho cả người sử dụng
lẫn người phát triển.
Với người sử dụng, NukeViet 4 cho phép tùy biến dễ dàng và sử dụng ngay mà không
cần can thiệp vào hệ thống.
Với người phát triển, sử dụng NukeViet cho phép nhanh chóng xây dựng các nền tảng


khác nhau nhờ việc viết thêm các module cho hệ thống thay vì phải tự mình viết cả
một hệ thống.
2.1.2 Các tính năng của NukeViet 4

Nền tảng công nghệ:
NukeViet CMS 4 lập trình trên PHP 5.4 và MySQL 5, Sử dụng PDO để kết nối với
MySQL(Sẵn sàng kết nối với các CSDL khác) cho phép vận dụng tối đa sức mạnh của
công nghệ mới.
Sử dụng Composer để quản lý các thư viện PHP được cài vào hệ thống.
Từng bước áp dụng các tiêu chuẩn viết code PHP theo khuyến nghị của
/>Ứng dụng Xtemplate và jQuery cho phép vận dụng Ajax uyển chuyển từ trong nhân hệ
thống.
Giai diện trong NukeViet 4 được làm mới, tương thích với nhiều màn hình hơn, Sử
dụng thư viện bootstrap để việc phát triển giao diện thống nhất và dễ dàng hơn.
Tận dụng các thành tựu mã nguồn mở có sẵn nhưng NukeViet 4 vẫn đảm bảo rằng
từng dòng code là được code tay. Điều này có nghĩa là NukeViet 4 hoàn toàn không lệ
thuộc vào bất cứ framework nào trong quá trình phát triển của mình; Bạn hoàn toàn có
thể đọc hiểu để tự lập trình trên NukeViet 4 nếu bạn biết PHP và MySQL (đồng nghĩa
với việc NukeViet 4 hoàn toàn mở và dễ nghiên cứu cho bất cứ ai muốn tìm hiểu về
code của NukeViet).
Kiến trúc Module
NukeViet CMS 4 tái cấu trúc lại module, theo đó, toàn bộ tệp tin của mỗi module được
gói gọn trong một thư mục riêng nhằm đơn giản trong việc quản lý và đóng gói ứng
dụng. Kiến trúc module này tạo ra khái niệm block của module và theme của module
giúp đa dạng hóa việc trình bày module.
Hệ thống NukeViet 4 hỗ trợ công nghệ đa nhân module. Chúng tôi gọi đó là công nghệ
ảo hóa module. Công nghệ này cho phép người sử dụng có thể khởi tạo hàng ngàn
module một cách tự động mà không cần động đến một dòng code. Các module được
sinh ra từ công nghệ này gọi là module ảo. 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.
NukeViet 4 cũng hỗ trợ việc cài đặt từ động 100% các module kèm theo block, theme
từ Admin Control Panel, người sử dụng có thể cài module mà không cần làm bất cứ
thao tác phức tạp nào. NukeViet 4 còn cho phép bạn đóng gói module để chia sẻ cho
người khác.



Hệ thống cho phép quản lý module từ trong Admin Control Panel, quản trị cấp cao có
thể phân quyền truy cập cũng như tạm ngưng hoạt động hay thậm chí cài lại hoặc xóa
module tùy theo nhu cầu sử dụng.
Đa ngôn ngữ
NukeViet 4 đa ngôn ngữ 100% với 2 loại: đa ngôn ngữ giao diện và đa ngôn ngữ xử lý
dữ liệu (database).
NukeViet 4 có tính năng cho phép người quản trị tự xây dựng ngôn ngữ mới cho site.
Cho phép đóng gói file ngôn ngữ để chia sẻ cho cộng đồng...
NukeViet cũng có trung tâm dịch thuật riêng dành cho việc chung tay góp sức xây
dựng những ngôn ngữ mới tại địa chỉ:
NukeViet 4 tách bạch ngôn ngữ quản trị và ngôn ngữ người dùng, ngôn ngữ giao diện
và ngôn ngữ database giúp dễ dàng xây dựng và quản lý các hệ thống đa ngôn ngữ.
NukeViet 4 còn có khả năng tự động nhận diện và chuyển ngôn ngữ phù hợp cho
người sử dụng.
NukeViet 4 còn có sẵn 3 ngôn ngữ mặc định là Việt, Anh và Pháp.
Phân quyền cấp độ hệ thống
NukeViet 4 tách biệt 2 khu vực: Khu vực quản trị và Khu vực người dùng. Toàn bộ các
tính năng quản lý nằm trong khu vực quản trị nhằm đảm bảo việc phân quyền được
thực hiện chính xác và an toàn nhất.
Phân quyền Quản trị
NukeViet 4 phân quyền theo module và theo ngôn ngữ, do đó dễ dàng xác lập quyền
quản trị cho các hệ thống lớn, nhiều người quản trị cùng làm việc.
Phân quyền thành viên
NukeViet 4 cho phép quản lý và phân nhóm người sử dụng thành các nhóm khác nhau
để dễ dàng phân quyền người sử dụng theo từng module cụ thể.
Phân quyền cấp độ module
Ở cấp module, tùy chức năng module được thiết kế mà nó có thể được phân quyền
theo các cơ chế khác nhau, việc này đặc biệt linh hoạt khi xây dựng các hệ thống lớn.

Với module News tích hợp trong hệ thống được trang bị việc phân quyền tới từng
chuyên mục.
Đa giao diện


Cài đặt: NukeViet 4 hỗ trợ cài đặt và gỡ bỏ giao diện hoàn toàn tự động. Hơn thế nữa,
bạn có thể đóng gói giao diện để chia sẻ cho website khác một cách dễ dàng.
NukeViet hỗ trợ giao diện theo ngôn ngữ, giao diện theo module, định nghĩa giao diện
mobile (NukeViet 4) và giao diện PC tùy theo ý người quản trị.
NukeViet hỗ trợ hệ thống đa giao diện cực kỳ uyển chuyển cho cả người sử dụng lẫn
người lập trình. Với NukeViet 4, người sử dụng có thể tùy biến một cách dễ dàng: gán
giao diện theo module, thiết lập bố cục giao diện cho từng tính năng của module.
Với người thiết kế giao diện: có thể tùy ý thiết kế không giới hạn bố cục giao diện.
Giao diện đã được tách bạch phần HTML và CSS khỏi PHP vì vậy người thiết kế tùy
trình độ mà có thể can thiệp vào các lớp giao diện để chỉnh sửa hoặc thiết kế giao diện
mới một cách dễ dàng.
Hỗ trợ truy cập từ điện thoại, máy tính bảng.
Từ bản NukeViet 4, NukeViet có thể tự động nhận diện thiết bị di động để chuyển giao
diện và chế độ tương tác phù hợp. Ngoài ra NukeViet 4 còn có giao diện tùy biến, để
có thể hiển thị tốt trên các màn hình khác nhau.
Tùy biến site bằng Block
NukeViet cho phép đa dạng hóa bố cục và chức năng cho website nhờ các khối (block)
khác nhau trên website. Các khối này có thể là các ứng dụng, các khối quảng cáo hoặc
dữ liệu bất kỳ nào được người sử dụng định nghĩa. Block của NukeViet 4 cũng phân
theo 2 cấp: Block của hệ thống và block cho từng module.
Người sử dụng có thể tùy ý bố trí vị trí block ở các vị trí khác nhau: toàn bộ website,
theo từng module và thậm chí là từng tính năng của module. Block có thể có các giao
diện khác nhau theo theme. Có thể hẹn giờ bật/tắt cũng như phân quyền cho từng đối
tượng người truy cập.
Việc bố trí block có thể thực hiện trong Admin Control Panel hoặc kéo thả trực quan

ngay tại giao diện người dùng.
An ninh, bảo mật
NukeViet 4 được thiết kế để nhận biết và chống các truy cập bất hợp pháp vào hệ
thống cũng như gửi các dữ liệu có hại lên hệ thống.
Sau khi các chuyên giả bảo mật của HP gửi đánh giá, chúng tôi đã tối ưu NukeViet 4.0
để hệ thống an toàn hơn.
Mã hóa các mật khẩu lưu trữ trong hệ thống: Các mật khẩu như FPT, SMTP,... đã được
mã hóa, bảo mật thông tin người dùng.
Tường lửa Admin bảo vệ khu vực bằng mật khẩu và IP.
Bộ lọc IP cấm và bộ lọc file cấm giúp ngăn ngừa các nguy cơ biết trước.


Dữ liệu gửi qua hệ thống được kiểm duyệt bằng bộ lọc an ninh kép nhằm ngăn chặn
các dữ liệu có khả năng tấn công vào hệ thống.
NukeViet có khả năng ngăn chặn, theo dõi và kiểm soát truy cập vào hệ thống của tất
cả các máy chủ tìm kiếm như yahoo và google hay bất cứ máy chủ tìm kiếm nào khác.
Hệ thống có khả năng chống Spam bằng Captcha, chống lụt dữ liệu bằng nhiều hình
thức như giới hạn thời gian gửi dữ liệu (sử dụng các công thức kép)...
Hệ thống cho phép theo dõi, ghi nhận các thông số của máy tính truy cập đến site như:
Hệ điều hành, Trình duyệt, quốc gia, các liên kết đến site (referer) để từ đó có thể kịp
thời ngăn ngừa các nguy cơ tấn công bằng các hình thức như: kiểm tra và chặn các
máy tình dùng proxy, chặn IP truy cập...
hật ký hệ thống sẽ ghi nhận truy cập và thao tác tới cơ sở dữ liệu & tệp tin, giúp người
quản trị cũng như các thành viên dễ dàng phát hiện ra những đăng nhập bất hợp pháp
từ lần đăng nhập trước đó.
Hệ thống có thể phát hiện các bản nâng cấp mới của phần mềm để nhắc nhở người sử
dụng nâng cấp và sửa chữa các lỗi (nếu có)
Quản lý CSDL
NukeViet 4 cho phép quản lý CSDL, 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ố.

Hỗ trợ mô hình CSDL theo mô hình master/slave để phân tải CSDL.
Kiểm soát lỗi tự động và báo lỗi thông minh
NukeViet 4 có hệ thống kiểm soát lỗi tự động và báo lỗi cho người dùng.
Các lỗi (nếu có) sẽ được hệ thống kiểm soát có chủ đích, nó chỉ hiển thị lên màn hình
người sử dụng ở lần đầu nó xuất hiện, sau đó hệ thống ghi nhận và báo về cho người
quản trị qua email.
Quản trị có thể cấu hình việc bật tắt việc có ghi nhận lỗi hay không.
Tối ưu hóa cho công cụ tìm kiếm (SEO)
Loại bỏ tên module khỏi URL khi không dùng đa ngôn ngữ.
Cho phép đổi đường dẫn module
Thêm chức năng xác thực Google+ (Bản quyền tác giả)
Thêm chức năng ping đến các công cụ tìm kiếm: Submit url mới đến google để việc
hiển thị bài viết mới lên kết quả tìm kiếm nhanh chóng hơn.
Hỗ trợ Meta OG của facebook
Hỗ trợ chèn Meta GEO qua Cấu hình Meta-Tags
Hỗ trợ SEO link.
Quản lý và tùy biến tiêu đề site, description


Hỗ trợ quản lý các thẻ meta như: keywords, description
Hỗ trợ sử dụng keywords để phát sinh trang thống kê một cách tự động nhờ công cụ
tìm kiếm.
Hỗ trợ quản lý máy chủ tìm kiếm.
Hỗ trợ quản lý cấu hình robots.txt
Hỗ trợ chuẩn đoán site (site Diagnostic).
Sẵn sàng cho việc tích hợp các ứng dụng của bên thứ 3
NukeViet 3.4 sử dụng Cơ sở dữ liệu thành viên độc lập và xây dựng sẵn các phương
thức kết nối với các ứng dụng Forum. Cơ sở dữ liệu thành viên độc lập giúp việc quản
lý thành viên được chủ động, khi có nhu cầu kết nối hoặc trao quyền quản lý cho các
ứng dụng từ bên thứ 3, NukeViet 3.4 vẫn hoàn toàn chủ động với dữ liệu thành viên

của mình. Với NukeViet 3.4, các kết nối trực tiếp dành cho Forum như PHPBB hay
VBB đều sẵn sàng.
Hỗ trợ Đăng nhập phân tán
NukeViet hỗ trợ thư viện OAuth , cho phép người truy cập có thể đăng nhập phân tán
từ các hệ thống như FaceBook và Google hay các hệ thống OpenID khác giúp các
website mới xây dựng có cơ hội thu hút lượng người sử dụng khổng lồ từ các hệ thống
lớn.
Trong mọi trường hợp, hệ thống cho phép admin kiểm duyệt việc login OAuth. Tùy
nhu cầu sử dụng mà có thể thiết đặt mức độ login cao nhất (tự động) tới mức độ vẫn
phải đăng ký thành viên (bớt bước kích hoạt qua email). Người sử dụng cũng có thể
quản lý nhiều tài khoản OAuth để từ đó có thể đăng nhập bằng tài khoản bất kỳ (nếu
hệ thống cho phép).
Trình soạn thảo tích hợp sẵn:
Tại những vị trí phù hợp, NukeViet tích hợp sẵn trình soạn thảo CKeditor giúp người
sử dụng dễ dàng biên tập nội dung trên giao diện trực quan và thân thiện như làm việc
với phần mềm Microsoft Word hay OpenOffice. Hiện tại NukeViet 4 cũng đã mở sẵn
để tích hợp các trình soạn thảo khác.
Các tiện ích khác
Hệ thống cho phép gửi mail bằng các phương thức: SMTP, Linux Mail, PHPmail.
Cho phép sử dụng phương thức FTP để ghi file nếu máy chủ không cho phép làm điều
đó bằng PHP
Cho phép xây dựng và quản lý các tác vụ xử lý tự động như tự động sao lưu CSDL, tự
động xóa các dữ liệu cũ hoặc gửi báo lỗi tới người quản trị...
Cung cấp đầy đủ các thông tin về hệ thống giúp nhà phát triển dễ dàng sử dụng các
thông tin này phục vụ cho việc lập trình, kiểm tra và báo lỗi hệ thống.


Các module tích hợp sẵn trong NukeViet CMS 4:
Quản lý Upload
Upload hình (ảnh, flash) từ máy tính hoặc một địa chỉ bất kỳ trên mạng.

Quản lý: Di chuyển, đổi tên, sửa, xóa, tạo hình thu nhỏ...
Hỗ trợ tìm kiểm các file và mô tả các file được upload lên trong khu vực quản trị.
Quản trị và xuất bản Tin tức: (cho phép tạo module ảo)
Hệ thống tin tức của NukeViet là hệ thống quản trị tin tức chuyên nghiệp đặc biệt phù
hợp với các website tin tức. Nó cho phép xử lý nhiều tác vụ nền thông minh mà không
cần người sử dụng can thiệp nhằm tối ưu cho hệ thống tin tức, Ví dụ: tạo hình thu nhỏ,
tự động chia thư mục và sắp xếp hình vào các thư mục theo thời gian...
Quản lý chủ đề đa cấp trong đó bản tin có thể nằm ở 1 hoặc nhiều chủ đề không phụ
thuộc quan hệ cha con giữa các chủ đề.
Phân quyền cho người quản lý module, đến từng chủ đề
Quản lý nhóm tin liên quan (phân luồn tin theo dòng đơn)
Quản lý block tin (nhóm tin đa luồng)
Quản lý Tags
Quản lý nguồn tin
Tùy chỉnh bố cục trang tin.
Gửi bài viết, hẹn giờ đăng và nhiều tùy chỉnh khác: cho phép gửi bản tin, in, lưu bản
tin.
Cấp tin RSS
Công cụ tương tác với mạng xã hội.
Module Page:
Module này thích hợp làm các bài viết không cần quản lý chủ đề, như các module ảo:
giới thiệu, nội quy site ...
Hỗ trợ SEO: Ảnh minh họa, chú thích ảnh minh họa, mô tả, từ khóa cho bài viết, hiển
thị các công cụ tương tác với các mạng xã hội.
Hỗ trợ RSS
Cấu hình phương án hiển thị các bài viết trên trang chính.
Quản lý thành viên:
Quản lý việc đăng nhập, đăng ký.
Quản lý phương thức đăng nhập: Qua openid hoặc đăng nhập trực tiếp.
Quản lý câu hỏi bảo mật.

Quản lý nội quy.


Quản lý thông tin thành viên.
Cho phép đăng nhập 1 lần tài khoản người dùng NukeViet với Alfresco, Zimbra,
Moodle, Koha thông qua CAS.
Chức năng tùy biến trường dữ liệu thành viên
Chức năng phân quyền sử dụng module users
Cấu hình Số ký tự username, độ phức tạp mật khẩu, tạo mật khảu ngẫu nhiên,....
Cho phép sử dụng tên truy cập, hoặc email để đăng nhập
Quản lý liên hệ gửi đến website
Quản lý thông tin liên hệ trên site.
Quản lý các bộ phận tiếp nhận liên hệ.
Quản lý và trả lời các thư gửi tới. Admin có thể trả lời khách nhiều lần, hệ thống lưu
lại lịch sử trao đổi đó.
Hệ thống nhận thông báo: đây là một tiện ích nhỏ, song nó rất hữu dụng để admin
tương tác với hệ thống một cách nhanh chóng. Admin có thể nhận thông báo từ hệ
thống (hoặc từ module) khi có sự kiện nào đó. Ví dụ: Khi có khách gửi liên hệ (qua
module contact) đến thì hệ thống xuất hiện biểu tượng thông báo “Có liên hệ mới” ở
góc phải, Admin sẽ nhận được ngay lập tức thông báo khi người dùng đang ở Admin
control panel (ACP).
Quản lý thăm dò ý kiến:
Tạo các thăm dò ý kiến
Quản lý quảng cáo chuyên nghiệp:
Quản lý khách hàng.
Quản lý các khu vực quảng cáo
Quản lý các nội dung quảng cáo.
Kết hợp với việc quản lý block. Các quản cáo có thể đặt vào các khu vực khác nhau,
dễ dàng thay đổi theo nhu cầu của người dùng.
Thống kê: Thống kê theo năm, tháng, ngày, tuần, giờ.

Theo liên kết đến site
Theo quốc gia
Theo trình duyệt
Theo hệ điều hành
Máy chủ tìm kiếm
Tìm kiếm
Tìm kiếm chung toàn hệ thống


Tìm kiếm nâng cao từng khu vực
Module menu:
Module này cung cấp để quản lý các menu tùy biên, có thể lấy liên kết từ nhiều mục
khác nhau.
Phương án quản lý menu được thay đổi hướng tới việc quản lý menu nhanh chóng,
tiện lợi nhất cho admin.
Admin có thể nạp nhanh menu theo các tùy chọn mà hệ thống cung cấp.
Mẫu menu cũng được thay đổi, đa dạng và hiển thị tốt với các giao diện hiện đại.
Quản lý Bình luận
Các bình luận của các module sẽ được tích hợp quản lý tập trung để cấu hình, phân
quyền.
Khi xây dựng mới module, Chỉ cần nhúng 1 đoạn mã vào. Tránh phải việc copy mã
code gây khó khăn cho bảo trì.
Trên đây là các tính năng chính của bộ nhân hệ thống NukeViet 4. Với NukeViet, việc
mở rộng thêm các tính năng là không hạn chế, đơn giản là cài thêm các module tương
ứng hoặc xây dựng thêm các module đó cho NukeViet.
CHƯƠNG 3: HƯỚNG DẪN CÀI ĐẶT MÔI TRƯỜNG PHÁT TRIỂN MÃ
NGUỒN MỞ PHP NUKEVIET.
3.1 Webserver là gì?
Webserver (máy chủ web) là máy chủ chuyên phục vụ cho các dịch vụ web ( bao gồm
dịch vụ chính là lưu trử web – web hosting). Nukeviet được viết để chạy trên các máy

chủ web. Để thử nghiệm nukeviet trên máy tính cá nhân ( Laptop, PC… ) chúng ta cần
cài thêm phần mềm máy chủ web cho máy tính của mình. Đây là môi trường hổ trợ
Nukeviet cũng như bất kỳ một ứng dụng nào viết bằng PHP như web, Forum, Chat,
Webmail…
Các phần mềm máy chủ web sẻ giúp máy tính của bạn chạy các dịch vụ tương tự các
máy chủ web hosting ở chính máy tính của mình được gọi là localhost, được truy cập
thông qua địa chỉ http://localhost hoặc http://127.0.0.1/.
Các phần mềm web server là một cách nhanh chóng và đơn giản để chúng ta thiết lập
web hosting mà không phải mất công cài từng phần mềm rời rạc như apache, PHP, My
SQL…
Các phần mềm tạo localhost:
App Serv – Windowns


Xampp – windowns
Vertrigo – Windowns
Xampp – Linux
3.2 Cách cài chương trình Server Xampp
Xampp là chương trình tạo máy chủ Web (Web Server) trên máy tính cá nhân
(Localhost) được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các
công cụ như PHPmyadmin. Xampp được download và sử dụng miễn phí
tại: />Cài đặt XAMPP
Chạy chương trình cài đặt XAMPP Installer, khi xuất hiện bảng chọn ngôn ngữ,
chọn English và nhấn Ok.
Khi xuất hiện bảng Welcome to the Xampp Setup Wizard, nhấn Next.
Trong License Agrement chọn I accept the Agreement, nhấn Next.
Trong Select Destination Location, chọn nơi cài đặt Xampp. Lưu ý ở bước này nên
chọn ổ dĩa khác với ổ dĩa cài windows để sau này dễ cài đặt cấu hình cho Wampp.
Chọn đường dẫn là D:\xampp (cài trên thư mục xampp của ỗ dĩa D), nhấn Next.


Trong XAMPP Options, để nguyên mặc định của Xampp và nhấn Install.
Chương trình sẽ tiến hành cài đặt và sau cùng nhấn Finish để kết thúc việc cài đặt,
chương trình sẽ hỏi bạn có muốn mở bảng điều khiển của Xampp hay không, hãy
chọn No vì chúng ta cần chỉnh thêm một vài thông số nữa.
Sử dụng XAMPP
Thư mục gốc (Web Root) dùng để chứa các trang web mặc định của Xampp
là D:\xampp\htdocs. Tất cả các Website hoặc thư mục chứa Website đều phải được
đặt vào thư mục Web Root (htdocs) thì mới hoạt động được.


Nếu muốn bạn có thể thay đổi thư mục Web Root, bạn nên tạo một thư mục Web Root
khác nằm ở bên ngoài thư mục Xampp để dễ sử dụng. Thí dụ tạo thư mục Web
Root nằm ở ổ dĩa D: có tên là WWW thì làm như sau:
Mở tập tin có tên là httpd.conf nằm trong thư mục cài đặt
Xampp D:\xampp\apache\conf\ (D:\xampp\apache\conf\httpd.conf) bằng chương
trình Notepad hoặc bất cứ chương trình soạn thảo văn bản nào.
Tìm đến dòng DocumentRoot "D:/xampp/htdocs" sửa lại thành DocumentRoot
"D:/www"
Tìm dòng sửa lại thành
Save và đóng tập tin này lại. Lưu ý dấu sổ / và \ của đường dẫn phải chính xác.
Mở bảng điều khiển của chương trình Xampp bằng cách nhấn đúp chuột vào
Icon XAMPP Control Panel nằm trên Desktop. Nếu xuất hiện bảng xuất hiện
bảng Windows Security Alert thì chọn Unblock.

Trong bản điều khiển Xampp, chọn Start để khởi động Apache và MySQL. Nhấn
vào nút X (góc trên bên phải) để tắt bảng điều khiển, bạn có thể mở bảng điều khiển
này bất cứ lúc nào bằng cách nhấn chuột và biểu tượng của Xampp nằm ở khay hệ
thống (góc dưới bên phải màn hình).



Bây giờ thư mục gốc (Web Root) để chứa các trang web là D:\www. Bạn cũng có thể
Copy các File trong thư mục D:\xampp\htdocs vào thư mục D:\www, sau đó mở
chương trình duyệt web (internet Explorer, Firefox...), trong ô địa chỉ bạn nhập
vào: http://localhostnếu hiện lên bảng thông số của Xampp là việc cài đặt đã thành
công.
3.3 Hướng dẫn cài NukeViet 4 trên localhost.
Giải nén bộ cài NukeViet vào thư mục htdocs trên localhost sao cho thư mục nukeviet
nằm trong thư mục htdocs(trên hosting thì nó là thư mục public_html). Tiến hành cài
đặt bằng việc mở trình duyệt (FireFox, Chrome, Internet Explorer, Opera..) của bạn lên
và truy cập địa chỉ http://localhost/nukeviet/ (Bạn cần chắc chắn rằng phần mềm
Xampp đang chạy bằng cách truy cập địa chỉ http://localhost/phpmyadminxem có
được không).
Quá trình cài đặt mới 1 website sử dụng NukeViet sẽ qua 07 bước như sau:
Bước 1: Lựa chọn ngôn ngữ

Hình 1: Chọn ngôn ngữ cài đặt.
Gợi ý: Bạn có thể chọn cài đặt với ngôn ngữ bất kỳ. Sau khi cài đặt bạn vẫn có thể bổ
sung các ngôn ngữ khác tải về từ website nukeviet.vn.
Bước 2: Kiểm tra việc máy chủ


Hình 2: Kiểm tra môi trường máy chủ
Phần mềm sẽ hiển thị thông tin bản quyền về phần mềm nguồn mở theo giấy phép
GNU/GPL và giải thích các điều khoản bạn được phép và không được phép. Bạn nhấp
nút “Bước kế tiếp” để chuyển sang bước tiếp theo.
Để hệ thống NukeViet có thể chạy được thì yêu cầu máy chủ bắt buộc phải hỗ trợ
Phiên bản PHP 5.4 trở lên . Nếu hai điều kiện này không thỏa mãn thì quá trình cài đặt
không thể tiếp tục. Ngoài ra hệ thống còn đưa ra những khuyến cáo về những tính
năng khác của máy chủ. Nếu những yêu cầu thêm này không thỏa mãn bạn vẫn có thể
cài đặt NukeViet nhưng hệ thống sẽ mất đi một số chức năng tiện ích.

Bước 3: Cấu hình cơ sở dữ liệu

Hình 3: Cấu hình cơ sở dữ liệu.
Bạn phải điền đầy đủ các thông tin về thông số database của bạn sau đó nhấn vào nút
“Thực hiện”. Thông số Username và Mật khẩu do phần mềm Xampp quản lý (mặc


định Username là root và mật khẩu để trống, bạn có thể đặt lại mật khẩu theo ý muốn).
Riêng Tên cơ sở dữ liệu cần được tạo trước bằng cách truy cập địa
chỉ: http://localhost/phpmyadmin/, vào mục Database, tạo cơ sở dữ liệu mới tại ô Creat
new database.
Bước 4: Thông tin website

Hình 4: Khai báo thông tin website. Mật khẩu: vubinh123!@#
Ở bước này các bạn phải điền đầy đủ thông tin vào những ô được đánh dấu (*), bên
cạnh là cột ghi chú giúp bạn có thể hiểu rõ hơn quá trình nhập thông tin. Sau khi nhập
thông tin xong bạn nhấn vào nút “Thực hiện” để hoàn tất.
Bước 5: Kết thúc

Hình 5: Thông báo cài đặt thành công.
Khi hoàn thành 4 bước trên hệ thống sẽ chuyển bạn qua bước cuối cùng. Tại đây bạn
sẽ nhìn thấy thông báo chúc mừng bạn đã cài đặt thành công. Đồng thời, hệ thống
cũng nhắc bạn hãy CHMOD ngay thư mục uploads trên webroot (thư mục gốc của
website) và các thư mục con nằm trong thư mục uploads ở chế độ 777. Bạn chỉ cần
làm việc này nếu sử dụng hệ điều hành Linux (kể cả hosting linux). Riêng với


Windows, thư mục này cần được loại bỏ thuộc tính (properties) chỉ đọc (Read-only)
nếu nó đang có thuộc tính này. Sau khi xong các bước hệ thống yêu cầu bạn có 2 lựa
chọn: Xem trang chủ hoặc Đăng nhập trang quản trị. Bạn có thể đăng nhập trang quản

trị bằng cách gõ thêm /admin/ sau địa chỉ cài đặt NukeViet,
vd: http://localhost/nukeviet/thpttranvand.cf/
Chú ý: Nếu bạn muốn cài đặt lại website hãy xóa file config.php ở thư mục gốc của
NukeViet. Sau đó tiếp tục các bước như trên để cài lại hệ thống NukeViet 4.x
Việc cài NukeViet trên máy chủ mạng hoặc hosting cũng hoàn toàn tương tự. Trong
trường hợp sử dụng hosting, chúng tôi khuyên bạn hãy sử dụng hosting linux có công
cụ quản lý bằng Cpanel, hỗ trợ PHP 5.5 trở nên và MySQL và một tên miền trỏ sẵn về
hosting này. Bạn có thể tìm thấy danh sách các nhà cung cấp hosting tương thích
NukeViet tại địa chỉ nukeviet.vn/vi/partner/hosting.html
CHƯƠNG IV: ỨNG DỤNG MÃ NGUỒN MỞ PHP NUKEVIET VÀO XÂY DỰNG
WEBSITE TRƯỜNG HỌC THPT.
4.1 Các giao diện.
4.1.1 Giao diện chính.

4.1.2 Giao diện đăng ký thành viên.


4.1.3 Giao diện trang quản trị.

4.1.4 Giao diện quản lý các ứng dụng


KẾT LUẬN
NukeViet là phần mềm được người Việt phát triển nên ưu tiên người Việt dùng hàng
Việt để đưa sản phẩm của người Việt ngang tầm thế giới. Thúc đẩy những ý tưởng phát
triển website cũng như mã nguồn mở được phổ biến rộng khắp.
Bằng việc sử dụng các công nghệ web mới nhất hiện nay, thiết kê hệ thống uyển
chuyển và sở hữu những tính năng độc đáo, Nukeviet sẽ giúp bạn triển khai các ứng
dụng web từ nhỏ đến lớn một cách nhanh chóng và tiết kiệm. Từ các website cá nhân
cho tới cổng thông tin điện tử. Từ các gian hàng trực tuyến cho tới các mạng xã hội….

Cuối cùng một lần nữa chân thành cảm ơn Thầy giáo T.s …… Châu đã giúp đở em
trong suốt thời gian qua.



×