Xây dựng Website Tin Tức Bằng Joomla và Tối Ưu Cơ Sở Dữ Liệu MySQL

MỤC LỤC

Kiểm tra và fix một số lỗi

Copy file này vào thư mục chứa website (C:\www), rồi mở nó bằng trình duyệt (http://localhost/phpinfo.php ) bạn sẽ nhận dc 1 bảng chỉ rừ cấu hỡnh của Apache và PHP cài đặt trong máy tính. Session save path: Vào file php.ini thay đổi đường dẫn session.save_path /home/<user-name>/domains/<your-domain>/public_html/tmp (Thư mục chứa folder tmp, cụ thể ở đây là htdocs/tmp).

Cài đặt Joomla trên Apache

Nội dung giấy phép GPL

Host Name: Nếu bạn sử dụng MySQL trên chính máy bạn cài Joomla (trong 90% trường hợp) thì bạn điền vào là localhost, còn trong trường hợp khác, bạn sử dụng MySQL và truy xuất database thông qua 1 máy khác, thì bạn hãy điền tên host đó hoặc IP của host đó. Trong bước này, bạn lựa chọn tên trang Web, các thông tin của SuperAdmin, mật khẩu đăng nhập vào trang administrator.

Hình 12: Tạo CSDL
Hình 12: Tạo CSDL

Xóa thư mục installation

Bạn nên cài đặt dữ liệu một cách mặc định bằng cách click vào nút tương ứng.

Joomla cho người sử dụng

Trang quản trị Administrator

    Đây là trung tâm điều khiển của Website Joomla có chức năng xây dựng cấu trúc, biên tậpvà xuất bản nội dung. Trang web phải có tối thiểu 1 người được bổ nhiệm là Super Administrator để thực hiện cấu hình tổng thể của site.

    Hình 17: Trang quản trị
    Hình 17: Trang quản trị

    Cấu hình hệ thống trong Joomla

      Super administrator có quyền truy cập vào tất cả các chức năng của trang Web. Trong đó quản lý các tùy chọn về cấu hình máy chủ, cấu hình múi giờ, cầu hình FTP, cấu hính cơ sở dữ liệu, cấu hình mail.

      Hình 22: Lựa chọn Global Configuration trên bảng điều khiển
      Hình 22: Lựa chọn Global Configuration trên bảng điều khiển

      Quản lý ngôn ngữ trong Joomla

        Trong Language Manager/Site, bạn click vào ngôn ngữ cần chọn, ấn default để mặc định ngôn ngữ vừa chọn làm ngôn ngữ hiển thị cho vùng front-end. Trong Language Manager/Administrator, bạn click vào ngôn ngữ cần chọn, ấn default để mặc định ngôn ngữ vừa chọn làm ngôn ngữ hiển thị cho vùng back-end.

        Quản lý Media

          Trong hộp thoại Upload file, kích vào Browse Files để chọn file, Start Upload để tải nội dung lên trang Web. Ngoài các file Media được mặc định sẵn, chúng ta cũng có thể cho phép upload một số đuôi Media khác trong phần Glogal Configuration.

          Hình 31: Lựa chọn công cụ Media Manager
          Hình 31: Lựa chọn công cụ Media Manager

          Thay đổi giao diện trang Web bằng các Template

            Click vào biểu tượng bút chì ngay dưới file cần chọn trong màn hình Image Manager. Liên kết này có thể được dùng để sao chép và đặt đường dẫn đến file.

            Các vị trí trong Joomla – Position

            Vị trí của các Position này trong Joomla được đặt tùy thuộc vào thiết kế của Template. Việc thiét kế Template được trình bày trong phần “ Joomla dành cho người phát triển”.

            Quản lý Module

              Sau khi chọn New trong Module Manager, chúng ta tiến hành chọn kiểu Module cần sử dụng.

              Quản lý Component

                Ngoài ra, tùy vào mục đích cũng như yêu cầu của khách àng, chúng ta có thể xây dựng một số các Component quản lý, thao tác nghiệp vụ dựa trên ngôn ngữ PHP và hệ quản trị cơ sở dữ liệu MySql.

                Xuất bản và quản trị tin tức

                  Mỗi Menu có nhiều Item gọi là Menu Item, các Menu Item này có các chức năng và kiểu hiển thị khác nhau, có thể liên kết đến các mục nội dung giống hoặc khác nhau và có thể có thêm các Item phụ gọi là Sub Menu Item. Các Menu được quản lý theo số định dạng (Id) của nó, mỗi Menu và Item đều có một số Id riêng điều này giúp cho việc thay đổi tên của các Menu sẽ không ảnh hưởng tới các phần liên quan và nội dung của Web Site.

                  Hình 49: Thêm mới một nội dung
                  Hình 49: Thêm mới một nội dung

                  Joomla cho người phát triển

                  Cấu trúc của Joomla

                  • Cấu trúc của Joomla!framework Joomla!frameword bao gồm một số thành phần sau

                    Chức năng: Khi khởi tạo một đối tượng của lớp JFactory, tùy thuộc vào phương thức gọi đối tượng đó sẽ có những thuộc tính của các lớp trong JoomlaFramework. Tầng JApplication đại diện cho các ứng dụng của Joomla và được thực hiện khi lớp Factory cung cấp một lớp đối tượng ứng dụng bao gồm: Lớp front-end JSite, lớp admin JAdministrator, lớp cài đặt JInstallation.

                    Thiết kế Template

                    • Chuẩn thiết kế một Template Joomla 1.5
                      • Thiết kế một Template đơn giản cho phiên bản Joomla 1.5 Việc xây dựng một Template đơn giản được thực hiện theo những bước sau

                        Để tỡm hiểu về Template Joomla, chung ta cần phải phõn biệt rừ sự khỏc nhau giữa hai khái niệm Module và các Component và vị trí xuất hiện của chung trong Template để qua đó sẽ xem xét những đoạn mã nào để tạo ra các vị trí dánh cho module và component. Trong Administrator, chúng ta có thể thêm mới một module ở bất cứ vị trí nào chúng ta muốn, nhưng trước tiên module đó phải được sắp xếp thứ tự không trùng với các module ở cùng vị trí.

                        Hình 59: Các Position trong Template
                        Hình 59: Các Position trong Template

                        Thiết kế Module cho phiên bản Joomla 1.5

                          Phương thức này để xác định đường dẫn cho phép các nhà thiết kế giao diện có thể nhúng giao diện ghi đè lên và tùy biến dữ liệu xuất ra của module. Tập tin mod_helloworld.xml chỉ ra những tập tin trình cài đặt cần để chép và được trình quản lý module trong joomla dùng để xác định những tham số nào dùng để cấu hình module.

                          Thiết kế Component

                          • Thiết kế Component quản lý học viên

                            Sau khi tạo ra đối tượng, bộ điều khiển sẽ thực hiện định nghĩa nhưng task cần thực hiện như chỉ định đường dẫn index.php?option=com_hello&task=Một hành động. File Hello.php thực chát gọi đến các điều khiển trong lớp cơ sở controller, đối tượng controller được tạo ra sẽ thực hiện công việc tùy vào biến task.

                            Xây dựng Website Tin Tức

                            Update Joomla phiên bản mới nhất vào bộ QuickStart

                            Các bước tùy chỉnh Website

                              Để kiểm tra vị trớ hiển thị của cỏc module, chỳng ta gừ thờm ?tp=1 vào sau link của website. Ngoài ra có thể tạo thêm 1 module nữa để hiển thị các chủ đề lớn ( Như Nhân Sự ).

                              HỆ QUẢN TRỊ CSDL MYSQL

                              Hệ thống file trong MySQL

                              File này ghi lại nơi cơ sở dữ liệu được lưu vào khi nó được tạo ra.

                              Khởi động MySQL database server

                                MySQL dùng một kí tự để lưu độ dài field của kiểu varchar và cắt bỏ những phần còn trống trong ô dữ liệu nếu không sử dụng hết. Tham số on delete cascade được sử dụng để khi một bản ghi của bảng cha bị xoá thì tất cả các bản ghi của bảng con có tham chiếu bảng cha cũng bị xoá.

                                An ninh trong MySQL

                                  Chức năng chính hệ thống phân quyền là xác nhận người dùng kết nối với server từ một host nào đó và kiểm tra quyền tương tác của người dùng đó đối với cơ sở dữ liệu. Chúng bao gồm quyền reload (cho phép nạp lại bảng), shutdown (chấm dứt hoạt động của server), process (cho phép người quản trị xem quá trình thực hiện của trình chủ).

                                  Quản lý tài khoản người dùng

                                    Nếu tìm thấy bản ghi, thì quyền cấp cho người dùng được tính toán bằng cách lấy giao nhau bản ghi tìm được của 2 bảng db và host. Trong khi tạo tài khoản cho người dùng mới, chúng ta có thể giới hạn việc thực hiện của họ lên server thông qua thiết lập các biến hệ thống.

                                    Backup dữ liệu

                                    Nó sẽ sao chép một số lượng nhỏ nhất các file bảng vào thư mục cần sao lưu gồm file định nghĩa .frm và file dữ liệu .myd, rồi từ đó nó có thể xây dựng lại file chỉ mục .myi. Cho dù là lựa chọn phương pháp nào đi nữa, nếu server thực hiện sao lưu là slave thì cũng cần sao lưu lại 2 file master.info và relay-log.info khi sao lưu dữ liệu của slave.

                                    Hỗ trợ tập kí tự trong MySQL

                                    Chú ý: mysqlhotcopy không làm việc nếu như cơ sở dữ liệu có chứa các bảng InnoDB. Đối với utf8 thì những kí tự Latinh, số và dấu chấm câu dùng 1 byte, hầu hết kí tự ở Châu Âu và Trung Đông dùng 2 byte, chữ của Hàn Quốc, Trung Quốc và Nhật dùng 3 byte.

                                    Tối ưu cấu trúc cơ sở dữ liệu

                                    Để cực tiểu hoá vấn đề nhiều người dùng ở các trạng thái khác nhau trên cùng một bảng, bảng này sẽ được mở một cách độc lập bởi một tuyến thi hành hiện tại. Nếu biến max_connections = 200, có nghĩa là hiện tại có tối đa 200 kết nối từ client tới server, thì biến table_cache được thiết lập là 200*N với N là số bảng tối đa mở cho một kết nối.

                                    Tối ưu MySQL server

                                    Vì MySQL hỗ trợ đa tuyến nên có nhiều người dùng có thể thực hiện truy vấn cùng lúc trên cùng một bảng cho trước. Nếu biến table_cache thiết lập quá cao sẽ gây tốn bộ nhớ, bởi vậy cần thiết lập cho phù hợp với hệ thống.

                                    Tối ưu các truy vấn

                                    • Hàm và thủ tục thường trú

                                      Đối với câu lệnh insert, trong trường hợp phải insert nhiều bản ghi vào một bảng thì nên insert một danh sách nhiều bản ghi vào bảng cùng một lúc vì điều này giúp insert nhanh hơn rất nhiều so với insert từng bản ghi đơn vào bảng. Khi một hàm hay một thủ tục được thiết lập thỡ cỏc client chỉ cần tham chiếu tới hàm và thủ tục thay vỡ phải gừ lại một cỏc câu lệnh mà hàm hay thủ tục đó chứa.

                                      NGÔN NGỮ LẬP TRÌNH PHP

                                      • Sử dụng PHP trong HTML
                                        • Các lệnh cấu trúc cơ bản trong PHP
                                          • Hướng đối tượng trong PHP
                                            • Cơ sở dữ liệu PHP với MySQL

                                              Một số biến được định nghĩa trước: Muốn sử dụng các biến này, cần phải mở file php.ini trong thư mục Windows, tìm dòng register_globals sửa giá trị off thành on. Đối với IE 6.0, khi sử dụng session và post dữ liệu tới một form, nếu chúng ta nhấp nút back thì phải nhấp nút refresh để lấy những thông tin mà chúng ta post tới.

                                              CÁC WEBSITE ĐƯỢC XÂY DỰNG TRÊN JOOMLA

                                              Mục tiêu đặt ra: Xây dựng ứng dụng website tin tức cho Bộ môn Công nghệ Thông tin – Đại học Kinh Tế Quốc Dân..83. - Chúng ta Copy phần phiên bản Joomla mới nhất ( Trừ thư mục Installation) vào bộ QuickStart..84.