Thông tin tài liệu
NG CÔNG NGH THÔNG TIN TPHCM KHOA CÔNG NGH THÔNG TIN GIÁO TRÌNH MÔN HỌC CÁC HỆ THỐNG MÃ NGUỒN MỞ i b) DƯƠNG THÀNH PHẾT NGUYỄN MINH THÀNH VÕ TẤN DŨNG Tp. H Chí Minh, 2013 Mục Lục MỤC LỤC . 2 LỜI MỞ ĐẦU 7 PHẦN I : TỔNG QUAN VỀ MÃ NGUỒN MỞ VÀ CƠ SỞ DỮ LIỆU MYSQL 8 CHƯƠNG 1 : TỔNG QUAN VỀ CÁC HỆ THỐNG MÃ NGUỒN MỞ . 9 I. KHÁI NIỆM VỀ PHẦN MỀM NGUỒN MỞ . 9 II. LỊCH SỬ PHÁT TRIỂN . 10 III. CÁC LOẠI GIẤY PHÉP 10 IV. ƯU NHƯỢC ĐIỂM CỦA PHẦN MỀM NGUỒN MỞ . 11 IV.1. Ưu điểm . 11 IV.2. Nhược điểm . 13 V. PHÂN LOẠI PHẦN MỀM NGUỒN MỞ . 14 V.1. Nhóm Hệ Điều Hành 14 V.2. Nhóm Cơ sở dữ liệu . 15 V.3. Nhóm ứng dụng Desktop 15 V.4. Nhóm Server 15 V.5. Nhóm ứng dụng web . 16 V.5.1. Loại hệ thống chuyên về CMS/Portal . 16 V.5.2. Loại hệ thống chuyên về Forum . 17 V.5.3. Loại hệ thống chuyên về Blog 17 V.5.4. Loại hệ thống chuyên về thương mại điện tử (eCommerce) . 18 V.5.5. Loại hệ thống chuyên về ERP . 18 V.5.6. Loại hệ thống chuyên về Social Networking 18 VI. KẾT LUẬN ERROR! BOOKMARK NOT DEFINED. CHƯƠNG 2 : TỔNG QUAN VỀ CSDL MYSQL . 19 I. TỔNG QUAN VỀ MYSQL . 19 I.1. Mô hình client – server 19 I.2. Quy trình cài đặt MySQL . 20 I.2.1. Tải hệ quản trị MySQL 20 I.2.2. Quy trình cài đặt 20 I.2.3. Khởi động và tắt dịch vụ 27 I.2.4. Thao tác tại client 28 I.2.5. Thay đổi password cho tài khoản root . 29 II. CÁC THAO TÁC CƠ BẢN TRÊN CSDL MYSQL . 29 II.1. Xem các cơ sở dữ liệu 29 II.2. Tạo cơ sở dữ liệu mới 29 II.3. Xóa cơ sở dữ liệu . 29 II.4. Thêm tài khoản người dùng 30 III. TỔNG KẾT ERROR! BOOKMARK NOT DEFINED. CHƯƠNG 3 : LÀM VIỆC VỚI MYSQL . 31 I. TABLE – BẢNG 31 I.1. Các kiểu dữ liệu trên bảng . 31 I.1.1. Kiểu số (numberic) . 31 I.1.2. Kiểu chuỗi kí tự 32 I.1.3. Kiểu hỗn hợp . 32 I.1.4. Kiểu ngày – giờ . 32 I.1.5. Các từ khoá định nghĩa cột (modifiers) 33 I.2. Các thao tác trên bảng 33 I.2.1. Tạo bảng . 33 I.2.2. Xem thông tin bảng 34 I.2.3. Xóa bảng . 34 I.2.4. Thay đổi cấu trúc bảng . 34 I.2.5. Chèn dữ liệu vào bảng 35 II. QUERY - TRUY VẤN 36 II.1. Cú pháp truy vấn . 36 II.2. Các thao tác truy vấn 37 II.2.1. Truy vấn chọn . 37 II.2.2. Truy vấn thống kê . 38 II.2.3. Truy vấn lồng 38 II.2.4. Mệnh đề Join 39 II.2.5. Truy vấn chèn dữ liệu . 39 II.2.6. Truy vấn xóa . 39 II.2.7. Truy vấn cập nhật . 39 II.3. Toán tử và hàm trong truy vấn . 39 II.3.1. Toán tử . 39 II.3.2. Hàm toán học . 40 II.3.3. Hàm điều kiện 40 II.3.4. Hàm logic 41 II.3.5. Hàm chuỗi 41 II.3.6. Hàm thời gian . 41 III. BẢO MẬT VÀ QUẢN TRỊ 44 III.1. Bảo mật CSDL MySQL 44 III.1.1. Phương thức bảo mật trong MySQL 44 III.1.2. Cấp phát tài khoản người dùng và phân quyền . 44 III.1.3. Xóa tài khoản 45 III.1.4. Cấp quyền & xoá quyền cho tài khoản người dùng 45 III.2. Quản trị . 45 III.2.1. Backup (sao lưu) dữ liệu . 45 III.2.2. Restore (phục hồi) dữ liệu 45 III.2.3. Các hàm trên hệ thống của MySQL 45 III.2.4. Sử dụng mysqladmin 46 IV. TỔNG KẾT . ERROR! BOOKMARK NOT DEFINED. PHẦN II : NGÔN NGỮ LẬP TRÌNH WEBSITE PHP . 47 CHƯƠNG 4 : CƠ BẢN VỀ NGÔN NGỮ PHP . 48 I. TỔNG QUAN . 48 I.1. Ngôn ngữ PHP . 48 I.2. Thông dịch trang PHP . 49 I.3. Ngôn ngữ kịch bản 49 II. WAMP SERVER . 50 II.1. Giới thiệu về WampServer 50 II.2. Các thành phần trong Wampserver 2.2E 51 II.2.1. Cài đặt Wampserver 2.2E . 51 II.2.2. Sử dụng (cấu hình) Wampserver . 54 III. CƠ BẢN VỀ PHP . 58 III.1. Cấu trúc cơ bản . 58 III.2. Xuất giá trị ra trình duyệt . 58 III.3. Khái niệm biến 59 III.3.1. Biến trong PHP . 59 III.3.1. Các kiểu dữ liệu trong PHP . 59 III.3.2. Thay đổi kiểu dữ liệu 60 III.3.3. Kiểm tra kiểu dữ liệu của biến 61 III.3.4. Biến trong biến 62 III.3.5. Tầm vực của biến . 63 III.4. Hằng 64 III.4.1. Khái niệm . 64 III.4.2. Kiểm tra hằng 65 III.5. Khái niệm về chuỗi 65 III.6. Toán tử trong PHP . 65 III.6.1. Toán tử gán 65 III.6.2. Toán tử số học . 66 III.6.3. Toán tử so sánh . 66 III.6.4. Toán tử logic 66 III.6.5. Toán tử kết hợp . 67 III.7. Các biểu thức cơ bản trong PHP 67 III.7.1. Biểu thức điều kiện 67 III.7.2. Vòng lặp while . 67 III.7.3. Vòng lặp Do…while 68 III.7.4. Vòng lặp For . 68 III.7.5. Biểu thức Switch case 68 III.8. XỬ LÝ GIÁ TRỊ FORM 69 III.8.1. Phương thức GET . 70 III.8.2. Phương thức POST . 70 III.9. Thao tác trên tập tin . 70 III.9.1. Đóng - mở một tập tin . 70 III.9.2. Đọc – ghi tập tin . 71 III.10. Xử Lý Chuỗi và Thời Gian . 73 III.10.1. Xử lý chuỗi 73 III.10.2. Xử lý date time . 78 III.11. MẢNG TRONG PHP 80 III.11.1. Định nghĩa mảng trong PHP . 80 III.11.2. Khái niệm mảng kết hợp . 81 III.11.3. Phép lặp trong mảng 81 III.11.4. Các hàm hỗ trợ trong PHP 82 III.12. CƠ BẢN VỀ COOKIE VÀ SESSION TRONG PHP 83 III.12.1. Tổng quan về Cookie 83 III.12.2. Tổng quan về Session . 85 III.13. KHÁI NIỆM VỀ HÀM . 89 III.13.1. Hàm tự định nghĩa 89 III.13.2. Hàm tự định nghĩa với các tham số 90 III.13.3. Hàm tự định nghĩa với giá trị trả về 90 III.13.4. Gọi lại code trong PHP 91 III.13.5. Tập tin dùng chung . 92 CHƯƠNG 5 : CƠ BẢN VỀ PHP VÀ MYSQL . 95 I. KẾT NỐI CƠ SỞ DỮ LIỆU . 95 II. LỰA CHỌN CSDL . 95 III. THỰC THI CÂU LỆNH TRUY VẤN 95 IV. ĐẾM SỐ DÒNG DỮ LIỆU 95 V. LẤY DỮ LIỆU TỪ BẢNG ĐƯA VÀO MẢNG 95 VI. ĐÓNG KẾT NỐI CƠ SỞ DỮ LIỆU . 95 VII. VÍ DỤ ÁP DỤNG . 95 VIII. TẠO FILE KẾT NỘI CSDL 97 IX. CÁC THAO TÁC TRÊN MẨU TIN 98 IX.1. Thêm mẩu tin 98 IX.2. Cập nhật mẩu tin . 102 IX.3. Xoá mẩu tin . 104 IX.4. Tổng kết Error! Bookmark not defined. PHẦN III : HỆ THỐNG MÃ NGUỒN MỞ JOOMLA 106 CHƯƠNG 6 : CƠ BẢN HỆ THỐNG MÃ NGUỒN MỞ JOOMLA 107 I. KHÁI NIỆM VỀ HỆ QUẢN TRỊ NỘI DUNG (CMS) 107 II. TỔNG QUAN VỀ JOOMLA . 108 II.1. Lịch sử về Joomla 110 II.2. Các phiên bản Joomla . 110 II.3. Kiến trúc 111 II.4. Đối với người dùng cuối 111 II.5. Điều Joomla có thể làm . 112 II.6. Một vài website Joomla 112 II.7. Thể hiện trang web thông qua CMS 114 II.8. Cài đặt Joomla 115 II.8.1. Tải bộ cài đặt Joomla 115 II.8.2. Yêu cầu hệ thống 115 II.8.3. Cài đặt website Joomla 116 II.8.4. Cài đặt Joomla trên host server . 123 III. TRANG FRONT-PAGE . 124 IV. TẠO CÁC BÀI VIẾT 124 IV.1. Đăng nhập trang quản trị . 124 IV.2. Tạo bài viết mới 126 IV.3. Thay đổi tiêu đề trang chủ 128 V. TỔ CHỨC DỮ LIỆU TRÊN WEBSITE 131 V.1. Sections – Categories - Contents . 131 V.2. Tạo Section 133 V.3. Tạo Category . 135 V.4. Đăng bài viết có thuộc về một section và category 138 V.5. Tạo ngắt “read more…”cho bài viết 139 V.6. Tạo ngắt trang (page break) cho bài viết . 141 VI. QUẢN LÝ BÀI VIẾT VỚI ARTICLE MANAGER . 142 VI.1. Lọc bài viết 144 VI.2. Thay đổi thứ tự bài viết 144 VI.3. Ẩn – xoá bài viết 144 VI.4. Các tham số cho bài viết . 145 CHƯƠNG 7 : TINH CHỈNH JOOMLA 148 I. HỆ THỐNG MENU CHO WEBSITE 148 I.1. Tổng quan về hệ thống menu . 148 I.2. Trang quản lý Menu Manager 149 I.3. Tạo menu thành phần liên kết đến một bài viết . 152 I.4. Ẩn menu thành phần 155 I.5. Tạo menu thành phần liên kết đến một Section . 157 I.6. Tạo menu thành phần liên kết đến một Category 159 II. QUẢN LÝ NGƯỜI DÙNG VÀ LIÊN HỆ 162 II.1. Phân quyền trong Joomla . 162 II.2. Thêm User mới 163 II.3. Tạo trang liên hệ . 164 II.4. Tạo danh mục các liên hệ 166 II.5. Tạo menu liên kết đến trang liên hệ . 167 II.6. Tạo menu đăng bài . 169 III. QUẢN LÝ CÁC MODULE 171 III.1. Tạo một Module 173 III.2. Chỉnh sửa Module . 174 III.3. Xoá – kích hoạt – thay đổi thứ tự Module 175 IV. QUẢN LÝ CÁC BÌNH CHỌN (POLLS) 175 IV.1. Thêm câu hỏi bình chọn 175 IV.2. Chọn câu hỏi bình chọn đăng lên website . 176 V. QUẢN LÝ QUẢNG CAO (ADVERTISEMENT & BANNER) 177 V.1. Quản lý khách hàng đăng quảng cáo 177 V.2. Quản lý danh mục quảng cáo 178 V.3. Quản lý các banner quảng cáo 180 V.4. Đăng banner quảng cáo 182 VI. QUẢN LÝ ĐƯỜNG DẪN SITE (BREADCUMBS) . 183 VI.1. Thay đổi menu mặc định . 183 VI.2. Chỉnh sửa Module Breadcumbs . 184 VII. CÁC MODULE KHÁC 185 VII.1. Feed Display module . 185 VII.2. Who’s online module . 187 VII.3. Archive module 187 VII.4. Custom HTML module . 187 VII.5. Lastest News và Popular module 188 VII.6. Newsflash module . 189 VII.7. Syndication module . 190 VII.8. Statistics module . 192 VII.9. Wrapper module . 192 VII.10. Footer module 193 VII.11. Login module 193 VII.12. Random Image . 194 VII.13. Search module 194 VIII. CÁC CHỨC NĂNG GLOBAL . 196 VIII.1. Site 196 VIII.2. System 197 VIII.3. Server 198 Li M u Giáo trình mã ngun m trang 7 Lời Mở Đầu Ngày nay, trong xu th công ngh ngày càng phát trin t c tip thêm sc mnh. Các ng dn t xut hin ngày nhic bit là các website giao dch mua bán qua m tip cn vi th ng, các công ty hu hu phi có mg m tip cm chi phí nhi Chính vì th, nhu cu có mi tu ln trên th ng xây dc mi hoàn chnh t con s 0 thì rt mt thi gian và tn nhiu chi phí v nhân s có mt website tt trong thi gian nhanh nht, thì vic ng dng các h thng mã ngun m là vic hoàn toàn cn thit. Các ng dng mã ngun m t phát trin và nh. Vi mong mun có c nhng sn phm tt, các cng mã ngun m n ngi công b nhng sn phm, công ngh, và k thu thng mã ngun m ngày càng tt Vi nhu cc vit nhm cung cp cho sinh viêng Công Ngh Thông Tin Tp. H Chí Minh mt kin bn và nn tng v mt s các h thng mã ngun mn mt h thng mã ngun m. Cuc u nghiên cn t và h thng thông tin. c chia làm 3 phn : Ph d liu mã ngun m MySQL Phn ngôn ng lp trình web PHP Phn h thng mã ngun m Joomla Trong qua trình biên so gng tip cn nhng kin thc mi nh giúp sinh viên có nhng kin thc phù hp vi hin trng thc t. Tuy nhiên, PHẦN I : TỔNG QUAN VỀ MÃ NGUỒN MỞ VÀ CƠ SỞ DỮ LIỆU MYSQL Tng Quan V Các H Thng Mã Ngun M Giáo trình mã ngun m trang 9 Chương 1 : Tổng Quan Về Các Hệ Thống Mã Nguồn Mở Tóm tắt: Giới thiệu về các khái niệm cơ bản về mã nguồn mở, lịch sử phát triển của hệ thống mã nguồn mở, các giấy phép xuất bản mã nguồn mở và một số mã nguồn mở phổ biến hiện nay. I. Khái niệm về phần mềm nguồn mở Phn mm mã ngun m (PMNM) là nhng phn m c cung c i dng mã ngun, không ch min phí tin mua mà ch yu là min phí v bn quyc mã ngun ca phn mnh v giy phép PMNM (ví d General Public Licence i s dng có quyn si, ci tin, phát trin và nâng cp theo mt s nguyên tnh mà không cn phc i vi các phn mm nguc là phn mi). PMNN do mi, mt nhóm ngi hay mt t chc phát triu tiên cùng vi mã ngun, công b công khai cho c s dng s n, sa các li (nu có) và b hoàn thin sn phm cho các phiên bn tip theo. c sao chép, sa cha thoi mái hay s dng vào mc. Mã ngun m c công b i rt nhiu kin khác nhau, mt s n, s dng và bán tùy ý min là gi nguyên các dòng v ngun gc sn phm, mt s bt buc tt c các sn phm làm ra t i là phn mm mã ngun m, mt s i phi công b trn vn mã ngun, mt s khác không cho phép s dng vào mi, mt s khác li không có ràng bu Nhà cung cp PMNM có quyn yêu ci dùng tr mt s chi phí v các dch v bo hành, hun luyn, nâng cc là nhng dch v phc v c bán các sn phm ngun m vì nó là tài sn ca trí tu chung, không phi là tài sn riêng ca mt nhà cung cp nào. Tin ích mà Open Source mang li chính là quyn t do s di mn t nghiên cu cu trúc cnh sa phù hp vi nhu Tng Quan V Các H Thng Mã Ngun M Giáo trình mã ngun m trang 10 cu, truy cp vào mã ngun, quyn t do phân phi li các phiên bn cho nhii, quyn t do ci ting bn ci tin vì mng. II. Lịch sử phát triển i sáng lp ra d án GNU i mn mt h u hành máy tính min phí GNU (t ly t các ch Gnu không phi là Unix). Bi dùng máy tính s t do mà h thành thut ng ch các phn mm t do: mi c quyn t do sao chép và phiên bi nó bt c m dù ln hay nh nào. Stallman còn là tác gi u tiên ca mt lot các sn phm kiu phn mm son th ình dch GNU C Compiler, phn mm g ri GNU Debugger và nhiu gói phn mm GNU khác. Ông là Ch tch ca T chc Phn mm T do (Free Software Foundation). III. Các loại giấy phép Xét v n quyn s dng, phn mm có nhiu loi gi sau: Phn mi (Commercial Software) là phn mm thuc bn quyn ca tác gi hoc các hãng phn mm, ch c cung ci dng mã nh i dùng phi mua và không có quyn bán li. Windows, Microsoft Office, Oracle là các ví d v phn mm i. Phn mm th nghim gii hn (Limited Trail Software) là các phiên bn gii hn ca phn m c cung cp min phí vi m nghêm, gii thiu sn phm. Loi này có th có gii hn v mt chi hn v thi gian c s dng. Chng hn mt phn mi dùng ly t Internet v dùng th cho gii hn s dt ngm s vô hiu hoá phn mm. Phn mm chia s (Shareware) là loi phn mn mi c phân phi t t s giy phép khuyn cáo các cá nhân hoc t chc c mua theo nhu kin c th . Ví d phn m nén d liu Winzip là phn mm chia s. Phn mi - phn mm t do (Free ware) là các phn mc dùng t do không phi tr tii tuân th bt c u kin nào. Trong loi phn mm này có loi phn mi dng mã nh phân có th
Ngày đăng: 30/12/2013, 19:30
Xem thêm: Mã nguồn mở