Tìm hiểu Phần mềm mã nguồn mở Nukeviet, CMS Nukeviet 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. NukeViet có quá trình phát triển từ năm 2004, Từ việc sử dụng sản phẩm PHPNuke để làm website cho cộng đồng 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. 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 PHPNuke và xây dựng NukeViet thành một ứng dụng khác biệt hoàn toàn. Với 100% dòng code được viết mới, 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.
TÌM HIỂU VỀ PHẦN MỀM NGUỒN MỞ NukeViet • Trương Quyết Thắng • Lưu Xuân Hồng • Lý Ngọc Thảo • Nguyễn Thị giang • Lãnh Thùy Linh • Hà Quỳnh Nga • Đỗ Thị Hải Xuân • Nguyễn văn thắng QUÁ TRÌNH PHÁT TRIỂ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. NukeViet 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 website cho cộng đồng 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. 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. Với 100% dòng code được viết mới, 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. Kể từ năm 2010, NukeViet đã phát triển theo mô hình chuyên nghiệp, đội ngũ quản trị đã thành lập doanh nghiệp chuyên quản. Mặc dù từ phiên bản 3.0, NukeViet được viết mới hoàn toàn và trong quá trình phát triển của mình, nhiều cái tên đã được đưa ra để thay thế nhưng cuối cùng, theo kiến nghị của cộng đồng người sử dụng, cái tên NukeViet đã được giữ lại để nhớ rằng NukeViet được khởi đầu từ PHP-Nuke và để cảm ơn Franscisco Burzi - Tác giả PHP-Nuke - vì chính ông là nhân tố để có một cộng đồng mã nguồn mở NukeViet với hàng chục ngàn người dùng như hiện nay. Dù NukeViet 3 đã được viết mới hoàn toàn nhưng nó vẫn chịu những ảnh hưởng từ PHP- Nuke ở những điểm sau: • NukeViet đượ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 hoặc intranet. • 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. TÍNH NĂNG • NukeViet 3.0 bản gốc có các module cơ bản là: - Quản lý Tin tức (News: Tạo bản tin chủ đề đa cấp, phân quyền theo chủ đề, hẹn giờ đăng tin, tạo bản in, bản tải về, thảo luận bản tin), - Giới thiệu (About), - Quản lý quảng cáo thương mại (banners), - Quản lý người dùng (users), - Liên hệ qua site (Contact), - Cấp tin RSS (RSS feeds) và thu thập tin RSS ("RSS reader"), - Bình chọn (thăm dò ý kiến - Voting), - Thư viện file (Download), - Thư viện Web (Weblinks), - Hỏi nhanh đáp gọn(Faq), - Thống kê truy cập (statistics), - Tìm kiếm trong site (Search), - Bán hàng trực tuyến (Shop) (có từ NukeViet 3.1) • Tính năng hệ thống: - Cài đặt, nâng cấp và đóng gói tự động. - Hỗ trợ đa ngôn ngữ giao diện và đa ngôn ngữ Cơ sở dữ liệu 100%, cho phép người sử dụng tự xây dựng ngôn ngữ mới. - Thay đổi & tùy biến giao diện nhiều cấp độ, cho phép người sử dụng có thể cài thêm giao diện mới hoặc tùy biến giao diện trên site theo ý thích. Người sử dụng có thể tùy biến bố cục giao diện theo layout, theo block ở các khu vực khác nhau của website. - Quản lý module với khả năng xử lý đa nhân module (ảo hóa module). - Cho phép phân nhóm thành viên và phân quyền người quản trị theo nhiều cấp độ khác nhau. - Hỗ trợ tối ưu hóa cho các công cụ tìm kiếm (SEO): Rewrite, tạo Sitemap, Ping sitemap, chuẩn đoán site, phân tích từ khóa, tạo keyword, quản lý máy chủ tìm kiếm (Bot) - Quản lý và sao lưu cơ sở dữ liệu. - Cấu hình tùy biến, tường lửa đa cấp, xử lý tiến trình tự động - Hỗ trợ thiết bị di động (mobile), cho phép thay đổi giao diện tương thích (từ phiên bản 3.3) ỨNG DỤNG NukeViet được sử dụng ở nhiều website, từ những website cá nhân cho tới những hệ thống website doanh nghiệp, nó cung cấp nhiều dịch vụ và ứng dụng nhờ khả năng tăng cường tính năng bằng cách cài thêm các module, block Trước đây, NukeViet chủ yếu được sử dụng làm trang tin tức nhờ module News tích hợp sẵn trong NukeViet được viết rất công phu, nó lại đặc biệt phù hợp với yêu cầu và đặc điểm sử dụng cho hệ thống tin tức. Kể từ phiên bản NukeViet 3, đội ngũ phát triển NukeViet đã định nghĩa lại NukeViet, theo đó, NukeViet được coi như phần mềm trực tuyến mà chức năng CMS chỉ là một module của NukeViet. NukeViet có thể dễ dàng cài đặt, dễ dàng quản lý kể cả với những người mới sử dụng do đó thường được những đối tượng người dùng không chuyên ưa thích. NukeViet có mã nguồn mở do đó việc sử dụng NukeViet là hoàn toàn miễn phí cho tất cả mọi người trên thế giới. Từ bản 2.0 trở về trước, đối tượng người dùng chủ yếu của NukeViet là người Việt vì những đặc điểm của bản thân mã nguồn (có nguồn gốc từ PHP-Nuke) và vì chính sách của nhóm phát triển là: "hệ thống Portal dành cho người Việt". Kể từ phiên bản 3.0, đội ngũ phát triển NukeViet định hướng đưa NukeViet ra cộng đồng quốc tế. • Các cổng thông tin điện tử, ví dụ: Công ty Cổ phần Đầu tư Tài chính Công đoàn Dầu khí Việt Nam - NukeViet 3.0 • Các tập đoàn kinh tế, ví dụ: Trang tin của tập đoàn MeKong - NukeViet 2.0 • Giải trí trực tuyến, văn hóa, nghệ thuật. ví dụ: Cải Lương Việt Nam - NukeViet 2.0, Văn nghệ Sông Cửu Long - NukeViet 2.0 • Báo điện tử , tạp chí điện tử, ví dụ: Báo Người Hà Nội - NukeViet 2.0 • Website của các doanh nghiệp vừa và nhỏ, ví dụ: Hacao Co., Ltd - NukeViet 2.0 • Website của các cơ quan, tổ chức chính phủ • Website giáo dục, trường học, ví dụ: Sở giáo dục và đào tạo Nam Định cùng các trường trực thuộc - NukeViet 3.0 • Website của gia đình, cá nhân, nhóm sở thích Ngoài các ứng dụng website ở trên, thực tế NukeViet đã được ứng dụng làm rất nhiều phần mềm khác như: Phần mềm quản lý kho hàng, phần mềm bán hàng, phần mềm quản lý quán BI-A trợ giúp bật tắt điện đèn bàn bóng, phần mềm tòa soạn điện tử, phần mềm quản lý hồ sơ, quản lý nhân sự trực tuyến, phần mềm tra cứu điểm thi hỗ trợ SMS PHIÊN BẢN NUKEVIET 3.0 Dòng phiên bản NukeViet 3.0 là thế hệ hoàn toàn mới do người Việt phát triển. Lần đầu tiên ở Việt Nam, một bộ nhân mã nguồn mở được đầu tư bài bản và chuyên nghiệp cả về tài chính, nhân lực và thời gian. Kết quả là 100% dòng code của NukeViet được viết mới hoàn toàn, NukeViet 3 sử dụng xHTML, CSS với Xtemplate và jquery cho phép vận dụng Ajax uyển chuyển cả trong công nghệ nhân. Tận dụng các thành tựu mã nguồn mở có sẵn nhưng NukeViet 3 vẫn đảm bảo rằng từng dòng code là được "code tay". Toàn bộ nhân hệ thống được xây dựng từ đầu, xuyên suốt và mạch lạc; không phải là những thư viện chắp vá rời rạc. Điều này có nghĩa là NukeViet 3 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 3 nếu bạn biết PHP và MySQL (đồng nghĩa với việc NukeViet 3 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). Bộ nhân NukeViet 3 ngoài việc thừa hưởng sự đơn giản vốn có của NukeViet nhưng không vì thế mà quên nâng cấp mình. Hệ thống NukeViet 3 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 3 cũng hỗ trợ việc cài đặt từ động 100% các module, 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 3 còn cho phép bạn đóng gói module để chia sẻ cho người khác. NukeViet 3 đa ngôn ngữ 100%, phân biệt rõ ràng, đó là giao diện và database. NukeViet 3 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, có thể quản lý và phân quyền theo ngôn ngữ, biên tập và đóng gói file ngôn ngữ để chia sẻ cho cộng đồng câu chuyện về NukeViet 3 sẽ còn dài vì một loạt các tính năng cao cấp vẫn đang được phát triển. Hãy sử dụng và phổ biến NukeViet 3 để tự mình tận hưởng những thành quả mới nhất từ công nghệ web mã nguồn mở. Cuối cùng NukeViet 3 là món quà của VINADES.,JSC gửi tới cộng đồng để cảm ơn cộng đồng đã ủng hộ thời gian qua, bây giờ NukeViet 3 được đưa trở lại cộng đồng để hy vọng NukeViet 3 tiếp tục lớn mạnh hơn. CẤU TRÚC CỦA NUKEVIET 3.0 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 • 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. CÀI ĐẶT VÀ SỬ DỤNG NUKEVIET I. Hướng dẫn cài NukeViet trên localhost Hướng dẫn này dựa trên phiên bản NukeViet 3.4.02,Các phiên bản khác có thể có đôi chút khác biệt. Lưu ý: Để tránh bị dính mã độc, người sử dụng chỉ nên tải NukeViet về từ địa chỉ chính thức của NukeViet làwww.nukeviet.vn. Giải thích cho những người lần đầu sử dụng: Bởi vì NukeViet là phần mềm chạy trên máy chủ do đó bạn cần cài nó trên một máy chủ mạng (web server hoặc hosting), tuy nhiên nếu bạn không có sẵn máy chủ mạng để làm việc này, bạn có thể thử nghiệm NukeViet trên máy tính của bạn bằng cách cài thêm phần mềm web server phù hợp. Môi trường web server trên chính máy tính của bạn đang sử dựng được gọi là localhost. Một localhost có thể được truy cập thông qua địa chỉ http://localhost/ hoặc http://127.0.0.1/ Chuẩn bị cho việc cài đặt NukeViet Tải NukeViet 3 từ http://nukeviet.vn Cài đặt một trong các phần mềm web server như Vertrigo, AppServ (Windows) hoặc Xampp (Windows, Linux/Ubuntu) Lưu ý: Hình minh họa dưới đây được chụp trong môi trường sử dụng hệ điều hành được sử dụng là Windows 7, phần mềm webserver được sử dụng là Vertrigo Version 2.27, trình duyệt FireFox version 17.0.1. Các môi trường khác có thể sẽ có đôi chút khác biệt. Cài đặt NukeViet Giải nén bộ cài NukeViet vào thư mục www trên localhost sao cho thư mục nukeviet nằm trong thư mục www (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 Vertrigo đang chạy bằng cách truy cập địa chỉ http://localhost/ xem có được không). Ghi chú: Hướng dẫn này chỉ dẫn cách cài NukeViet trên localhost Windows sử dụng Vertrigo. Bạn cũng có thể tham khảo Hướng dẫn cài NukeViet trên hosting và hướng dẫn cài NukeViet trên localhost Linux (Ubuntu) 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ữ Ngôn ngữ mặc định khi cài đặt là tiếng Việt, bạn cũng có thể chọn sử dụng tiếng Anh. Lựa chọn xong ngôn ngữ bạn có thể nhấn vào nút “Bước kế tiếp” để chuyển sang bước tiếp theo (Hình 1). 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 CHMOD Hình 2: Kiểm tra điều kiện cài đặt. [...]... bước tiếp theo Bước 3: Bản quyền Hình 3: Thông báo bản quyền 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 Bước 4: Kiểm tra máy chủ Hình 4: Kiểm tra môi trường máy chủ Để hệ thống NukeViet có thể chạy được thì yêu cầu máy chủ bắt buộc phải hỗ... tìm kiếm Quản lý IP cấm Cấu hình upload Cấu hình site (theo ngôn ngữ) Phần này sẽ áp dụng cho site theo từng ngôn ngữ, nếu site của bạn có nhiều ngôn ngữ khác nhau bạn cần thiết lập các thông số này theo từng ngôn ngữ Chú thích: Tên gọi của site, Mô tả của site: hiển thị trên thanh tiêu đề của trình duyệt Từ khóa cho máy chủ tìm kiếm: Đây là từ khóa chung cho toàn site để các công cụ tìm. .. nào bạn cần nhập các giá trị phù hợp sau đó lưu lại Cấu hình file robots.txt Phần này cho phép chúng ta lựa chọn tên các file và thư mục của hệ thống có được phép hiển thị trong file robots.txt hay không, nếu có thì có cấm các máy chủ tìm kiếm tiếp cận hay không… Cấu hình máy chủ tìm kiếm Hệ thống liệt kê ra các loại máy chủ tìm kiếm (bot) Để không cho loại bot nào truy cập vào site, cần bỏ chọn quyền... máy chủ bắt buộc phải hỗ trợ Phiên bản PHP từ 5.2.0 và MySQL 5.02 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 5: Cấu hình cơ sở dữ liệu Hình 5: Cấu hình... tiện ích Bước 5: Cấu hình cơ sở dữ liệu Hình 5: 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 Vertrigo quản lý (mặc định Username là root và mật khẩu là vertrigo) 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ơ... trong phần nội dung thông báo site ngưng hoạt động Đóng cửa site Người điều hành chung truy cập: Ở chế độ này thì chỉ có những người điều hành chung của site được truy cập và những người còn lại sẽ nhận được thông báo site đóng cửa Đóng cửa site tất cả admin truy cập: Ở chế độ này thì tất cả admin đều có quyền truy cập vào site và những người còn lại sẽ nhận được thông báo site đóng cửa Từ khóa tìm. .. khách đăng ký Cấu hình thống kê Cấu hình phần này giúp chúng ta có thể: Múi giờ dùng khi thống kê truy cập: được mặc định theo múi giờ của máy tính truy cập Lựa chọn kích hoạt tiện ích đếm số người online Kích hoạt tiện ích thống kê Thống kê ID Google analitics Hiển thị đặc tính Domain khi khai báo với Google analitics Tiến trình tự động Trong hệ thống NukeViet 3 có các tiến trình tự động, để... thư mục tmp Xóa IP log files Xóa các file logo truy cập Xóa các file error_log quá hạn Gửi email các thông báo lỗi cho admin Xóa các referer quá hạn Cập nhập dánh giá site từ các máy chủ tìm kiếm Kiểm tra phiên bản nukeviet Các tiến trình này cần phải được bật, Nếu một tiến trình bị lỗi trong quá trình thực thi thì tiền trình này sẽ dừng lại không chạy tiếp, bạn cần kiểm tra lại lỗi của mỗi tiến trình... Nếu dùng SMTP để gửi mail có sử dụng SSL thì máy chủ cẫn hỗ trợ thư viện openssl Để kiểm tra xem máy chủ của bạn có hỗ trợ hay không xem theo hướng dẫn sau: Vào menu Thông tin - > Tiện ích mở rộng tìm xem có đoạn sau không Cấu hình FTP Với các hosting linux bật safe mode, hoặc khi cài đặt hệ thống cần chmode cho các file và cấc thư mục thì bạn nên nhập các thông số FTP để khi hệ thống cần thiết... thông số này Server or Url: Thường là địa chỉ IP hoặc tên domain hoặc localhost User name: User name của tài khoản FTP Remote path: Là giá trị của đường dẫn tới thư mục khi dùng phần mền FTP để truy cập Cấu hình title Phần này giúp chúng ta lựa chọn Phương án hiển thị tag “title” Trong đó có các phương án như: pagetitle: Tiêu đề trang được xác định trong từng trường hợp cụ thể, funcname: . phiên bản NukeViet 3, đội ngũ phát triển NukeViet đã định nghĩa lại NukeViet, theo đó, NukeViet được coi như phần mềm trực tuyến mà chức năng CMS chỉ là một module của NukeViet. NukeViet có. nghĩa với việc NukeViet 3 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) . Bộ nhân NukeViet 3 ngoài việc thừa hưởng sự đơn giản vốn có của NukeViet nhưng. dính mã độc, người sử dụng chỉ nên tải NukeViet về từ địa chỉ chính thức của NukeViet làwww .nukeviet. vn. Giải thích cho những người lần đầu sử dụng: Bởi vì NukeViet là phần mềm chạy trên máy chủ