25/05/2018, 14:45

Một số dự án mã nguồn mở

Giới thiệu về mã nguồn mở Joomla Joomla là gì ? Joomla là một hệ quản trị nội dung mã nguồn mở. Joomla! được viết bằng ngôn ngữ PHP và kết nối tới cơ sở dữ liệu MySQL, cho phép người sử dụng có thể ...

Giới thiệu về mã nguồn mở Joomla

Joomla là gì ?

Joomla là một hệ quản trị nội dung mã nguồn mở. Joomla! được viết bằng ngôn ngữ PHP và kết nối tới cơ sở dữ liệu MySQL, cho phép người sử dụng có thể dễ dàng xuất bản các nội dung của họ lên Internet hoặc Intranet. Và do kết nối đến CSDL MySQL cho nên việc quản trị một website với Joomla trở nên rất dễ dàng.

Joomla có các đặc tính cơ bản là: bộ đệm trang (page caching) để tăng tốc độ hiển thị, lập chỉ mục, đọc tin RSS (RSS feeds), trang dùng để in, bản tin nhanh, blog, diễn đàn, bình chọn, lịch biểu, tìm kiếm trong site và hỗ trợ đa ngôn ngữ.

Với đặc tính dễ sử dụng của mình, cho dù bạn là một người lập trình web chuyên nghiệp, một người quản trị website hay chỉ đơn giản là một người mới làm quen với thiết kế web, bạn cũng có thể sử dụng Joomla để tạo 1 website cho mình. Và vì vậy, Joomla được sử dụng ở khắp mọi nơi trên thế giới, từ những website cá nhân cho tới những hệ thống website doanh nghiệp có tính phức tạp cao, cung cấp nhiều dịch vụ và ứng dụng. Joomla! có thể dễ dàng cài đặt, dễ dàng quản lý và có độ tin cậy cao.

Và một đặc điểm hết sức nổi bật của Joomla là có mã nguồn mở, do đó việc sử dụng Joomla là hoàn toàn miễn phí cho tất cả mọi người trên thế giới. Ngoài ra, bạn có thể cùng nhau xây dựng và phát triển hệ thống này để cho nó ngày càng toàn diện hơn.

Vài nét về lịch sử của Joomla

Joomla là "sản phẩm anh em" với Mambo của tập đoàn Miro Software Solutions - Úc (hãng đang nắm giữ Mambo) với những người phát triển nòng cốt. Ban đầu công ty Miro đã phát triển Mambo theo dạng ứng dụng mã nguồn đóng. Đến tháng 4 năm 2001, công ty đã thông qua một chính sách bản quyền kép, nghĩa là phát hành Mambo theo cả giấy phép GPL.

Đến ngày 17 tháng 8 năm 2005, do sự tranh chấp về mặt pháp lý cũng như mong muốn vào sự phát triển của Mambo dựa trên quỹ tài trợ và sự hỗ trợ của cộng đồng nên toàn bộ đội phát triển nòng cốt của Mambo đã rời khỏi dự án trong khi đang làm việc với phiên bản 4.5.3.

Nhờ sự trợ giúp của Trung tâm Luật Tự do Phần mềm (Software Freedom Law Center - SFLC), 20 thành viên nòng cốt cũ của Mambo đã thành lập một tổ chức phi lợi nhuận khác lấy tên là Open Source Matters, để hỗ trợ về mặt tổ chức, pháp lý và kinh phí cho dự án mã nguồn mở còn chưa được đặt tên của họ. Ngay ngày hôm sau, 1000 người đã gia nhập diễn đàn OpenSourceMatters, hầu hết các bài viết cho diễn đàn đều khuyến khích và đồng tình với hành động của Nhóm Phát triển. Tin trên đã nhanh chóng được đăng tải trên các tạp chí newsforge.com, eweek.com và ZDnet.com.

Trong một thông báo của Eddie (người đứng đầu dự án) 2 tuần sau đó, các nhóm đã được tổ chức lại và cộng đồng Joomla tiếp tục tăng trưởng. Tới ngày 1 tháng 9 năm 2005 tên mới của dự án đã được thông báo cho khoảng 3000 người theo dõi đội Phát triển và đến ngày 16 tháng 9 thì họ cho ra đời Joomla 1.0.

Các phiên bản hiện tại của Joomla

Hiện Joomla! có 2 dòng phiên bản chính:• Joomla! 1.0.x: Phiên bản phát hành (ổn định)

- Phiên bản phát hành đầu tiên: Joomla! 1.0.0 (15/09/2005).

- Phiên bản phát hành mới nhất: Joomla! 1.0.13 (21/07/2007).

• Joomla! 1.5.x: Phiên bản phát triển (chưa ổn định)o Phiên bản phát triển mới nhất: Joomla! 1.5 RC3 (ngày 6 tháng 10 năm 2007)

Kiến trúc

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

Đối với người sử dụng cuối

Việc cài đặt Joomla! khá dễ dàng và nhanh chóng, thậm chí cả đối với những lập trình viên nghiệp dư. Joomla có một cộng đồng người sử dụng và phát triển rất lớn và tăng trưởng không ngừng. Các thành viên và các lập trình viên rất nhiệt tình và sẵn sàng tư vấn, giúp đỡ khi người sử dụng gặp khó khăn.

Joomla cung cấp giao diện web trực quan do vậy khá dễ dàng để thêm một nội dung mới hay một mục mới, quản lý các phòng ban, danh mục nghề nghiệp, ảnh các sản phẩm... và tạo không giới hạn số phần, mục, chuyên mục cũng như các nội dung của Website.

Hiện tại ở Việt Nam chúng ta, cộng đồng Joomla đã và đang phát triển mạnh mẽ tại diễn đàn http://www.joomlaviet.org.

Cài đặt Joomla

Bạn có thể cài đặt phiên bản Jomla 1.0.x hoặc 1.5 cho việc quản lý Website của mình. Tuy nhiên, phiên bản 1.5 đang trong giai đoạn xây dựng nên chưa hoàn thiện, trong khi đó phiên bản 1.0.13 là phiên bản hoàn thiện nhất của dòng 1.0.x, phiên bản này đã được xây dựng và phát triển nhiều module cũng như template cho bạn lựa chọn. Trong phạm vi bài viết này, người viết cũng sử dụng phiên bản Joomla 1.0.13.

Download Joomla và upload lên server

Để download bộ source cài đặt Joomla, bạn có thể vào trang Joomlaviet.org, vinaora.com hoặc trực tiếp vào trang Joomlacode.org, sau đó chọn download từ các link có sẵn. Bộ source cài đặt này có dung lượng nhỏ (2.7MB - file .zip) do đó việc download rất nhanh chóng.

Sau khi download xong bạn giải nén và lưu ý một điều là bạn phải xóa thuộc tính chỉ đọc (read only) của các tập tin và thư mục cài đặt. Nếu bạn không thực hiện điều này thì trong quá trình cài đặt của bạn sẽ bị thông báo lỗi do các thông số cài đặt không được cập nhật vào các file read only này.

Bạn có thể dùng 1 công cụ FTP (file transfer protocol) để cho quá trình upload được nhanh hơn hoặc dùng công cụ upload mà host của bạn hỗ trợ (có thể upload file .zip và bung nén trực tiếp trên server sẽ nhanh hơn nếu host của bạn hỗ trợ điều này, tuy nhiên bạn sẽ gặp lỗi các file read only).

Cài đặt Joomla trên server

Sau khi upload toàn bộ thư mục Joomla lên server. Bạn chỉ cần mở trình duyệt và gõ địa chỉ tên miền của website của mình, mọi bước cài đặt sẽ diễn ra theo trình tự được hướng dẫn. (Ở đây người viết dùng hostfree tại zymic.com để thử nghiệm. Bạn có thể dùng hostfree tại trang này với dung lượng và băng thông khá lớn).

Bước 1: Joomla sẽ kiểm tra các thông số của host mà bạn đang sử dụng có phù hợp với những yêu cầu của Joomla hay không. Trong bước này, thông số nào mang màu đỏ là bạn cần điều chỉnh lại, hoặc báo với nhà cung cấp host để được điều chỉnh. Và một điều lưu ý nữa là khi chọn host để lưu trữ website Joomla bạn nên chọn máy chủ Linux với chế độ safe mode là off.

Bước 2: Bạn được xem những quy định của giấy phép GNU/GPL

Bước 3: Nhập các thông số của CSDL MySQL. (lưu ý host của bạn phải hỗ trợ CSDL MySQL)

Bước 4: Thiết lập các thông số FTP cho site của bạn như tên host FTP, username, password để truy nhập FTP.

Bước 5: Thiết lập cấu hình site Joomla của bạn như tên site, email của bạn và cài đặt những dữ liệu mẫu.

Bước 6: Kết thúc - Ở bước này Joomla sẽ ghi các cấu hình của site vào file configuration.php. Nếu như quá trình ghi các thông tin cấu hình vào file này bị lỗi thì Joomla cho phép bạn copy đoạn mã cấu hình để bạn tạo một tập tin configuration.php và upload trở lên host.

Lưu ý: tài khoản truy nhập hệ thống là admin; mật khẩu: mật khẩu mà bạn đã nhập ở bước 6. Đến đây bạn có thể vào website hoặc trang quản trị bằng cách ấn vào site hoặc admin.

Lưu ý: sau khi cài đặt xong Joomla, bạn cần xóa thư mục Installation trên Host đi để hoàn tất quá trình cài đặt.

Các khái niệm, thuật ngữ trong Joomla

Do kết nối với CSDL nên với một website bạn quản trị bằng Joomla bạn rất dễ dàng cập nhật thông tin trên nó và dễ dàng tương tác với người truy cập. Tuy nhiên có những khái niệm và thuật ngữ bạn cần nắm rõ trước khi quản trị với Joomla.

a) Một trong những khái niệm quan trọng khi quản trị site với Joomla là Section, Category và Content

- Section: Có thể hiểu là các chuyên mục chính thuộc website của bạn muốn đề cập đến.

- Category: Các danh mục con thuộc chuyên mục chính.

- Content: Các bài viết thuộc danh mục con.

b) Module: Module là một trong 3 thành phần mở rộng chính của Joomla. Đó là một đoạn mã nhỏ thường được dùng để truy vấn các thông tin từ cơ sở dữ liệu và hiển thị các kết quả tìm được. Nó có thể được nạp vào một vị trí bất kỳ trên website (vị trí left, right, top, bottom... hoặc vị trí do người dùng định nghĩa); có thể hiện trên tất cả các trang của Website hay một số trang được ấn định.

- Trong file index.php của site, các module được gọi ra bắt đầu bằng module, mỗi module được chứa trong 1 file php khác nhau và vị trí xuất hiện của module trong trang chính do bạn xử lý trong index.php.

- Chúng ta có các module thông dụng:

PHP Code:

• Lastest News (mod_latestnews): Module hiển thị các tin mới nhất • Popular News (mod_mostreads): Module hiển thị các bài được quan tâm 

nhiều nhất • Related Items (mod_related_items): Module hiển thị các bài viết liên quan • Random Image (mod_random_image): Module hiển thị các ảnh ngẫu nhiên • Search Module (mod_search): Module công cụ tìm kiếm • Login Module (mod_login): Module hiển thị form đăng nhập hệ thống

• Stats Module (mod_stats): Module hiển thị các thông tin thống kê về 

hệ thống

• Menu Module (mod_mainmenu): Module hiển thị các menu của website • Banners Module (mod_banners): Moudule hiển thị các banner quảng cáo

0