Theo các thống kê mới nhất vào tháng 03/2010 sốlượng người đã và đang tiếp cận với internet trên toàn thế giới xấp xỉ 400 triệungười, và để thiết lập sự hiện diện của một tổ chức, cá nhâ
Trang 1MỤC LỤC
4.2.5 Module show banner Hình ảnh hoạt động 36
4.2.7 Module show vị trí đang truy cập 40
5.1 Tạo thư viện hình ảnh cho website 41
5.2.3 Chỉnh sửa cấu hình cho Docman 42
Tab General: 42
Tab Frontend: 42
General Settings: 42
Theme 42
Extra Document Information 42
General Settings 43
Upload methods: Phương thức upload (Upload file từ máy tính, Link từ server khác, Copy file từ server khác) 43
File Extensions 43
Tab "Security" 43
5.2.4 Thêm một chủng loại tài liệu (category) trên Docman: 43
Trang 2LỜI MỞ ĐẦU
Ngày nay, Internet đã trở thành một phần không thể thiếu trong các lĩnhvực phát triển của xã hội Theo các thống kê mới nhất vào tháng 03/2010 sốlượng người đã và đang tiếp cận với internet trên toàn thế giới xấp xỉ 400 triệungười, và để thiết lập sự hiện diện của một tổ chức, cá nhân với một phần trong
số này, website là một sự lựa chọn rất hiệu quả Bên cạnh những tác dụng to lớnđối với các tổ chức khác nhau, website còn là nơi chia sẻ kiến thức và kết nốicộng đồng, thực sự đem lại rất nhiều lợi ích thiết thực Từ những hiệu quả mà
một website mang lại, em muốn tìm hiểu về cách xây dựng và thiết kế website.
Có nhiều phần mềm,công cụ hỗ trợ thực hiện thiết kế một website,Joomla! là hệ thống quản trị nội dung mã nguồn mở số 1 thế giới hiện nay đượcviết bằng ngôn ngữ PHP và kết nối đến cơ sở dữ liệu SQL Linh hoạt, đơn giản,tính tuỳ biến rất cao và cực kỳ mạnh mẽ, đó là những gì có thể nói về Joomla!,được sử dụng trên toàn thế giới từ những trang web đơn giản cho đến những ứngdụng phức tạp Việc cài đặt dễ dàng, quản lý đơn giản, đáng tin cậy Đó là các lý
do em chọn Joomla là công cụ để thực hiên đề tài "Xây dựng website tin tức bằng joomla".
Báo cáo gồm 6 chương:
Chương 1: Tổng quan về phần mềm mã nguồn mở
Trang 3Em xin gửi lời cảm ơn chân thành đến thầy giáo Th.s Lương Xuân Phú đã giúp
đỡ em hoàn thành bản đề tài này Mặc dù có nhiều cố gắng nhưng Joomla là một
hệ thống quản trị nội dung mã nguồn mở tương đối mới hiện nay, do vốn kiếnthức chưa sâu nên chắc chắn trong báo cáo này em còn nhiều thiếu sót, rất
mong sự đóng góp ý kiến của các Thầy, Cô giảng viên và toàn thể các bạn sinhviên
Vinh, tháng 05 năm 2010
Sinh viên thực hiện:
Nguyễn Văn Hoàng
Trang 4
CHƯƠNG 1 TỔNG QUAN VỀ PHẦN MỀM MÃ NGUỒN MỞ
1.1 Giới thiệu phần mềm nguồn mở trên thế giới
Phần mềm nguồn mở (OSS – Open Source Sofware) có lịch sử phát triển quahà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ànhcủ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 choviệc 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ấpphé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
ý tởng về công khai mã nguồn đã xuất hiện ngay ở những ngày đầu củanền Công nghệ thông tin dới những hình thức khác nhau:
1940: Đã có những hoạt động chia sẻ mã nguồn khi làm việc trên máytính ENIAC, các hoạt động chia sẻ phần mềm dùng chung, các nghiên cứu cócông bố kèm theo mã nguồn
Trang 5nghiệp của ông hy vọng rằng những hình mẫu doanh nghiệp mới sẽ đợc mở rộng.Netscape công bố mã nguồn Netscape Nagivator đã tạo sự cạnh tranh, kết quả làngời dùng có lợi từ các trình duyệt nguồn mở miễn phí và trình duyệt nguồn đóng(IE)
Từ năm 1998 đến nay: phong trào phần mền nguồn mở đã phát triển mạnh
mẽ ở nhiều nớc với việc đề cao Linux
Văn phòng: MS Office, Sun StartOffice, OpenOffice…
Mail Cline: Netscape Messenger, MS Outlook, MS Internet Mail,
Trình duyệt Web: MS IE, Netscape Navigator, Mozila, Opera…
Mô phỏng Windows: Conntectix Virtual PC, Lindows, Wine…
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ử: Cyrus IMAP, Sendmail, Quickmail, Fetchmail…
Xác thực: Cistron Radius
Cấp địa chỉ động: ISC DHCP
Tổ chức danh bạ: Michigan Univ, OpenLDAP
Dịch vụ tên miền: ISC Bind
Khác: Tomcat (Java servlet), Squid (proxy), proftp (FTP)
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
Trang 6 Web Portal: Borland Jbuilder, IBM WebSphere Studio ApplicationDeveloper, Sun J2EE
Windows: Microsoft Visual 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áychủ đối thoại qua giao thức HTTP Apache chạy trên các hệ điều hành tơng tự nhUnix, 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ở duynhất có khả năng cạnh tranh với chơng trình máy chủ tơng tự của NetscapeCommunications Corporation Từ đó, Apache đã không ngừng tiến triển và trởthành một phần mềm có sức 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ộtchơ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 tcá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ụ đồ hoạ trực quan.Apache chỉ làm việc tốt trên Unix, nhng cũng có những phiên bản chạy tốt trên hệ
Trang 7đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools' Khi cần đến cácchứ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ể truyvấn tới 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
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ếnkiểu nh Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng Cúpháp này giống nh của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếunhất quán
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ấttrên thế giới vì tốc độ xử lý nhanh, ổn định và dễ sử dụng Nó đợc sử dụng mọinơ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ữngwebsite 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ớihiện nay mà nó là cơ sở dữ liệu đợc chọn cho thế hệ mới của các ứng dụng xâydựng trên nền Linux, Apache, MySQL, PHP MySQL chạy trên hơn 20 flatformnh: Linux, Windows, OS/X, AIX, Netwar MySQL có những đặc tính nh:
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ủaMySQL với tất cả các phiên bản của Linux, Unix và Windows đang đợc hỗ trợ Vàtính chất mã nguồn mở của MySQL cho phép sự tùy biến hoàn toàn theo ý muốn
để thêm vào các yêu cầu thích hợp cho database server
Trang 8hệ thống nào Với các tiện ích tải tốc độ cao, bộ nhớ caches và các cơ chế xử lýnâng cao khác.
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 trng bao gồm hỗ trợ giao dịch ACID hoàn thiện, khóa mức dòng khônghạ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 toàn vẹn của 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 giaodịch độc lập đợc chuyên môn hóa
d) Là nơi lu 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êndụ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ụngcho môi trờng lu trữ dữ liệu mà MySQL tăng cờng đến hàng terabyte cho cácserver đơn
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ácchuyên gia về cơ sở dữ liệu, MySQL đa ra tính năng bảo mật tuyệt đối Trong việcxá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 Tiện íchbackup và recovery cung cấp bởi MySQL và các hãng phần mềm cho phép backuplogic và vật lý hoàn thiện cũng nh recovery toàn bộ hoặc tại một thời điểm nào đó
Trang 9CHƯƠNG 2 GIỚI THIỆU CÀI ĐẶT APPSEVER VÀ JOOMLA
2.1 Cài Đặt
Appsever Để Tạo Localhost
2 1.1 Giới thiệu chung về Appsever
Để xây dựng website Joomla! trên localhost, cần phải có một server ảotrên máy tính, Appsever là một software và cũng là một công cụ giả lập sever,hosting ngay trên PC, ngoài Appsever hiện nay còn nhiều trình giả lập khác nhưEasyPHP, Xampp, Wamp, VertrigoServ
Appsever tích hợp sẵn các tính năng của Apache, MySQL, PHP vàphpMyadmin Ưu điểm của Appsever là chương trình này hoàn toàn miễn phí,
dễ sử dụng và rất nhẹ, phù hợp với các máy cấu hình trung bình, tương thích cao
và đầy đủ chức năng để chạy PHP
Tải chương trình này tại trang chủ: www.appservnetwork.com
2.1.2 Cài đặt Appsever để tạo localhost
a Các bước cài đặt
Bước 1: Cha ̣y tâ ̣p tin chương trình
Bước 2: Xuất hiê ̣n giao diê ̣n chương trình Nhấn NEXT
Bước 3: Xuất hiê ̣n bản License, cho ̣n I argee Nhấn NEXT
Trang 10Bước 4: Cho ̣n đường dẫn cài đă ̣t (mă ̣c đi ̣nh là C:\AppSev) Nhấn NEXT
Trang 11Bước 5: Cho ̣n các Components, Ở Appsever đã tổ hợp cài đă ̣t Apache,
MySQL, PhpMyadmin Nhấn NEXT
Bước 6: Điền thông tin sever.
SeverName : localhost
Trang 12Email: Email quản tri ̣ viên
Apache HTTP Port: 80
Nhấn NEXT
Bước 7: Tên và mâ ̣t khẩu của MySQL
Name: Root (mức ưu tiên cao nhất)
Nhâ ̣p password và confirm password
Nhấn NEXT
Bước 8: Chương trình tiến hành cài đă ̣t
Trang 13Bước 9: Hoàn tất cài đă ̣t
Cho ̣n Start Apache và Start MySQL để chương trình khởi đô ̣ng
Nhấn FINISH
Với cài đă ̣t mă ̣c đi ̣nh:
C:\AppServ\www là địa chỉ webroot, nơi copy các file php vào đây
C:\AppServ\mysql\data\ chứa CSDL MySQL, mỗi CSDL sẽ là 1 folder, để sao lưu dữ liệu MySQL, copy folder này thành nhiều bản sao
Kết quả:
Trang 142.2.Cài Đặt Joomla Trên Localhost
Tải chương trình tại địa chỉ: www.joomla.org
a Tiến hành cài đă ̣t
Giải nén file zip ra một thư mục (tạm đặt tên thư mục là joomla) và chép thư
mục joomla vào thư mục www của Appsev (mă ̣c đi ̣nh là C:\Appsev\www) Mở trình duyệt web, gõ localhost/joomla (nếu thư mục chứa mã nguồn Joomla!
trong thư mục www của Appsev là joomla, như đã nói ở trên) Trang webJoomla! Web Installer xuất hiện
NEXT để qua bước tiếp theo và PREVIOUS để trở lại bước trước.
Trang 15Bước 1: Choose Language: chọn ngôn ngữ.
Cho ̣n English (United Kingdom) (thường để default) và nhấn NEXT
Bước 2: Pre-installation Check: Kiểm tra cài đặt
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
Trang 16củ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 đượ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
Nhấn NEXT
Trang 17Bước 4: Database Configuration: Thiết lập cơ sở dữ liệu
- Database Type: Hiện MySQL hỗ trợ 2 chuẩn là mysql và mysqli ( mới hơn ),
thường chọn mysql
- Host Name: nếu sử dụng MySQL trên chính máy cài Joomla! thì điền vào là
localhost, còn trong trường hợp khác, nếu sử dụng MySQL và truy xuấtdatabase thông qua 1 máy khác, thì chúng ta điền tên host đó hoặc IP của host
đó tại đây
- Username: tài khoản MySQL khi cài AppSever, 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 ), trongtrườ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,
Trang 18- Password: mật khẩu tài khoản MySQL, Khi cài AppSever.
- Database name: Chọn tên cho database
- 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áctable khác
Nhấn NEXT
Bước 5: FTP Configuration: thiết lập FTP, có thể mở hoặc không.
NhấnNEXT
Bước 6: Main Configuration: thiết lập cho website như tên web, email và
password của admin
Trang 19- 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 tri ̣ 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 tại
Để website hoạt động, cần xóa hoặc rename thư mục Installation trong thư mục
Appsev\www\Joomla Chọn Site để xem thử site (địa chỉ truy cập vào site có
dạng "http://localhost/joomla")
Vào C:\AppServ\www\webcntt\ để sửa lỗi cơ bản bằng cách viết vào sau dòng
1 của configuration dòng ini_set(“memory_limit”, “30M”);
Kết quả thu được:
Trang 202.3.Dùng Quyền Quản Trị Để Quản Lý Thành Viên Xây Dựng
Việc xây dựng một website trên thực tế luôn là một vấn đề phức tạp, donhu cầu biến đổi mà website có thể thay đổi các mục đích, bố cục nên sự đónggóp phát triển website của các thành viên khác chiếm một vai trò quan trọng
Trang Quản Trị:
Mở trình duyê ̣t web, nhập đi ̣a chỉ: "http://localhost/administrator"
Xuất hiê ̣n trang quản tri ̣, nhập :
Username : admin
Password: là password ở bước 6 khi cài đă ̣t Joomla!
Xuất hiê ̣n trang quản tri ̣ website:
Trang 21Giới Hạn Thành Viên
Ta ̣i trang quản tri ̣, sử du ̣ng tab: Site/ User Manager
Thêm thành viên: chọn New User
Name: Tên thành viên
UserName: Tên sử du ̣ng khi đăng nhâ ̣p website
Email: Email thành viên
New Password: nhâ ̣p mâ ̣t khẩu thành viên
Verify Password: nhâ ̣p la ̣i mâ ̣t khẩu
Group: Ta ̣o quyền quản tri ̣ của thành viên
Public Front-end: Thành viên có quyền đăng nhâ ̣p website
Public Back-End: Thành viên có quyền đăng nhâ ̣p quản tri ̣ website
Xóa thành viên: Tick vào tên thành viên và nhấn Trash
Ha ̣n chế thành viên: Cho ̣n thành viên và đổi group (nhóm làm việc) phù hợp Kết quả thu được: danh sách thành viên và nhóm làm việc của website:
Trang 23CHƯƠNG 3 THIẾT KẾ CÁC THÀNH PHẦN CHÍNH
CHO WEBSITE3.1.Cài Đặt Template
3.1.1 Giới thiệu về template
Template là một bản mẫu khung sẵn trong đó cho phép người dùng đặtcác vị trí module và component đã được định vị trước
3.1.2 Cài đặt template cho Joomla!
Tuỳ thuộc vào nhu cầu và ý muốn mà chúng ta chọn cho mình những
template hợp lý Sau khi tải về máy, mở trang quản trị, chọn menu Extensions, Install/Uninstall chọn đường dẫn đến templates, nhấn Upload File & Install
để cài đặt
Tiếp theo vào Extensions\Template Manager Di chuyển chuô ̣t đến template
để xem mẫu, chọn Template cho website bằng cách tick vào temp vừa cài đặt
chọn Defaut.
Trang 24Kết quả thu được:
Trang 253.2.Phân Loại Tin Tức
Với mục đích xây dựng một website giới thiệu, không chỉ cần nội dungbài viết phải có chất lượng và chọn lọc kĩ càng, việc bố cục và sắp xếp bài viếtcũng rất quan trọng, với những website vừa và nhỏ, việc phân vùng, chủng loạitài liệu, bài viết được thực hiện đơn giản hơn
3.2.1 Tạo Section
Section dùng để phân vùng tin tức
Mở menu Content/Section Manager
Section Title: dùng để hiển thị ở Back-End
Section Name: hiển thị ở Front-End
Nhấn Apply và Save để kết thúc.
3.2.2 Tạo Category
Catelogy dùng để phân loại tin tức
Mở menu Content/Catelogy Manager
Catelogy Title: dùng để hiển thị ở Back-End
Catelogy Name: hiển thị ở Front-End
Select Section: Chọn vùng tin tức đã tạo (Section)
Nhấn Apply và Save để kết thúc.
Trang 263.3.Tạo Menu Cho Website
a Tạo Menu
Mở menu Menus/Main menu/New:
Select Menu Item Type: Chọn Internal Link\Articles\Category Blog
Layout