Lợi ích của phần mềm nguồn mở có thể thấy rõ qua sự hình thành của các cộng đồng nguồn mở với các sản phẩm có giá trị cao trong thực tế và cả giá trị trong đào tạo.. + Sự ra đời và phát
Trang 1Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 1
TRƯỜNG ĐẠI HỌC VINH
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 2
LỜI CẢM ƠN
Trước tiên, em xin chân thành cảm ơn Quý thầy cô trong khoa Công Nghệ Thông Tin - Trường Đại Học Vinh đã tận tình chỉ bảo cho em nhiều kiến thức bổ ích trong suốt thời gian học tại trường cũng như tạo điều kiện cho em thực hiện đề tài này Kính chúc thầy cô luôn dồi dào sức khỏe và thành công trong cuộc sống
Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo Th S Vũ Chí Cường, người
đã tận tình giúp đỡ em trong suốt thời gian thực hiện đề tài, cho em sự bình tĩnh và tự tin, giúp em rút ra nhiều bài học kinh nghiệm quý báu mỗi khi em vấp phải những khó khăn Em khó có thể hoàn thành được đề tài này nếu không nhờ sự chỉ bảo tận tình của thầy
Cám ơn các bạn và tập thể lớp 49KCNTT - những người luôn bên cạnh động viên, ủng hộ em trong suốt quá trình học tập và thực hiện đồ án
Mặc dù đã rất nỗ lực, cố gắng nhưng chắc hẳn đề tài vẫn còn nhiều thiếu sót Mong nhận được nhiều sự góp ý phê bình của quý thầy cô, anh chị và các bạn
Một lần nữa em xin chân thành cám ơn!
Sinh viên thực hiện:
Đặng Tuấn Vũ
Trang 3Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 3
LỜI MỞ ĐẦU
Công nghệ thông tin là một trong những ngành mũi nhọn của đất nước Hàng năm trong xu thế phát triển của ngành công nghệ thông tin nhằm đáp ứng được số lượng lớn các yêu cầu của xã hội về nhiều mặt như: kinh tế, văn hóa, xã hội Do đó, việc ứng dụng rộng rãi của ngành công nghệ thông tin trong xã hội là điều tất yếu Từ khi Internet ra đời, kéo theo đó là sự bùng nổ một loạt các dịch vụ trên Internet đã khiến cuộc sống của con người trở nên thú vị hơn, khoảng cách địa lý không còn là vấn đề gây khó khăn Những lợi ích mà Internet mang lại là rất lớn Trong đó Website
là một trong những dịch vụ phổ biến nhất trên Internet hiện nay
Trước tình hình đó, việc xây dựng một Website tin tức là một giải pháp đem lại
nhiều lợi ích cho xã hội, do đó em xin chọn đề tài " Tìm hiểu và triển khai hệ quản trị nội dung joomla "
Đề tài ngoài phần mở đầu, kết luận và tài liệu tham khảo thì bao gồm có 3 chương:
Chương 1: Tổng quan về phần mềm nguồn mở và giới thiệu cài đặt Joomla Chương 2: Thiết kế các thành phần chính cho website tin tức
Chương 3: Tạo trang thư viện và hình ảnh cho website tin tức
Vinh, tháng 12 năm 2012
Trang 4Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 4
MỤC LỤC
LỜI CẢM ƠN 1
LỜI MỞ ĐẦU 2
CHƯƠNG I: TỔNG QUAN VỀ PHẦN MỀM NGUỒN MỞ VÀ GIỚI THIỆU CÀI ĐẶT JOOMLA 5
1.1 Giới thiệu phần mềm mã nguồn mở 5
1.2 Hệ phần mềm Apache, PHP & MySQL 6
1.2.1 Apache 6
1.2.2 PHP (Personnal Home Page) 6
1.2.3 MySQL 7
1.3 Giới thiệu cài đặt Xampp 8
1.3.1 Giới thiệu chung về Xampp 8
1.3.2 Cài đặt Xampp để tạo localhost 8
1.4 Cài đặt Joomla trên localhost 15
1.5 Dùng quyền quản trị để quản lý thành viên xây dựng 18
CHƯƠNG II : THIẾT KẾ CÁC THÀNH PHẦN CHÍNH CHO WEBSITE 2.1 Cài đặt Template 21
2.2 Phân loại tin tức 22
2.2.1 Tạo mục dùng để phân loại danh mục chính 22
2.2.2 Tạo thể loại 23
2.3 Tạo menu cho website 23
2.3.1 Tạo trình đơn 23
2.3.2 Hiển thị menu lên website 23
2.4 Tạo bài viết 25
2.5 Tạo bài viết để đăng nhập khi download và download về máy 25
2.6 Thay tên cho website 27
2.7 Đổi banner cho website 27
Trang 5Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 5
CHƯƠNG III : GIỚI THIỆU CÁCH TẠO CÁC MODULE VÀ MỘT SỐ GIAO
DIỆN CỦA WEBSITE TIN TỨC THỜI TRANG
3.1 Giới thiệu về Module 29
3.2 Cài đặt các Module 29
3.2.1 Module: Login 30
3.2.2 Module: Footer 31
3.2.3 Module: Tìm kiếm 32
3.3 Một số giao diện chính của website tin tức thời trang 3.3.1 Giao diện trang chủ 33
3.3.2 Giao diện Module đăng ký 33
3.3.3 Giao diện trang tìm kiếm 34
3.3.4 Giao diện trang quản trị 34
3.3.5 Giao diện trang quản lý người dùng 35
3.3.6 Giao diện thiết lập ngôn ngữ 35
KẾT LUẬN
TÀI LIỆU THAM KHẢO
Trang 6Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 6
CHƯƠNG I TỔNG QUAN VỀ PHẦN MỀM NGUỒN MỞ VÀ
GIỚI THIỆU CÀI ĐẶT JOOMLA
1.1 Giới thiệu phần mềm mã nguồn mở
Phần mềm nguồn mở (OSS - Open Source Sofware) có lịch sử phát triển qua hàng chục năm Lợi ích của phần mềm nguồn mở có thể thấy rõ qua sự hình thành của các cộng đồng nguồn mở với các sản phẩm có giá trị cao trong thực tế và cả giá trị
trong đào tạo
+ Sự ra đời và phát triển của phần mềm nguồn mở:
Hơn 2 thập kỉ trước, khi máy tính lần đầu tiên vươn tới mã nguồn của các trường đại học và được truyền đi miễn phí, các nhà lập trình cho rằng, sẽ được trả tiền cho sự lập ra chương trình chứ không phải bản thân các chương trình đó Sự việc thay đổi khi máy tính tiến đến thế giới thương mại và các công ty bắt đầu phát triển, cấp phép cho
phần mềm dựa trên nền tảng thương mại, hạn chế sự truy cập mã nguồn
+ Phần mềm nguồn mở, các hệ điều hành:
- Các hệ điều hành nguồn mở dòng Linux: Red Hat, OpenLinux,
Debian, ManDrake, SuSE, TurboLinux, Nirvana, Slackware
- Các hệ nguồn mở dòng BSD: FreeBSD, NetBSD, OpenBSD
+ Phần mềm nguồn mở, hệ quản trị CSDL:
Hiện nay phần lớn DBMS nguồn đóng (Oracle, Informix, Sybase, DB2 v.v) đều
có các phiên bản chạy dưới Linux và Unix
+ Phần mềm nguồn mở, phần mềm cá nhân:
- Văn phòng: MS Office, Sun StartOffice, OpenOffice
- Trình duyệt Web: MSIE, Netscape Navigator, Mozila, Opera
+ Phần mềm nguồn mở, phần mềm server:
- Web: Apache (61,4 %), MS IIS (28,5%), Sun Iplanet (2%)
- Thư điện tử: Cyus IMAP, Sendmail, Quicmail, Fetchmail
- Xác thực: Cistron Radius
- Cấp địa chỉ động: ISC DHCP
- Dịch vụ tên miền: ISC Bind
Trang 7Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 7
+ Phần mềm nguồn mở, công cụ lập trình:
- Trình dịch: Borland Kylix (C++), GNU C++, Sun JDK (Java), PHP
-Windows: Microsoft Vsual Studio.Net
1.2 Hệ phần mềm mở Apache, PHP & MySQL
1.2.1 Apache
Apache hay là chương trình máy chủ HTTP là một chương trình dành cho máy chủ đối thoại qua giao thức HTTP Apache chạy trên các hệ điều hành tương tự như Unix, Microsoft Windows, Novell Netware và các hệ điều hành khác Apache đóng một vai trò quan trọng trong quá trình phát triển của mạng web thế giới
Khi được phát hành lần đầu, Apache là chương trình máy chủ mã nguồn mở duy nhất có khả năng cạnh tranh với chương trình máy chủ tương tự của Netscape Communication Corporation Từ đó, Apache đã không ngừng tiến triển và trở thành một phần mềm có tính cạnh tranh mạnh so với các chương trình máy chủ khác về mặt hiệu suất và tính năng phong phú Từ tháng 04/1996, Apache trở thành một chương trình máy chủ HTTP thông dụng nhất Hơn nữa, Apache thường được dùng để so sánh với các phần mềm khác có chức năng tương tự Tính đến tháng 01/2007 thì Apache chiếm đến 60% thị trường các chương trình phân phối trang web
Apache là một kiểu mẫu webserver rất phổ biến Giống như Linux, PHP, MySQL
nó là một dự án nguồn mở Đây là nguồn mở nên bất kỳ ai có khả năng đều có thể viết chương trình mở rộng tính năng của Apache PHP hoạt động với tư cách là một phần
mở rộng của Apache, là một module của Apache Apache có tính ổn định và tốc độ cao Tuy nhiên Apache không hỗ trợ công cụ đồ họa trực quan Apache chỉ làm việc tốt trên Unix, nhưng cũng có những phiên bản chạy tốt trên hệ Windows
1.2.2 PHP (Personal Home Page)
PHP được phát triển từ một sản phẩm có tên là PHP/FI do Rasmus Lerdorf tạo ra năm 1995, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools' Khi cần đến các chức năng rộng hơn, ông đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn đến các cơ
sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web đơn giản Ông đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn
Trang 8Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 8
PHP/FI, viết tắt từ: Personal Home Page/Forms Interpreter", bao gồm một số các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay Nó có các biến kiểu như Perl, tông dịch tự động các biến của form và cú pháp HTML nhúng
1.2.3 MySQL
Cơ sở dữ liệu MySQL đã trở thành cơ sở dữ liệu mã nguồn mở phổ biến nhất trên thế giới vì tốc độ xử lý nhanh, ổn định và dễ sử dụng Nó được sử dụng mọi nơi, ở nhiều tổ chức lớn trên thế giới để tiết kiệm thời gian và kinh phí cho những website có dung lượng lớn, phần mềm đóng gói như: Yahoo, Google, Nokia, MySQL không chỉ
là cơ sở dữ liệu mã nguồn mở phổ biến nhất trên thế giới hiện nay mà nó là cơ sở dữ liệu được chọn cho thế hệ mới
a) Tính linh hoạt
Máy chủ cơ sở dữ liệu MySQL cung cấp đặc tính linh hoạt, có sức chứa để xử lý các ứng dụng được nhúng sâu với dung lượng 1MB để chạy các kho dữ liệu lên đến hàng terabytes thông tin Sự linh hoạt về flatform là một đặc tính lớn của MySQL với tất cả các phiên bản của linux, Unix và Windows đang được hỗ trợ
b) Tính thực thi cao
Kiến trúc storage-engine cho phép các chuyên gia cơ sở dữ liệu cấu hình máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù Dù ứng dụng là một hệ thống xử lý giao dịch tốc độ cao hay website dung lượng lớn phục vụ hàng triệu ưu cầu mỗi ngày, MySQL có thể đáp ứng được khả năng xử lý của bất kì hệ thống nào
c) Hỗ trợ giao dịch mạnh
MySQL đưa ra một trong số những engine giao dịch cơ sở dữ liệu mạnh nhất Các đặc trưng bao gồm hỗ trợ giao dịch ACID hoàn thiện, khóa mức dòng không hạn chế, khả năng giao dịch được phân loại, và hỗ trợ giao dịch đa dạng mà người đọc không bao giờ gây trở ngại cho người viết và ngược lại Tính trọn vẹn dữ liệu cũng phải được bảo đảm trong suốt quá trình server có hiệu lực, các mức giao dịch độc lập được chuyên môn hóa
d) Lưu trữ Web và Data
MySQL là nơi cho các website trao đổi thường xuyên vì nó có engine xử lý tốc
độ cao, khả năng chèn dữ liệu nhanh, và hỗ trợ mạnh cho các chức năng chuyên dụng của web như tìm kiếm văn bản nhanh Những tính năng này cũng được áp dụng cho môi trường lưu trữ dữ liệu mà MySQL tăng cường đến hàng terabyte cho các server đơn
Trang 9Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 9
e) Chế độ bảo mật dữ liệu cao
Vì bảo mật dữ liệu cho một công ty là công việc quan trọng nhất của các chuyên gia về cơ sở dữ liệu, MySQL đưa ra tính năng bảo mật tuyệt đối Trong việc xác nhận truy cập cơ sở dữ liệu, MySQL cung cấp các kỹ thuật mà chỉ có người sử dụng đã được xác nhận mới có thể truy nhập được vào server cơ sở dữ liệu
1.3 Giới thiệu cài đặt Xampp
1.3.1 Giới thiệu chung về Xampp
Để xây dựng website joomla! Trên localhost , cần phải có một sever ảo trên máy tính Xampp là một software (phần mềm) và cũng là một công cụ giả lập sever , hosting ngay trên PC , ngoài Xampp ra thì hiện nay còn có rất nhiều trình giả lập khác như : easyPHP , Warm , appsever , verchigoserv
Xampp là chương trình hoàn toàn miễn phí , cách sử dụng của Xampp dễ dàng Ngoài việc hỗ trợ các thành phần căn bản như: Apache – PHP – MySQL – phpMyAdmin Xamp còn hỗ trợ các thành phần khác mà một số webserver khác
không có như Webmail – FTP – SSL – Perl
Hỗ trợ đầy đủ các thư viện mở rộng của PHP đồng thời tích hợp thư viện PEAR
Tải chương trình này tại trang : www.apachefriend.org
1.3.2 Cài đặt Xampp tạo localhost
Sau khi download về ta chạy Xampp 1.7.1 -istaller
Nhấn nút ok để tiếp tục
Trang 10Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 10
Nhấn nút next
Chọn ổ đĩa và thư mục bạn cài đặt Xampp và sau đó nhấn Next
Trang 11Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 11
Chúng ta chỉ nên đánh dấu vào vùng màu đỏ còn các phần còn lại không nên đánh dấu vì nếu đánh dấu thì các dịch vụ như Apache – MySQL – Filezilla sẽ được chạy ngay khi khởi động Window, chỉ nên chạy Xampp khi nào chúng ta muốn chạy PHP script mà thôi
Quá trình cài đặt của Xampp
Quá trình cài đặt của Xampp
Trang 12Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 12
Sau khi cái đặt xong chúng ta nhấn nút Finish để hoàn thành quá trình cài đặt
Khi nhấn nút Finish sẽ hiện ra một cửa số hỏi chúng ta có muốn chạy Xampp bây giờ không Chúng ta chọn Yes để bắt đầu vào bảng điều khiển của Xampp
Để chạy được webserver và PHP script chúng ta nhấn nút Start bên cạnh Apache và MySQL Chúng ta sẽ được như hình dưới
Trang 13Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 13
Thông thường lần đầu tiên nhấn vào các nút Start chúng ta thường nhận được một cửa sổ thông báo
Chúng ta hãy nhấn vào nút Unblock
Nhấn vào nút Admin bên cạnh Apache để vào trang chính của webserver và nhấn vào nút Admin bên cạnh MySQL để vào phpMyAdmin (phần quản lý MySQL qua giao diện web)
Trang 14Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 14
Khi nhấn vào nút Admin bên cạnh Apache chúng ta được giao diện web như sau:
Nhấn vào link English
Để xem thông tin về PHP bạn nhấn vào phpinfo() và phpMyAdmin để vào phần quản lý MySQL qua giao diện web
Trang 15Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 15
Cấu hình để chạy htaccess trên Webserver
Nhấn vào biểu tượng Xampp ở Tray của Window
- Nhấn vào nút Explore… để vào thư mục cài đặt của Xampp
- Mở tập tin httpd.conf bằng một chương trình soạn thảo bất kỳ (Vd: Notepad) trong thư mục apacheconf (Vd: Nếu cài đặt như hướng dẫn nó sẽ là
Trang 16Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 16
Sau đó lưu tập tin httpd.conf
Khởi động lại webserver Mở bảng điều khiển nhấn nút Stop ở bên cạnh Apache
và MySQL sau đó nhấn nút Exit
Sau đó khởi động lại Xampp
1.4 CÀI ĐẶT JOOMLA TRÊN LOCALHOST
Tải chương trình tại địa chỉ: www.joomla.org
Trang 17Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 17
Mở trình duyệt web, gõ localhost/joomlavn (nếu thư mục chứa mã nguồn
Joomla! trong thư mục htdoc của Xampp là joomlavn, như đã nói ở trên) Trang web Joomla! Web Installer xuất hiện
NEXT để qua bước tiếp theo và PREVIOUS để trở lại bước trước
Bước 1: Choose Language: chọn ngôn ngữ
Chọn English (United Kingdom) (thường để default) và nhấn Next
Bước 2: Pre-installation Check: Kiểm tra cài đặt cấu hình hệ thống
Kiểm tra xem hệ thống có thể cài được Joomla! không, phần Recommended Settings gồm 2 cột (bên phải là yêu cầu Recommended, bên phải là hệ thống của Actual) Actual tương xứng sẽ có màu đỏ ở phần nào thì tức là phần đó chưa đáp ứng
Trang 18Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 18
được yêu cầu Joomla! đặt ra, nếu là phần Register Globals thì khắc phục bằng cách
liên hệ với nhà cung cấp hosting để tắt đi Nhấn Next
Bước 3: License: quy định sử dụng chương trình (thông tin bản quyền)
- Host Name: Nếu sử dụng MySQL trên chính máy cài Joomla! thì điền là
localhost, còn trường hợp khác, nếu sử dụng MySQL và truy xuất database thông qua
1 máy khác, thì điền tên host đó hoặc IP của host đó tại đây
- Username: Tài khoản MySQL khi cài Xampp, nếu dùng trên localhost thì tài
khoản này nên đặt là root (tài khoản có mức ưu tiên cao nhất), trong trường hợp dùng các host shared thì tài khoản này chỉ có tác dụng trong host và bị giới hạn 1 vài tính năng
- Password: mật khẩu tài khoản MySQL, Khi cài Xampp
- Database name: Chọn tên cho database
Trang 19Đặng Tuấn Vũ – Lớp 49K – Khoa CNTT 19
- Advanced Settings: Các thiết lập nâng cao, ở đây mục prefix nghĩa là tiền tố,
nó sẽ đứng trước tên của các table trong CSDL và dùng để phân biệt với các table
khác Nhấn Next
Bước 5: FTP Configuration: thiết lập FTP, có thể mở hoặc không
- Nếu host không hỗ trợ, mục này sẽ không hiển thị
- Nếu host hỗ trợ, cần chú ý:
Username: Tên tài khoản 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
Nhấn Next
Bước 6: Main Configuration: thiết lập cấu hình site joomla cho website như
tên web, email và password của admin
- Site Name: đặt tên website
- Confirm the admin email and password Password này sẽ là password của
admin sau này đăng nhập vào trang quản trị của website
- Install default sample data: Cài đặt mặc định dữ liệu cho Joomla!
- Load local Joomla! 1.5 SQL script: Export dữ liệu từ bản 1.5 cũ và load
- Load migration script: Dùng để nâng cấp các trang từ phiên bản 1.0.x lên 1.5 Nhấn Next
Bước 7: Finish: Cài đặt hoàn tất
1.5 DÙNG QUYỀN QUẢN TRỊ ĐỂ QUẢN LÝ THÀNH VIÊN XÂY DỰNG