Giáo trình Thiết kế Web với Joomla và một số thủ thuật trong Joomla
Khái niệm Front-end và Back-end
Front-end (tiền sảnh)
Front-end (tiền sảnh), còn được biết với tên gọi Public Front-end: phần
giao diện phía ngoài, nơi tiếp xúc với mọi người sử dụng. Bất cứ ai cũng
có thể trông thấy khi gõ đúng đường dẫn URL vào trình duyệt.
Front-end chứa 1 trang đặc biệt là FrontPage (homepage) - trang chủ.
Back-end (hậu sảnh)
Back-end, còn được biết với tên gọi Public Back-end, Administrator,
Control Pane: phần dành cho người quản trị. Những người bình thường
không biết đường dẫn để truy cập, hoặc nếu có biết thì cũng phải qua
bước kiểm tra tài khoản.
Phần back-end được truy cập thông qua đường dẫn:
Các khái niệm Section, Category và Content là gì?
Trước khi đi vào xây dựng một Website bằng Joomla chúng ta cần nắm rõ
3 khái niệm quan trọng: Section, Category và Content. Vậy Section là gì?
Category là gì? Content là gì?.
Chúng ta cùng xem "Cấu trúc nội dung của một Website Joomla" được thể
hiện thông qua hình vẽ dưới đây:
Section 1
--------|Category 1a
--------|Category 1c
--------|Category 1b
Section 2
--------|Category --------|Category --------------------|Content --------------------|Content 2b2 |
2a 2b 2b1 |
File đính kèm:
- giao_trinh_thiet_ke_web_voi_joomla_va_mot_so_thu_thuat_trong.pdf
Nội dung text: Giáo trình Thiết kế Web với Joomla và một số thủ thuật trong Joomla
- Rất tốt cho việc tạo máy chủ Web để chạy thử, thiết kế Website bằng PHP. Hỗ trợ tốt cho Joomla 1.5, Joomla 1.0 Hỗ trợ phiên bản PHP5 mới nhất Tương thích Windows XP / Windows Vista / Windows 7 Hoàn toàn miễn phí Download bản cài đặt WAMP Download WAMP tại địa chỉ Các bước cài đặt WAMP Nếu trước đó bạn đã cài đặt WAMP 5.1.x thì tốt nhất là gỡ nó đi sau đó mới cài WAMP Server 2.0 Collection by traibingo 10
- Nhấn [Next] và thực hiện các bước tiếp theo Nếu trên máy của bạn có cài trình duyệt Firefox và bạn muốn chọn Firefox làm trình duyệt mặc định khi mở thì nhấn [Yes] Collection by traibingo 11
- Điền các thông số để có thể gửi/nhận mail thông qua một SMTP server. Nếu không biết hãy để mặc định và nhấn [Next] Nhấn nút [Finish] để hoàn tất quá trình cài đặt Hoàn tất việc cài đặt và chạy thử Sau khi cài đặt thành công, bạn sẽ thấy biểu tượng của WAMP ở góc màn hình như dưới đây: Collection by traibingo 12
- Để chạy thử, nhấn vào mục "localhost" Hoặc mở trình duyệt và gõ địa chỉ (hoặc Để quản lý cơ sở dữ liệu (database) nhấn vào mục "phpMyAdmin" Hoặc mở trình duyệt và gõ vào địa chỉ Hoặc Collection by traibingo 13
- Các chú ý khác: Thư mục đặt website của bạn theo mặc định là "C:\wamp\www" Để có thể truy cập từ máy tính khác nhấn vào mục "Put Online" WAMP có thể cài đặt thành công trên IPhone Collection by traibingo 14
- Part 3 Truy cập Joomla trong mạng LAN Sử dụng file host của Windows 1. Tìm file hosts trong thư mục: "C:\WINDOWS\system32\drivers\etc\" 2. Mở file hosts bằng một trình soạn thảo bất kỳ (chẳng hạn Notepad) 3. Bạn thêm dòng sau: 127.0.0.1 yourdomain #VD: yoursite.com, maychu.com Nếu máy tính của bạn ở trong LAN, có địa chỉ IP: 192.168.0.2 và muốn các máy khác trong LAN có thể truy cập máy chủ thông qua địa chỉ: thì bạn thêm dòng sau và copy file host tới tất cả các máy trong LAN: 192.168.0.2 yoursite.com Bây giờ bạn có thể mở trình duyệt và gõ vào địa chỉ: khi đó kết quả trả về cũng giống hệt như khi bạn gõ vào địa chỉ Chú ý: Nếu muốn tắt tính năng này bạn chỉ cần thêm dấu # vào đầu dòng mà bạn đã khai báo trong file host. # Copyright (c) 1993-1999 Microsoft Corp. # # 38.25.63.10 x.acme.com # x client host 127.0.0.1 localhost 127.0.0.1 yoursite.com 192.168.0.2 yoursite.com Collection by traibingo 15
- Tham khảo thêm: Không truy cập được Joomla từ máy con Lỗi khi chạy web joomla ở 1 máy khác trong cùng mạng LAN Dạng địa chỉ của Website Thông thường bạn có thể sở hữu một trong 2 dạng địa chỉ Website: 1. Địa chỉ cơ bản. VD. yoursite.com, yoursite.vze.com 2. Địa chỉ con. VD. yoursite.com/web_cua_ban Nếu Website của bạn ở dạng địa chỉ cơ bản Khi thử nghiệm trên localhost bạn chỉ cần đặt toàn bộ hệ thống Website trong "thư mục gốc chứa Web" mà phần mềm Web Server qui định. Chẳng hạn đối với Apache, thư mục gốc chứa Web được khai báo thông qua biến DocumentRoot trong file httpd.conf. # # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "C:/wamp/www" Nếu Website của bạn ở dạng địa chỉ con Bạn có 2 cách để tạo website với dạng địa chỉ này 1. Cách 1: Tạo một thư mục con của "thư mục gốc chứa Web" với tên là web_cua_ban. (Chẳng hạn thư mục gốc chứa Web: D:/www/ thì thư mục chứa Website của bạn: D:/www/web_cua_ban/) 2. Cách 2 (khuyến cáo): Bạn có thể đặt thư mục chứa Web của bạn ở bất cứ chỗ nào, không nhất thiết phải là một thư mục con của "thư mục gốc chứa Web". Để triển khai theo giải pháp này bạn chỉ cần tạo bí danh cho thư mục chứa Web của bạn. Ở đây chỉ xin giới thiệu cách xử lý với Apache và WAMP: Collection by traibingo 16
- Bạn mở file httpd.conf và thêm vào đoạn mã sau: Alias /web_cua_ban/ "duong_dan_thu_muc_chua_web" // Chẳng hạn D:/webdesign/web_cua_ban/ Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny Allow from all Nếu bạn chạy gói phần mềm Web Server WAMP, bạn nhấn chuột vào biểu tượng WAMP ở khay hệ thống (gần đồng hồ), sau đó: Chọn mục Alias directories, chọn tiếp Add an alias. Trong màn hình dòng lệnh hiện ra tiếp theo, gõ vào bí danh cho Website của bạn, chẳng hạn web_cua_ban Tiếp theo gõ vào vị trí lưu trữ của Website, chẳng hạn D:/webdesign/web_cua_ban/ Cài đặt Web Server XAMPP trên Linux Thông thường khi cài đặt Server với một hệ điều hành họ Linux (VD: CentOS, Fedora, SuSE, Redhat Linux, Ubuntu ) chúng ta có thể chọn cài đặt phần mềm Apache (dùng làm Web Server) và MySQL (dùng làm hệ quản trị CSDL) trong gói phần mềm kèm theo. Tuy nhiên rất có thể bạn đã quên hoặc không thích cài chúng hoặc cảm thấy khó khăn khi cấu hình để chúng làm việc với nhau và chạy được PHP, bạn có thể chọn một giải pháp khác: Cài đặt gói phần mềm XAMPP (gồm Apache + MySQL + PHP + PHPMyAdmin). Các bước tiến hành như sau: Collection by traibingo 17
- Bước 1: Download Download link: Bước 2: Cài đặt - Mở Linux shell và đăng nhập bằng tài khoản root su - Giải nén file cài đặt vào thư mục /opt tar xvfz xampp-linux-1.5.3a.tar.gz -C /opt Bước 3: Khởi động XAMPP /opt/lampp/lampp start Bước 4: Kiểm tra Mở trình duyệt và gõ: Các chú ý khác [1]. Sau khi cài đặt XAMPP khi gõ trình duyệt sẽ tự động chuyển hướng tới Để thay đổi mặc định ban đầu này: Vào thư mục xampp/htdocs thay đổi (hoặc đổi tên hoặc xóa) file index.php cho phù hợp với mục đích của mình. [2]. Để tạo site dạng cần thêm đoạn code sau vào file xampp/apache/conf/httpd.conf Alias /Joomla/ "/www/Joomla/" Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny Allow from all Collection by traibingo 18
- Trong đó /www/Joomla/ là đường dẫn tới thư mục Joomla của bạn [3]. Để tăng cường bảo mật mở Linux Shell và chay dòng lệnh sau: /opt/lampp/lampp security [4]. Để XAMPP tự chạy sau khi Reboot (giống như một service trong Windows chạy ở chế độ Automatic). Xem hướng dẫn sau: Các thông số cần chú ý khi Upload Joomla lên Hosting Mở file "configuration.php" và chỉnh sửa các thông số cho phù hợp với HOST / HOSTING / SERVER mới của bạn. Đối với Joomla! 1.5 Các thông số kết nối với Database /* Database Settings */ var $dbtype = 'mysql'; // Thường là 'mysql'. Ngoài ra có thể là 'mysqli' (tốt hơn 'mysql') var $host = 'localhost'; // Thường là 'localhost'. // Ngoài ra có thể là tên hoặc IP của MySQL server // VD: 'mysql01.yoursite.com', '208.67.222.222' var $user = 'xxx'; // Tên của tài khoản MySQL gắn với database chứa website Joomla. // VD: root, yoursite var $password = 'xxx'; // Mật khẩu của tài khoản MySQL nói trên. var $db = 'xxx'; // Tên của database chứa website Joomla. // VD: joomla, yoursite_joomla Collection by traibingo 19
- var $dbprefix = 'jos_'; // Tiền tố của các bảng trong database. Mặc định là: 'jos_' Các thông số liên quan tới lưu trữ file /* Server Settings */ var $absolute_path = 'xxx'; // Đường dẫn tuyệt đối tới nơi chứa Joomla. // Các phiên bản Joomla 1.5 gần đây đã bỏ thông số này // VD: 'C:\\www\\joomla' (trên Windows) // VD: '/home/yoursite.com/public_html' (trên Linux) var $log_path = 'xxx'; // Đường dẫn lưu trữ các file log. // VD: 'C:\\www\\joomla\\logs' // Hoặc bạn có thể sử dụng một đường dẫn khác, miễn là Writeable var $tmp_path = 'xxx'; // Đường dẫn lưu trữ các file tạm. // VD: '/home/yoursite.com/public_html/tmp' // Hoặc bạn có thể sử dụng một đường dẫn khác, miễn là Writeable Thông số địa chỉ Website var $live_site = ''; // Địa chỉ Website. VD: // Các phiên bản Joomla 1.5 gần đây đã bỏ thông số này Đối với Joomla! 1.0 Các thông số kết nối với Database /* Database Settings */ $mosConfig_host = 'localhost'; // Thường là 'localhost'. // Ngoài ra có thể là tên hoặc IP của Database server $mosConfig_user = ''; // Tên của tài khoản MySQL gắn với database chứa website Joomla. // VD: root, yoursite $mosConfig_password = ''; // Mật khẩu của tài khoản MySQL nói trên. Collection by traibingo 20
- $mosConfig_db = ''; // Tên của database chứa website Joomla. // VD: joomla, yoursite_joomla $mosConfig_dbprefix = 'jos_'; // Tiền tố của các bảng trong database. Mặc định là: 'jos_' Các thông số liên quan tới lưu trữ file /* Server Settings */ $mosConfig_absolute_path = 'xx';// Đường dẫn tuyệt đối tới nơi chứa Joomla // VD: 'C:\\www\\joomla' // VD: '/home/yoursite.com/public_html' $mosConfig_cachepath = 'xxx'; // Đường dẫn tới nơi chứa các file cache. // Sẽ sử dụng khi bật tính năng cache // VD: 'C:\\www\\joomla\\cache' // VD: '/home/yoursite.com/public_html/cache' Thông số địa chỉ Website $mosConfig_live_site = ''; // Địa chỉ Website. // VD: ' ' Collection by traibingo 21
- Part 4 Upload Joomla 1.5 lên Server/Hosting Rất nhiều bạn sau khi đã cài đặt Joomla thành công trên localhost và nay muốn upload lên Server để chạy chính thức trên Internet nhưng đã phải loay hoay rất lâu. Thực ra công việc rất đơn giản và chỉ mất vài phút, quan trọng là bạn nắm được nguyên tắc và cẩn thận một chút. Bài viết sau hi vọng sẽ giúp bạn cảm thấy làm việc với Joomla thật là dễ chịu. Thao tác "upload Webstite Joomla" (hay website bất kỳ) lên Server/Hosting chỉ gồm 3 bước: Upload thư mục chứa Website lên Server Nhập (import) dữ liệu từ localhost lên Server Chỉnh sửa các thông số Bước 1: Upload thư mục chứa Website lên Server. Bạn chỉ cần sử dụng một công cụ FTP (File Transfer Protocol) nào đó chẳng hạn: FileZilla, SmartFTP, Net2FTP hoặc công cụ quản lý file do Server/Hosting của bạn cung cấp để copy thư mục Website của bạn lên Server/Hosting mà thôi. Bước 2: Nhập (import) dữ liệu từ localhost lên Server. Bước 2.1: Xuất (export) dữ liệu từ localhost ra tệp *.sql Mở công cụ "phpMyAdmin" Chọn database Joomla Chọn nút "Export" (trong thanh công cụ phía trên cùng) Chọn "Add DROP TABLE / DROP VIEW" và "Add IF NOT EXISTS" (nếu có trong khung "Structure") Chọn "Save as file" Lưu file *.sql Collection by traibingo 22
- Bước 2.2: Nhập (export) dữ liệu từ localhost ra tệp *.sql Mở công cụ "phpMyAdmin" Chọn database chứa Joomla (nếu chưa có hãy tạo nó) Chọn "Import" Nhấn nút "Browser" và chọn file *.sql mà bạn đã sao lưu Joomla Nhấn nút "Go" để khôi phục Bước 3: Chỉnh sửa các thông số (quan trọng) Mở file "configuration.php" và sửa các thông số sau cho phù hợp Nếu muốn hỗ trợ thêm truy cập FTP trong Joomla! bạn cần chỉnh sửa thêm các thông số: Chú ý: Collection by traibingo 23
- Nếu không cần thiết hãy tạm disbale các thông số liên quan tới FTP $ftp_enable = '0'; Địa chỉ Website của có thể là địa chỉ cơ bản (VD: ' hoặc địa chỉ con (VD: ' tùy theo bạn đặt Joomla ở thư mục gốc trên Server hay lồng trong thư mục con. Địa chỉ tuyệt đối tới thư mục Joomla có thể là: var $absolute_path = '/www'; var $absolute_path = '/public_html'; var $absolute_path = '/www/yoursite.com/joomla'; var $absolute_path = 'D:\www\yoursite.com'; Collection by traibingo 24
- Bảo mật toàn tập cho Website Joomla Bài viết này xin cung cấp cho bạn một loạt các thủ thuật để tăng cường bảo mật cho Website Joomla! được trích dẫn từ diễn đàn Joomla! ( Có thể một vài thủ thuật hơi khó thực hiện hoặc gây khó khăn, thâm chí là lỗi cho hệ thống của bạn, tuy nhiên đừng nản chí , mọi cái đều có giá của nó. Nếu không thiết lập một vòng đai an toàn cho Website sẽ có lúc bạn phải hối tiếc vì điều đó và thiệt hại có khi là không tính đếm được. Hãy tiến hành ngay khi có thể. 01. Luôn cập nhật phiên bản mới nhất (Joomla 1.0.x, Joomla 1.5) 02. Chỉ nên download Joomla! từ website chính thức Joomlacode.org và kiểm tra mã xác thực MD5 (nếu có) 03. Xóa thẳng tay những thư mục hoặc file không còn sử dụng. Sau khi cài đặt thành công Joomla, bạn phải xóa toàn bộ thư mục "installation". Nếu bạn upload lên Host bộ cài Joomla ở định dạng nén (*.zip), bạn cũng cần phải xóa bỏ file nén này. Tốt nhất là không nên để lại file hoặc thư mục gì ngoài gói Joomla. 04. Tăng cường bảo vệ cho file cấu hình "configuration.php" bằng cách chuyển nó ra khỏi thư mục public (thường có tên là public_html). 05. Đổi tên tài khoản truy nhập Joomla thay vì tài khoản mặc định "admin". Bước này tưởng chừng rất đơn giản nhưng lại ngăn chặn được khá nhiều cuộc tấn công. 06. Chặn các truy vấn nguy hiểm nhờ file ".htaccess" 07. Bảo vệ các thư mục nhậy cảm, chẳng hạn thư mục "administrator" thông qua file ".htaccess" 08. Giới hạn các IP truy cập tới các thư mục nhậy cảm thông qua file ".htaccess" 09. Chọn Host có hỗ trợ PHP5. Collection by traibingo 134
- 10. Sử dụng các công cụ nổi tiếng như PHPsuExec, php_suexec và suPHP. 11. Nếu có thể, hãy yêu cầu Server nạp các module mod_security và mod_rewrite để lọc và chặn các truy vấn nguy hiểm. 12. Sử dụng tài khoản MySQL đã được thiết lập quyền giới hạn (không sử dụng tài khoản root). 13. Cố gắng nâng cấp các đoạn mã sang PHP5. Riêng gói Joomla thì bạn không cần lo lắng vì ngay từ ban đầu nó đã được thiết kế tương thích với PHP5. 14. Cố gắng không sử dụng các thành phần mở rộng yêu cầu "safe_mode" của PHP. 15. Tắt Joomla! Register Globals Emulation trong file "globals.php". define( 'RG_EMULATION', 0 ); 16. Thiết lập quyền truy cập (CHMOD) các thư mục sang 755, các file sang 644. Bạn có thể vào Site > Global Configuration > Server để thiết lập các quyền này cho thư mục và file. Bạn cũng có thể sử dụng một công cụ FTP như FileZilla, SmartFTP, WS_FTP, Net2FTP để CHMOD. Lưu ý: Một số thành phần mở rộng trong quá trình cài đặt có thể yêu cầu quyền truy cập 777. 17. Xóa bỏ toàn bộ các template không sử dụng khỏi thư mục "templates" và không đặt bất cứ đoạn mã nhạy cảm nào vào các file trong template. 18. Thuê một chuyên gia bảo mật Joomla! để kiểm tra toàn bộ Website của bạn. Collection by traibingo 135
- Bảo mật cho trang quản trị administrator bằng mật khẩu Bạn muốn ngăn chặn việc truy cập trái phép vào vùng quản trị, trang administrator (phần backend trong Joomla). Có nhiều giải pháp để thực hiện việc này. Bài viết này xin giới thiệu một cách khá đơn giản nhưng lại hiệu quả với mục đích "Tăng cường thêm một rào cản trước khi truy nhập được file index.php". Áp dụng trên Hosting chạy Apache Server. Cách thực hiện: Copy đoạn mã sau và đặt vào đầu của file "index.php" trong thư mục "Joomla\administrator\" Trong đó username = yoursite password = yoursite Collection by traibingo 136
- Part 5 Hướng dẫn cài đặt Joomla! 1.5 Việc cài đặt Website Joomla! là rất dễ dàng, đơn giản và nhanh chóng đối với tất cả mọi người. Bạn chỉ cần truy cập Website Joomla, download bộ cài đặt, giải nén, upload lên host, tạo database và tiến hành cài đặt theo từng bước. Màn hình cài đặt của Joomla 1.5 khá thân thiện và được bố trí hợp lý. Bạn chỉ cần chú ý một điều duy nhất là "phải tạo 1 database với Collation - charset: utf8_general_ci" trước khi cài đặt mà thôi. Dưới đây là các bước thực hiện. Bước 0: Download & Upload bộ cài đặt Joomla! Download Joomla 1.5 Link download: Joomla 1.5 Upload Joomla lên server Upload gói cài đặt Joomla! (file Joomla_1.5 zip) vừa download lên Server và giải nén vào thư mục gốc chứa Website của bạn (hoặc một thư mục con của nó, chẳng hạn joomla). Thư mục gốc chứa Web thường có tên là: htdocs, public_html, www, wwwroot C:\wamp\www\ C:\Program Files\xampp\htdocs\ Bạn có thể Upload Joomla! lên server bằng một số cách sau: Copy trực tiếp (nếu cài trên máy của bạn) Collection by traibingo 25
- Sử dụng công cụ quản lý file (File Manager) mà HOSTING cung cấp thông qua Cpanel hoặc Direct Admin hoặc Plesk. Hay công cụ FTP: Filezilla (miễn phí), WS_FTP, Total Commander, Net2FTP (miễn phí) Bước 1: Chọn ngôn ngữ cài đặt Mở trình duyệt và gõ vào địa chỉ Website của bạn. Nếu bạn giải nén bộ cài đặt vào thư mục gốc thì gõ: VD: VD: VD: (nếu cài trên máy của bạn) Nếu bạn giải nén bộ cài đặt vào thư mục joomla (thư mục con của thư mục gốc) thì gõ: VD: VD: (nếu cài trên máy của bạn) Màn hình cài đặt xuất hiện và bạn có thể chọn một ngôn ngữ bất kỳ được hỗ trợ: Collection by traibingo 26
- Bước 2: Kiểm tra cấu hình hệ thống Để có thể cài đặt và sử dụng Joomla!, máy chủ của bạn phải đáp ứng một số yêu cầu. Joomla! sẽ kiểm tra các giá trị này. Nếu chúng có màu xanh thì OK. Còn nếu các giá trị kiểm tra có màu đỏ thì bạn cần yêu cầu bộ phận Hỗ trợ kỹ thuật của Server giúp đỡ. Tất nhiên, bạn vẫn có thể tiếp tục cài đặt nhưng có thể một số chức năng sẽ không hoạt động. Bạn có thể tham khảo bài viết "Xử lý cảnh báo trong quá trình cài đặt và cấu hình Joomla!"để giải quyết vấn đề này. Bước 3: Thông tin bản quyền Bạn nên dành một chút thời gian để đọc các thông tin này. Collection by traibingo 27
- Bước 4: Thiết lập các thông số để kết nối tới Cơ sở dữ liệu Trước khi thực hiện bước này bạn cần có một database để chứa dữ liệu Joomla!. Nếu làm trên localhost, bạn có thể thực hiện theo hướng dẫn của bài viết "Tạo Database Joomla trên WAMP với utf8_general_ci". Hostname: Thường là giá trị "localhost" (chỉ điền giá trị khác nếu như Database Server và Web Server nằm ở 2 nơi khác nhau, hoặc Hosting của bạn cung cấp như vậy) User name: Tên tài khoản gắn với database chứa Joomla của bạn. (Nếu làm trên localhost bạn có thể dùng tài khoản có tên là root). Password: Mật khẩu của tài khoản trên. (Nếu dùng tài khoản root, bạn có thể để trống ô này) Availbe Collations (nếu có): Bạn nên chọn là "utf8_general_ci" Database Name: Tên cơ sở dữ liệu sẽ chứa Joomla của bạn Collection by traibingo 28
- Chú ý mục "Table Prefix", để tránh bị tấn công "SQL Injection" bạn nên thay tiền tố "jos_" bằng một chuỗi ký tự khác, chẳng hạn "aroaniv_" Bước 5: Thiết lập các thông số FTP - Nếu đang cài đặt trên LOCALHOST, bạn có thể bỏ qua bước này - Nếu Host của bạn không hỗ trợ, bạn cũng không cần quan tâm - Nếu Host của bạn hỗ trợ, bạn cần chú ý các thông số sau: FTP User: Tên tài khoản FTP - tài khoản dùng để quản lý các thư mục và file trên Host FTP Password: Mật khẩu tương ứng. Auto Find Path: Tự động tìm đường dẫn tới nơi chứa Web của bạn FTP Host: Địa chỉ HOST chứa website Joomla, bạn có thể sử dụng địa chỉ IP của HOST FTP Port: Cổng của dịch vụ FTP, theo mặc định là 21 Nên dùng chính tài khoản mà bạn đã sử dụng để Upload bộ cài đặt Joomla lên HOST Collection by traibingo 29