Friday, October 21, 2011

Tích hợp Joomla và phpBB

Nguồn: http://misoblog.net/joomla/tich-hop-joomla-va-phpbb.html

Làm website, đến một ngày ta sẽ nghĩ đến việc làm thêm một cái diễn đàn. Mà phải là tích hợp diễn đàn và website chung với nhau, nghĩa là có sự đồng bộ thông tin và trạng thái đăng nhập của thành viên. Với Joomla, ta có nhiều giải pháp diễn đàn: vBB, SMF, Fireboard,... Nhưng trong bài viết này mình sẽ nói về phpBB: một hệ thống diễn đàn được sử dụng rất nhiều, miễn phí và có thể tích hợp hoàn hảo với Joomla 1.5. Joomla.org và Joomlaviet.org cũng đều sử dụng phpBB.

Đơn giản là dùng RokBridge.

Đó là 1 extension miễn phí cho Joomla được phát triển bởi RocketTheme - một hãng chuyên thiết kế giao diện mã nguồn mở nổi tiếng với màu sắc mạnh mẽ và những đường bo tròn cá tính (Tuy nhiên mình khoái JoomlArt cơ, phong cách của Rockettheme không hợp với mình lắm :">). Bây giờ là hướng dẫn cài đặt và sử dụng:

1. Download và cài đặt Component RokBridge

Xem và tải RokBridge phiên bản mới nhất tại đây. Down về xong rồi thì cài vào, vào Extensions → Install/Uninstall cài như bình thường. Cài xong thì vào Components → RokBridge để cấu hình, bạn sẽ nhìn thấy giống thế này:


Nhìn xuống phần RokBridge Configuration, có 2 điểm cần quan tâm:

Bridge Path: đường dẫn tới thư mục sẽ chứa chương trình điều khiển Bridge giữa Joomla và phpBB (tính từ thư mục gốc) - mặc định là forum

phpBB3 Path: đường dẫn tới thư mục cài đặt hệ thống diễn đàn phpBB3 (tính từ thư mục gốc) - mặc định là distribution

Các thư mục này là do ta tự tạo và đặt tên (tất nhiên là phải khác nhau). Trong đó, thư mục ở "Bridge Path" sau khi Save Configuration sẽ được tự động tạo ra, chứ không được tạo trước. Theo như trong hình, sau khi ấn Save thì ở thư mục gốc sẽ được tạo ra thư mục "forum" và cài Bridge bên trong. Ngược lại, thư mục ở "phpBB3 Path" thì phải tạo trước, thư mục này chứa bộ cài đặt phpBB3. Theo như trong hình, ta chưa lập thư mục distribution nào nên Component báo lỗi "The phpBB3 path can not be found", điều này là hoàn toàn bình thường.

2. Cài đặt phpBB3

Download phpBB3 tại đây: http://www.phpbb.com/downloads/

Tại thời điểm viết bài này, bản mới nhất là phpBB 3.0.8. Upload toàn bộ phần source vào thư mục ta muốn cài đặt phpBB3 - chính là thư mục ở phần "phpBB3 Path" ở bước trước. Trong trường hợp này mình không thích thư mục tên là distribution mà sẽ tạo mới 1 thư mục tên là "phpbb3" rồi cài vào đó. Tiến hành cài đặt phpBB như thường.

Chú ý 1:

Đến phần khai báo Database, ta chọn Database type là MySQL. Tới đây ta có 2 lựa chọn: cài phpBB3 với 1 database riêng và cài phpBB3 chung với database của Joomla. Cả 2 cách này đều không có vấn đề, bạn tuỳ vào lựa chọn của mình mà khai báo thông số ở phần này.

Trên thực tế, phpBB3 tuy là một mã nguồn riêng biệt với Joomla, nhưng vì cài Bridge nên sẽ luôn gắn với Joomla như 1 thành phần của website; chính vì vậy việc cài phpBB ra 1 database riêng là lãng phí và không cần thiết. Bạn nên cài phpBB chung với database của Joomla. Sau này mỗi khi backup dữ liệu ta cũng backup tổng thể cả bộ database Joomla+phpBB này luôn, rất tiện lợi.


Nó sẽ báo Successful connection, ta sẽ đến bước tiếp theo: khai báo thông số Administrator cho phpBB.

Chú ý 2:

Khai báo các thông tin cho Admin của phpBB giống hệt với Admin của Joomla. Không được quên điều này.


Sau đó nó sẽ báo Tests passed, các bước tiếp theo không còn gì đáng chú ý nữa, cài đặt bình thường. Đây là bước cuối cùng của cài đặt phpBB3:


Bây giờ có thể vào thăm quan phpBB tại yourdomain.com/phpbb3 được rồi. Tuy nhiên, bây giờ nó vẫn là 1 cái forum riêng biệt và... trống không :D

3. Cấu hình Component RokBridge

Bây giờ ta quay trở lại Component RokBridge trong Joomla Administration. Đặt lại tên thư mục của "phpBB3 Path" là phpbb3 cho chuẩn xác, ở đây mình để nguyên "Bridge Path" là forum, sau đó ấn nút Save:


Lúc này, tiện thể nhìn xuống phần RokBridge Status ở dưới ta có thể thấy mục "phpBB3 forum" đã được đánh đấu Installed.

Công việc tiếp theo khá là gian truân, vất vả: Click vào nút Install lần lượt cho từng mục từ trên xuống dưới (sau khi click Install cho phpBB3 Bridge nó sẽ hiện nút Install cho các mục bên dưới, mục phpBB3 Patch ta Install cuối cùng). Click xong thì:


Về cơ bản là Done! :) Nhìn thấy 7 nút Installed xanh lè thế này là bạn có thể cười sướng được rồi.

4. Tạo item mới trên Joomla Menu

Việc cuối cùng là cho cái forum vừa cài đặt xong 1 liên kết trên Menu. Bạn có thể tạo menu item kiểu External Link rồi khai báo URL theo dạng: yoursite.com/bridge_path (trường hợp này là /forum), hoặc đơn giản hơn bạn có thể chọn ngay kiểu RokBridge Menu item (hệ thống sẽ tự tạo URL cho item redirect tới đường dẫn bridge).

Vậy là bạn đã cài xong 1 diễn đàn hoành tráng, hoàn hảo và miễn phí cho Joomla rồi đó. Bạn có thể yên tâm vì ngay cả Joomla.org cũng xài phpBB cơ mà :D Hãy xông vào mà test kết quả luôn đi. User của Joomla và phpBB đảm bảo hoàn toàn ăn khớp với nhau, tạo mới hoặc đăng ký 1 thành viên ở bên này thì ở bên kia sẽ tự động có thành viên đó, đăng nhập hoặc đăng xuất ở bên này thì bên kia cũng sẽ kéo theo tình trạng tương tự.


Những điều cần biết khi gỡ bỏ RokBridge khỏi Joomla

Chắc chắn cài rồi thì sẽ có lúc phải gỡ ra, mà gỡ ra không đúng cách thì chỉ có lỗi tè le thôi (kinh nghiệm xương máu). Khi gỡ bỏ RokBridge ra khỏi hệ thống, hãy làm chính xác các bước sau:

  • Vào RokBridge Configuration trong Joomla, click lần lượt các nút "Remove" ngược từ dưới lên trên (cái gì cài sau cùng thì gỡ bỏ trước). Đến cuối cùng, chỉ còn mỗi phpBB3 forum là Installed thôi.
  • Gỡ bỏ Component RokBridge bằng chức năng Extensions → Install/Uninsstall của Joomla. Nó sẽ tự động uninsstall của các plugin có liên quan.
  • Trong một số trường hợp, thư mục Bridge (được tự động tạo trong quá trình cài đặt) có thể không được xoá đi. Hãy vào FTP và xoá bằng tay. Thế là xong.

Chúc bạn thành công!

Lưu ý thêm:
  • Từ đó tới nay, mình dùng RokBridge không thấy có vấn đề gì. Tuy nhiên hiện tại vẫn đang là bản RC, ta có thể trông chờ nhiều tính năng hoàn thiện hơn khi có bản chính thức.
  • Điều duy nhất làm bạn băn khoăn có thể chính là giao diện. Làm sao để đồng bộ giao diện của phpBB với Joomla, để khi khách hàng ghé thăm không có cảm giác đang truy cập 2 site khác nhau? Cái này không có cách nào. Bạn chỉ có thể design lại giao diện của phpBB bằng tay. Tuy nhiên, chỉ cần có kiến thức về HTML và CSS, mọi chỉnh sửa về giao diện đều có thể thực hiện ngay trong Administration của phpBB. Việc này không có gì là khó khăn.
  • Bạn có thể tham khảo hướng dẫn cài đặt RokBridge của RocketTheme tại đây.

No comments:

Router Packet Networking

Đây là video ngắn khá hay, mô tả đường đi của một gói tin trên Mạng Internet.