Theo thống kê sơ bộhiện nay ở Việt Nam, 97% phần mềm sử dụng không có bản quyền, nếu mua phải bỏ ra trên 200 triệu USD, đây là vấn đề rất bức xúc của Chính phủ cũng nh các tổchức CNTT ở
Trang 1Lời cảm ơn
Đồ ỏn “Tỡm hiểu CMS Joomla , Ứng dụng xây dựng Website Thương mại
diện tử ” thực hiện trong kỳ bảo vệ đồ ỏn là đề tài mà em rất quan tâm vì trong xó
hội phỏt triển ngày nay việc buụn bỏn qua mạng đó trở thành vấn đề phổ
biến.Qua mạng mọi người cú thể trao đổi, quảng bỏ cỏc phẩm của mỡnh, giỳp tiết kiệm thời gian, chi phí, khụng giới hạn về khoảng cỏch địa lý, đưa mọi người
xớch lại gần nhau hơn Tuy đã rất cố gắng trong việc tìm hiểu, nghiên cứu, phân
tích và thiết kế trang web nhng chắc chắn sẽ không tránh khỏi những thiếu sót Rất mong nhận đợc sự đóng góp ý kiến của các thầy cô giáo và các bạn để
Website ngày càng hoàn thiện hơn
Em xin chõn thành cảm ơn Ban chủ nhiệm khoa CNTT cựng cỏc thầy cụ trong bộ mụn Kỹ thuật mỏy tớnh đã tạo cho em những điều kiện thuận lợi nhất để
em có thể hoàn thành đồ ỏn tốt nghiệp của mình Đặc biệt là sự tận tình quan tâm
dìu dắt của Thầy giỏo - ThS Vũ Văn Nam đó giúp em rất nhiều trong suốt quỏ
trỡnh làm đồ ỏn
Cuối cùng em xin cảm ơn gia đình, bạn bè và tập thể lớp 46K3- CNTT - 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
Em xin chân thành cảm ơn!
Sinh viên thực hiện :
Nguyễn Quang Vinh
Trang 2Lời nói đầuNgày nay, khái niệm phần mềm mã nguồn mở đã không còn xa lạ với nhiềungời và đợc ứng dụng ngày càng rộng rãi trong các tổ chức và doanh nghiệp Đợc
đánh giá là một phơng tiện hữu hiệu để san sẻ sự thịnh vợng của thế giới côngnghiệp hoá hiện đại hoá sang các nớc đang phát triển, sự ra đời của phần mềmnguồn mở thực sự là một cuộc cách mạng của công nghiệp phần mềm
Gia nhập vào WTO, Việt Nam tiến thêm một bớc nữa trên con đờng hội nhậpthế giới và vấn đề bản quyền ngày càng đợc siết chặt hơn Theo thống kê sơ bộhiện nay ở Việt Nam, 97% phần mềm sử dụng không có bản quyền, nếu mua phải
bỏ ra trên 200 triệu USD, đây là vấn đề rất bức xúc của Chính phủ cũng nh các tổchức CNTT ở Việt Nam
ứng dụng phần mềm mã nguồn mở Joomla trong thiết kế Website đang đợc
sử dụng phổ biến trên thế giới cũng nh ở Việt Nam Vì vậy đồ ỏn tốt nghiệp này
em muốn giới thiệu tới thầy cô và các bạn phần mềm mã nguồn mở này Đồng
thời áp dụng để xây dựng website thương mại điện tử minh họa cho những tính
năng nổi bật của phần mềm mã nguồn mở Joomla
Đồ ỏn đợc chia làm 4 nội dung chính:
Phần I: Tổng quan về phần mềm nguồn mở
Phần II: Giới thiệu về gói mã nguồn mở Joomla
Phần III: Thiết kế và xây dựng website thương mại điện tử
Phần IV: Một số màn hình giao diện chính của website
Phần V : Đỏnh giỏ và hướng phỏt triển
Trang 3Phần I: Tổng quan về phần mềm nguồn mở
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ểnqua 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ìnhthà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 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áy
tí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
1970-1980: Donal Knuth phát triển hệ xử lý văn bản nguồn mở Tex.
1983: Richard Stallman đa ra GNU (GNU is Not Unix): Các phần mềm
đợc hàng triệu ngời sử dụng (hệ điều hành, hệ soạn thảo văn bản…) là tài sản văn) là tài sản vănhoá chung của nhân loại, cần đợc công khai mã nguồn miễn phí và xem nh phầnmềm nguồn mở Công lao chính của ông là tạo ra giấy phép nguồn mở GNU- viếttắt là GPL, chủ yếu là nhằm bảo vệ quyền cho phép bất kỳ ai cũng có thể sử dụng,sửa đổi và phân phối lại mã nguồn của chơng trình gốc và các chơng trình dẫnxuất
1984: Dự án GNU và tổ chức phần mềm tự do FSF đã thực hiện một loạt
chơng trình PMNM Thông qua dự án GNU của FSF, những công cụ lập trình nhEmacs, GCC, GNU C++, GNU Ada, GNU Pascal, G77, F2C và nhiều phần mềmkhác đã gặt hái thành công Chính đề án GNU và giấy phép mã nguồn mở GPL lànền tảng then chốt cho sự phát triển của thế giới mã nguồn mở trong đó có Linux
1985: MIT công bố mã nguồn mở X-Window (hệ thống giao diện cho
các HDH dòng UNIX) nh là thành quả của dự án phát triển phần mềm dùng cho
đào tạo
Trang 4 1991: Linus Torvalds viết phần nhân của hệ điều hành Linux và công
khai mã nguồn trên Internet Nó có thể hoạt động trên điện thoại di động cũng
nh những máy tính phức tạp Và phát minh của Torvalds có thể download miễnphí Từ đó bắt đầu một phong trào rầm rộ các tình nguyện viên phát triển Linux
1995: PMNM Apache Web Server 1.0 đợc công bố và đã đợc nhiều ngời
dùng làm Web Server và tiếp tục phát triển mạnh mẽ cho đến hiện nay
1997: Eric Raymond viết “The Cathedral and the Bazaar” đúc kết những
thành công trong dự án phần mềm nguồn mở Fetchmail
1998: The Open Source Initiative – một tổ chức xúc tiến phần mềm
nguồn mở miễn phí đợc thành lập bởi 2 nhà lập trình Eric Raymond và BrucePerens Hai ông cho rằng, từ miễn phí nên thay bằng mở để tránh sự nhầm lẫn Vìvậy, bằng cách đặt lại tên từ miễn phí thành phần mềm mở, Bruce Perens và đồngnghiệ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ềm nguồn mở đã phát triển
mạnh mẽ ở nhiều nớc với việc đề cao Linux
Trang 5 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,…) là tài sản văn
Mô phỏng Windows: Conntectix Virtual PC, Lindows, Wine,…) là tài sản văn
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,…) là tài sản văn
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)
Trang 6 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
Web Portal: Borland Jbuilder, IBM WebSphere Studio ApplicationDeveloper, Sun J2EE
Windows: Microsoft Visual Studio.Net
Soạn trang Web: Webalizel
Phát triển ứng dụng điểm - điểm: Sun JXTA
Chuyển đổi: Sun LinCat (Linux Compatibility Assurance Toollkit
2 Hệ phần mềm mở Apache, PHP & MySQL
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ởduy nhấ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ộ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 đếntháng 01/2007 thì Apache chiếm đến 60% thị trờng các chơng trình phân phốitrang web
Apache đợc phát triển và duy trì bởi một cộng đồng mã nguồn mở dới sự bảotrợ của Apache Software Foundation Apache đợc phát hành là một phần mềm tự
2.2 PHP (Personal Home Page)
Trang 7PHP đợ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ảnPerl để 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 đếncá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 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ụngweb đơn giản ông đã quyết định công bố mã nguồn của PHP/FI cho mọi ngờixem, 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
PHP 2
Năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút đợchàng ngàn ngời sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã đợc ghinhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet Tuy
đã có tới hàng nghìn ngời tham gia đóng góp vào việc tu chỉnh mã nguồn của dự
án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một ngời
PHP/FI 2.0 đợc chính thức công bố vào 11/1997, sau một thời gian dài chỉ
đ-ợc công bố dới dạng các bản beta Nhng không lâu đã đđ-ợc thay thế bởi các bảnalpha đầu tiên của PHP 3.0
PHP 3
PHP 3.0 là phiên bản đầu tiên cho thấy một hình ảnh gần gũi với các phiênbản PHP mà chúng ta đợc biết ngày nay Nó đã đợc Andi Gutmans và ZeevSuraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trớc đó Ngoàikhả năng cung cấp cho ngời dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiềucơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của PHP 3.0 đãthu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới Cáctính năng khác đợc giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hớng đối tợng
và nhiều cú pháp ngôn ngữ nhất quán khác PHP 3.0 đã chính thức đợc công bốvào tháng 6/1998
PHP 4
Năm 1998, sau khi PHP 3.0 chính thức đợc công bố, Andi Gutmans và Zeev
Trang 8cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đun của cơ sở mãPHP Những ứng dụng nh vậy đã chạy đợc trên PHP 3.0 dựa trên các tính năngmới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API.
Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàngtriệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạngInternet
PHP 5
Cộng đồng PHP đã nhận ra những yếu kém của PHP 4 là khả năng hỗ trợ lậptrình hớng đối tợng, xử lý XML, không hỗ trợ giao thức máy khách mới củaMySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu Ngày 29/06/2003, PHP 5 Beta 1 đãchính thức đợc công bố để cộng đồng kiểm nghiệm Phiên bản Beta 2 sau đó đã ramắt vào tháng 10/2003
Đến ngày 21/12/2003 PHP 5 Beta 3 đã đợc công bố, bỏ hỗ trợ Windows 95,khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm đợcnhiều hàm mới Ngày 13/07/2004 bản PHP 5 chính thức đã ra mắt
PHP 6
Hiện nay phiên bản tiếp theo của PHP đang đợc phát triển, PHP 6 bản sử
dụng thử đợc download tại địa chỉ http://snaps.php.net Phiên bản PHP 6 đợc kỳ
vọng sẽ sửa đợc những thiếu sót của PHP ở phiên bản hiện tại nh hỗ trợnamespace, Unicode; sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữliệu,…) là tài sản văn
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,…) là tài sản văn
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 flat formnh: 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ệulên đến hàng terabytes thông tin Sự linh hoạt về flat form 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ợ
Trang 9Và 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.
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ăngchuyê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 lu trữ dữ liệu mà MySQL tăng cờng đến hàng terabyte chocác server đơ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 Trongviệ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.Tiện ích backup và recovery cung cấp bởi MySQL và các hãng phần mềm chophép backup logic 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 đó
3 APPSEVER 2.5.9
3.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 ảo trờn
Trang 10ngay 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ấtnhẹ, phù hợp với các máy cấu hình trung bình, tương thích cao và đầy đủ chứcnăng để chạy PHP
Tải chương trình này tại trang chủ: www.appservnetwork.com
3.2 Cài đặt Appsever để tạo localhost
a Các bước cài đặt
Bước 1: Chạ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, chọn I argee Nhấn NEXT
Bước 4: Chọn đường dẫn cài đặt (mặc định là C:\AppSev) Nhấn NEXT
Bước 5: Chọ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
Email: Email quản trị 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
Bước 9: Hoàn tất cài đặt.
Chọn Start Apache và Start MySQL để chương trình khởi động
Nhấn FINISH
Với cài đặt mặc định:
C:\AppServ\www là địa chỉ webroot, nơi copy các file php vào đây
Trang 11C:\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.
b Kiểm tra
Mở trình duyệt web, gõ địa chỉ: "http://localhost/ "(hoặc "http://127.0.0.1")Trình duyệt sẽ hiện ra như sau:
H×nh1:H×nh ¶nh khi cµi thµnh c«ng Appserver
Để xem đầy đủ thông tin về sever vừa cài đặt, ta có thể truy cập trang
"http://localhost/phpinfo.php"
Kết quả:
Trang 12H×nh 2: H×nh ¶nh khi ®¨ng nhËp trang phpinfor.php
Để đăng nhập cơ sở dữ liệu, vào trình duyệt "localhost/phpmyadmin" Hộp thoạixuất hiện yêu cầu nhập User Name và Password (User Name và Password nhậpkhi cài đặt Appsever, mặc định User Name là root) Kết quả:
Trang 13Hình 3: Hình ảnh khi đăng nhập trang phpmyadmin
Phần II: Giới thiệu về gói mã nguồn mở
+ Bộ đệm trang (Page caching) để tăng tốc độ hiển thị
+ Lập chỉ mục, đọc tin RSS (RSS feeds), trang dùng để in
+ Bản tin nhanh, blog, diễn đàn, bình chọn, lịch biểu
+ Tìm kiếm trong site và hỗ trợ đa ngôn ngữ
Trang 14Joomla đợc sử dụng ở khắp mọi nơi trên thế giới, từ những website cá nhânhay những hệ thống website doanh nghiệp phức tạp, cung cấp nhiều dịch vụ vàứng dụng Joomla có mã nguồn mở vì vậy việc sử dụng Joomla là miễn phí
Joomla là sản phẩm cùng dòng với Mambo, tập đoàn Miro của úc đã pháttriển Mambo theo dạng ứng dụng mã nguồn đóng Đến tháng 04/2001, công ty đãthông qua một chính sách bản quyền kép, nghĩa là phát hành Mambo theo cả giấyphép GPL Năm 2003 đã xảy ra tranh chấp về mặt pháp lý dẫn đến việc Mambocần phải đợc bảo vệ bởi một tổ chức phi lợi nhuận Ngày 17/08/2005, toàn bộ độiphát triển nòng cốt của Mambo đã rời khỏi dự án trong khi đang làm việc vớiphiên bản 4.5.3 Nhờ sự trợ giúp của Trung tâm Luật Tự do Phần mềm (SoftwareFreedom Law Center - SFLC), 20 thành viên nòng cốt của Mambo đã thành lậpmột tổ chức phi lợi nhuận khác lấy tên là Open Source Matters, để hỗ trợ về mặt
tổ chức, pháp lý và kinh phí cho dự án mã nguồn mở còn cha đợc đặt tên của cảnhóm Cùng lúc đó, nhóm phát triển cũng lập một website lấy tênOpenSourceMatters để phân phối thông tin tới những ngời sử dụng, những ngờiphát triển, thiết kế và cộng đồng Joomla nói chung Đến ngày 16/09/2005 phiênbản Joomla 1.0 đầu tiên ra đời
Trang 15
Hình 4 : Trang chủ mặc định sau khi cài đặt Joomla 1.0
b) Kiến trúc tầng hệ thống
Joomla gồm có 3 tầng hệ thống:
- Tầng dới cùng là mức nền tảng, chứa các th viện và các Plugin.
- Tầng thứ hai là mức ứng dụng và chứa lớp JApplication.
- Tầng thứ ba gồm 3 lớp con: JInstallation, JAdministrator và JSite.
Tầng này là mức mở rộng Tại đây có các thành phần (component), mô đun (module) và giao diện (template) đợc thực thi và thể hiện.
Trang 16Hình 5: Kiến trúc tầng hệ thống
c) Đặc điểm của Joomla
Joomla giúp mọi ngời có thể phát triển việc kinh doanh, học tập, giảng dạy,giới thiệu, quảng bá hình ảnh, dịch vụ, sản phẩm của công ty với chất l ợng tốt vàchi phí rất thấp Tại Việt Nam tính đến tháng 03/2009, có gần 50 ngàn ngời biết
đến Joomla nói riêng, mã nguồn mở nói chung Vì Joomla đáp ứng đợc mô tả về
7 đặc tính của Web 2.0:
- Web có vai trò nền tảng, có thể chạy mọi ứng dụng
- Tập hợp trí tuệ cộng đồng
- Dữ liệu có vai trò then chốt
- Phần mềm đợc cung cấp ở dạng dịch vụ web và đợc cập nhật không ngừng
- Phát triển ứng dụng dễ dàng và nhanh chóng
- Phần mềm có thể chạy trên nhiều thiết bị
- Giao diện ứng dụng phong phú
2 Các dòng phiên bản của Joomla
* Joomla 1.0.x
+ Phiên bản phát hành đầu tiên vào ngày 15/09/2005: Joomla 1.0.0
+ Phiên bản phát hành mới nhất vào ngày 22/02/2008: Joomla 1.0.15
Phiên bản Joomla 1.0.0 có nguồn gốc từ Mambo 4.5.2.3 Các phiên bản tiếptheo có dạng 1.0.x Điểm mạnh của Joomla 1.0.x: có một số lợng lớn các thành
phần mở rộng (module/component), thành phần nhúng (mambot) và giao diện (template).
* Joomla 1.5.x
+ Các phiên bản cũ: Joomla 1.5 beta, Joomla 1.5 RC1, Joomla 1.5 RC2,Joomla 1.5 RC3, Joomla 1.5 RC4
Trang 17+ Phiên bản phát hành mới nhất: Joomla 1.5.7 (ngày 07/09/2008)
Phiên bản Joomla 1.5 là phiên bản cải tiến từ Joomla 1.0.x Joomla 1.5 vẫnduy trì một giao diện đơn giản và dễ sử dụng
Cả Joomla 1.5 và Mambo 4.6 đều hỗ trợ đa ngôn ngữ Joomla thì sử dụngfile định dạng ".ini" để lu các thông tin chuyển đổi ngôn ngữ, còn Mambo thì sửdụng file định dạng ".gettext" Joomla 1.5 hỗ trợ tất cả các ngôn ngữ có tập ký tự
đợc biểu diễn bằng bảng mã UTF-8
Joomla 1.5 cũng bao gồm các đặc tính mới nh các mô hình chứng thực(LDAP, Gmail ), hỗ trợ mô hình khách-chủ, các trình điều khiển cơ sở dữ liệudành cho MySQL 4.1+ (trên nền PHP 5) và tăng cờng hỗ trợ cho MySQL 5 cũng
nh hỗ trợ các loại cơ sở dữ liệu khác
Điểm mạnh của Joomla 1.5: phần quản trị website có sử dụng công nghệWeb 2.0 Đây là một số tính năng đợc cải tiến hơn so với Joomla 1.0
3 Các khái niệm cơ bản
3.1 Front-end, Back-end, Template
- Front-end (hay còn gọi Public Front-end): phần giao diện phía ngoài, nơi
tiếp xúc với ngời sử dụng Front-end chứa trang FrontPage hay còn gọi là trangchủ
- Back-end (hay còn gọi Public Back-end, Administrator, Control Panel):
phần dành cho ngời quản trị Những ngời không đợc cấp tài khoản sẽ không biết
đờng dẫn để truy cập
- Template: là giao diện, khuôn dạng, kiểu mẫu, hình thức đợc thiết kế để
trình bày nội dung của trang web và có các vị trí định sẵn để tích hợp các bộphận, thành phần của trang web Joomla cho phép cài đặt và thay đổi Templatecho website hay cho từng trang web khác nhau
3.2 Section, Category, Content
Trớc khi đi vào xây dựng một website bằng Joomla cần nắm rõ 3 khái niệmquan trọng : Section, Category và Content
* Section : là các mục, các lĩnh vực, các dòng sản phẩm, dịch vụ mà
website muốn đề cập tới
Ví dụ: website có các Section nh: "Giới thiệu", "Tin tức - Sự kiện", "Tin khoa
học", “ Gơng mặt nhà Khoa hoc”,
* Category : là các chuyên mục, loại sản phẩm, loại dịch vụ đợc đề cập
một cách cụ thể hơn, chi tiết hơn
Trang 18Ví dụ: trong Section "Giới thiệu" có các Category : "Giới thiệu chung", "Sơ
đồ tổ chức", "Hội thành viên", “Điều lệ”,
* Content : là toàn bộ nội dung của một bài viết và gồm 2 phần:
- Phần giới thiệu (Intro Text) : phần này nêu ngắn gọn, tóm tắt hoặc là ý mở
đầu cho toàn bộ bài viết
- Phần chi tiết (Description Text) : phần còn lại của bài viết
3.3 Các thành phần mở rộng
* Module: là một trong 3 thành phần mở rộng chính của Joomla, nó là một
đoạn mã nhỏ thờng đợc dùng để truy vấn các thông tin từ cơ sở dữ liệu và hiển thịcác kết quả tìm đợc Nó có thể đợc đa vào một vị trí bất kỳ trên template (vị tríleft, right, top, bottom )
Module có tên bắt đầu bằng mod_ Một số module thông dụng thờng đợcdùng nh:
- Lastest News (mod_latestnews): Module hiển thị các tin mới nhất
- Popular News (mod_mostreads): Module hiển thị các bài đợc quan tâm
nhiều nhất
- Related Items (mod_related_items): Module hiển thị các bài viết liên quan
- Random Image (mod_random_image): Module hiển thị các ảnh ngẫu
nhiên
- Search Module (mod_search): Module công cụ tìm kiếm.
- Login Module (mod_login): Module hiển thị form đăng nhập hệ thống.
- Stats Module (mod_stats): Module hiển thị các thông tin thống kê về hệ
thống
- Menu Module (mod_mainmenu): Module hiển thị các menu của website.
- Banners Module (mod_banners): Moudule hiển thị các banner quảng cáo.
* Component (Com): là thành phần chính của trang web, nó quyết định đến
chức năng, hình thức, nội dung chính của mỗi trang web Com có thể có thêmMod_ để hỗ trợ cho việc hiển thị các chức năng và nội dung của Com Com có thể
đợc cài đặt thêm vào website Sau khi cài đặt Joomla có sẵn các Component:
- Banners: quản lý các bảng quảng cáo.
- Contacts: quản lý việc liên hệ giữa ngời dùng với Ban quản trị website
- Search: quản lý việc tìm kiếm.
- News Feeds: quản lý các tin tức.
- Polls: quản lý việc bình chọn, ý kiến của ngời dùng.
- Web Links: quản lý các liên kết ngoài website.
Trang 19- Com: quản lý nội dung của trang website.
* Mambot (Plug-in): là các chức năng đợc bổ sung thêm cho Com, các
Mambot này sẽ can thiệp, bổ sung vào nội dung của trang web trớc hoặc sau khi
nó đợc hiển thị Mambot có thể đợc cài đặt thêm vào website Tất cả các thànhphần mở rộng đều đợc cài đặt thêm hoặc gỡ bỏ thông qua các Menu lệnh trongJoomla
4 Cài đặt Joomla
Đầu tiên 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
Các bớc thực hiện :
Tiến hành cài đặt
* Bớc 1: Download & Upload bộ cài đặt Joomla
+ Download Joomla 1.5 tại địa chỉ http://www.joomla.org/download.html
+ Upload Joomla : Upload lên Server và giải nén vào th mục gốc chứa web(hoặc một th mục con và đặt tên là Joomla) Th mục gốc chứa web có tên là:htdocs, public_html, www.root,
Ví dụ: C:\AppServ\www, C:\xampp\htdocs\
Hoặc tiến hành các bớc sau:
+ Copy trực tiếp (nếu cài trực tiếp trên máy)
+ Công cụ quản trị mà hosting cung cấp
+ Công cụ FTP: WS_FTP, Total Commander, Net2FTP
* Bớc 2: Chọn ngôn ngữ cài đặt
Mở trình duyệt và gõ vào địa chỉ website:
+ Nếu giải nén bộ cài đặt vào th mục gốc thì gõ: http://yoursite/
Ví dụ: http://localhost/
+ Nếu 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õ: http://yoursite/Joomla/
Ví dụ: http://localhost/Joomla/
Trang 20Màn hình cài đặt xuất hiện, chọn một ngôn ngữ trong quá trình đặt:
Hình 6: Lựa chọn ngôn ngữ trong quá trình cài đặt
Trang 21* Bíc 3: KiÓm tra cÊu h×nh hÖ thèng
Khi c¸c gi¸ trÞ kiÓm tra cã mµu xanh th× tiÕp tôc chän Next
H×nh 7 : KiÓm tra cÊu h×nh hÖ thèng
Trang 22* Bớc 4: Thông tin bản quyền
Chọn Next để thực hiện tiếp
Hình 8: Thông tin bản quyền
Trang 23* Bớc 5: Thiết lập các thông số để kết nối tới Cơ sở dữ liệu
- Hostname: Thờng là giá trị "localhost"
- User name: Tên tài khoản có quyền đối với cơ sở dữ liệu chứa Joomla
- Password: Mật khẩu của tài khoản trên
- Availbe Collations: Chọn là "utf8_general_ci"
- Database Name: Tên cơ sở dữ liệu
Hình 9: Thiết lập các thông số để kết nối tới CSDL
Trang 24+ Auto Find Path: Tự động tìm đờng dẫn tới nơi chứa web
* Bớc 7: Thiết lập cấu hình site Joomla
- Site name: tên site
Ví dụ: Đại học Vinh, Website thương mại điện tử
- Your Email: địa chỉ email
Ví dụ: aizapapa13@gmail.com
- Admin Password: Mật khẩu để quản trị Joomla
- Install Defaul Sample Data: Cài đặt dữ liệu mẫu Nên nhấn nút này đểJoomla tạo mẫu cho một trang web đơn giản
Hình 10: Thiết lập cấu hình cho Joomla
* Bớc 8: Kết thúc
- Tài khoản truy nhập hệ thống là: admin
- Mật khẩu: mật khẩu đã gõ ở Bớc 6
- Để xem website: Nhấn vào nút Site
Trang 25- §Ó qu¶n trÞ website: NhÊn vµo nót Admin.
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”);
PHẦN III: THIẾT KẾ VÀ XÂY DỰNG WEBSITE
THƯƠNG MẠI ĐIỆN TỬ
1.Vị trí và chức năng của trang website
Trang 26Tiến vào thế kỷ XXI, con người bước sang một kỷ nguyờn mới về cụngnghệ thụng tin.Xó hội ngày càng phỏt triển dõ̃n đến tư duy của con người ngàycàng được nõng lờn một tầm cao mới,cụng nghệ thụng tin cũng vậy.Cuộc sốnghiện tại ngày nay được vớ như cuộc sụng số,tin học được ứng dụng hầu như hoàntoàn cuộc sống xó hội Trong đú cú Website, nú là một cụng cụ tiện ớch giỳp cỏcdoanh nghiệp, cụng ty,cỏ nhõn cú thể quang bỏ hỡnh ảnh của mỡnh, sau đõychỳng tụi muốn giới thiệu một số chức năng cũng như vị trớ của trang Websitethương mại điện tử:
Khi vào trang web mọi người cú thể tỡm được thụng tin chi tiết về cỏc sảnphẩm như: giỏ cả,cấu hỡnh, của điện thoại di động, mỏy tớnh xỏch tay, cú thểtruy cập để xem hỡnh ảnh về sản phẩm, dowload tài liệu cần dựng
2 Yêu cầu xây dựng hệ thống
Để thực hiện tốt vai trò, chức năng và nhiệm vụ của mình thì trang webphải đưa ra thụng tin đầy đủ chi tiết về sản phẩm, cỏc mặt hàng cú mặt trongtrang web
Trang web phải đảm bảo một số yờu cầu cần thiết của người sử dụng như:Danh mục sản phẩm phải sắp xếp một cỏch tuần tự, rõ ràng, tỡm kiếm một cỏch
nhanh chúng Thư viện sản phẩm phải tương đối đầy đủ cỏc sản phẩm mới "ra
lũ" hiện nay: Iphone 3GS, Laptop chip core 5
Song bờn cạnh đú võ̃n cũn nhiều mặt hạn chế :
- Yêu cầu về mặt quảng bá thông tin các hoạt động còn cha đạt yêu cầu
- Danh sỏch cỏc sản phẩm võ̃n cũn hạn chế
3 Cấu trúc Website
* Module Tin đã đa
* Module Xem nhiều nhất
* Module Tìm kiếm
* Module Ja_slishow
* Module Giỏ hàng
* Module Tìm kiếm sản phẩm
Trang 27* Module Login form
* Module Top menu
- Tải gói Template tại địa chỉ: http://joomlaviet.org
- Mở trang quản trị bằng đờng dẫn http://nusta/administrator
- Mở menu Install/Uninstall
Trang 28- Nhấn vào Browse -> chỉ vào gói Template vừa download -> Upload File &Install
Hình 13 : Upload Template
- Mở menu Extensions -> Template Manager -> nhấn vào nút Default
Hình 14 : Chọn Template
4.2 Cài đặt gói ngôn ngữ Tiếng Việt
- Tải gói ngôn ngữ tại địa chỉ: http://joomlaviet.org
- Mở trang quản trị bằng đờng dẫn http://nusta/administrator
- Mở menu Install/Uninstall
- Nhấn vào Browse -> chỉ vào gói ngôn ngữ vừa download -> Upload File &Install
Trang 29Hình 15 : Upload gói ngôn ngữ
- Mở menu Extensions -> Language Manager -> nhấn vào nút Default
Hình 16: Thiết lập ngôn ngữ Tiếng Việt
4.3 Chỉnh sửa giao diện
Một trong những tính năng quan trọng của Joomla là cho phép thay đổi vị trícủa các module Mỗi template đều định nghĩa sẵn một số vị trí nhất định.Template mặc định của Joomla 1.5 có rất nhiều vùng module, mỗi vùng này đều
đợc gán 1 vị trí