Trờng đại học vinh Khoa công nghệ thông tin dụng mã nguồn mở Joomla Khóa luận Tốt nghiệp đại học Ngành cử nhân công nghệ thông tin VINH - 2009 Lời cảm ơn Đề tài “Xây dựng Website Liên
Trang 1Trờng đại học vinh Khoa công nghệ thông tin
dụng mã nguồn mở Joomla
Khóa luận Tốt nghiệp đại học
Ngành cử nhân công nghệ thông tin
VINH - 2009
Lời cảm ơn
Đề tài “Xây dựng Website Liên hiệp các hội Khoa học & Kỹ thuật Nghệ
An sử dụng mã nguồn mở Joomla” thực hiện trong kỳ bảo vệ luận văn là đề tài
mà em rất quan tâm vì website này sẽ đa vào sử dụng là trang web chính thứccủa Liên hiệp Hội Tuy đã rất cố gắng trong việc tìm hiểu, nghiên cứu, phântích và thiết kế trang web nhng chắc chắn sẽ không tránh khỏi những thiếusó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;nhất là ý kiến đóng góp từ Ban lãnh đạo và các Hội thành viên của Liên hiệp
Trang 2Qua đây, em xin đợc gửi lời cảm ơn chân thành nhất tới Ban lãnh đạoLiên hiệp các Hội Khoa học & Kỹ thuật Nghệ An, Ban chủ nhiệm khoa CNTTnói chung, Tổ Khoa học máy tính nói riêng đã tạo cho em những điều kiệnthuận lợi nhất để em có thể hoàn thành khoá luậ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 cô giáo- Tiến sĩ Phan Lê Na đã giúp
em rất nhiều trong suốt quá trình làm khoá luận này
Cuối cùng em xin cảm ơn gia đình, bạn bè và tập thể lớp 45E2 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 khoá luận
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Lê Thị Vân Anh
Trang 3Lời nói đầu
Ngày nay, khái niệm phần 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ớicông nghiệp hoá hiện đại hoá sang các nớc đang phát triển, sự ra đời của phầnmềm nguồ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ộinhập thế 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ếumua 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 khoá luận tốtnghiệ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ở Joomla Đồng thời áp dụng để xây dựng website Liên hiệp các hội Khoa
học & Kỹ thuật Nghệ An 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
Luận vă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 Liên hiệp các hội Khoa học & Kỹ
thuật Nghệ An
Phần IV: Một số màn hình giao diện chính của website
Trang 4Phầ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ì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 trongthự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áctrờ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 việ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ấ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
ý tởng về công khai mã nguồn đã xuất hiện ngay ở những ngày đầu
của nề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 hoá chung của nhân loại, cần đợc công khai mã nguồn miễn phí vàxem nh phần mềm nguồn mở Công lao chính của ông là tạo ra giấy phépnguồn mở GNU- viết tắ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ìnhgốc và các chơng trình dẫn xuấ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ậptrình nh Emacs, GCC, GNU C++, GNU Ada, GNU Pascal, G77, F2C vànhiều phần mềm khác đã gặt hái thành công Chính đề án GNU và giấy phépmã 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
Trang 5 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ùngcho đào tạo
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ể downloadmiễn phí Từ đó bắt đầu một phong trào rầm rộ các tình nguyện viên phát triểnLinux
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à đồng nghiệ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ạnhtranh, 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
Trang 6 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, MS IIS, Sun Iplanet
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)
Trang 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
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
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ủaNetscape Communications Corporation Từ đó, Apache đã không ngừng tiếntriể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ơngtrình máy chủ khác về mặt hiệu suất và tính năng phong phú Từ tháng04/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ứcnăng tơng tự Tính đến tháng 01/2007 thì Apache chiếm đến 60% thị trờngcác chơng trình phân phối trang 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ảo trợ của Apache Software Foundation Apache đợc phát hành là một phầnmềm tự do và miễn phí
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ụ đồ hoạ trực quan Apache chỉ làm việc tốt trên Unix, nhng cũng có nhữngphiên bản chạy tốt trên hệ Windows
Trang 8PHP đợc phát triển từ một sản phẩm có tên là PHP/FI do Rasmus Lerdorftạ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ịchbả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ênmạ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 Clớ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áttriển các ứng dụng web đơn giản ông đã quyết định công bố mã nguồn củaPHP/FI cho mọi ngời xem, sử dụng cũng nh sửa các lỗi có trong nó đồng thờicải tiến mã nguồn
PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồmmộ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, thông dịch tự động các biến của form và cú phápHTML nhúng Cú pháp này giống nh của Perl, mặc dù hạn chế hơn nhiều, đơngiản và có phần thiếu nhấ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
ợc hà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 ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạngInternet Tuy đã có tới hàng nghìn ngời tham gia đóng góp vào việc tu chỉnhmã 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ộtngời
PHP/FI 2.0 đợc chính thức công bố vào 11/1997, sau một thời gian dàichỉ đợc công bố dới dạng các bản beta Nhng không lâu đã đợc thay thế bởicác bản alpha đầ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ácphiên bản PHP mà chúng ta đợc biết ngày nay Nó đã đợc Andi Gutmans vàZeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trớc đó.Ngoài khả năng cung cấp cho ngời dùng cuối một cơ sở hạ tầng chặt chẽ dùngcho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộngcủ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ác tí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 PHP3.0 đã chính thức đợc công bố vào tháng 6/1998
PHP 4
Trang 9Năm 1998, sau khi PHP 3.0 chính thức đợc công bố, Andi Gutmans vàZeev Suraski đã bắt tay vào việc viết lại phần lõi của PHP Mục đích thiết kế
là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đuncủa cơ sở mã PHP Những ứng dụng nh vậy đã chạy đợc trên PHP 3.0 dựa trêncác tính năng mớ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àng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trênmạng Internet
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ập trình hớng đối tợng, xử lý XML, không hỗ trợ giao thức máy khách mớicủa MySQL 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
đó đã ra mắ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
đ-ợc nhiề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,…
2.3 MySQL
Cơ sở dữ liệu MySQL đã trở thành cơ sở dữ liệu mã nguồn mở phổ biếnnhấ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à kinhphí 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 của các ứngdụng xây dựng trên nền Linux, Apache, MySQL, PHP MySQL chạy trên hơn
20 flatform nh: Linux, Windows, OS/X, AIX, Netwar MySQL có những đặctính nh:
Trang 10Má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ínhlớ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ợ Và tính chất mã nguồn mở của MySQL cho phép sự tùy biến hoàntoàn theo ý muốn để thêm vào các yêu cầu thích hợp cho database server
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ìnhmáy chủ cơ sở dữ liệu MySQL đặc trng cho các ứng dụng đặc thù Dù ứngdụng là một hệ thống xử lý giao dịch tốc độ cao hay website dung lợng lớnphục vụ hàng triệu yêu cầu mỗi ngày, MySQL có thể đáp ứng khả năng xử lýcủa bất kì hệ thống nào Với các tiện ích tải tốc độ cao, bộ nhớ caches và cáccơ 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ạnhnhất Các đặc trng bao gồm hỗ trợ giao dịch ACID hoàn thiện, khóa mức dòngkhô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 toànvẹ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 giao dị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àngterabyte cho cá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ầnmềm cho phé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 XAMPP
Trang 113.1 Giới thiệu về XAMPP
Xampp là chơng trình tạo máy chủ web (webserver) trên máy tính cánhân (localhost) đợc tích hợp sẵn Apache, PHP, MySQL, FTP Server, MailServer và các công cụ nh PHPmyadmin Xampp đợc download và sử dụng
miễn phí tại: http://www.apachefriends.org/en/xampp-windows.html
Các thành phần trong XAMPP 1.6.6a gồm:
3.2 Cài đặt gói Xampp
• Chạy chơng trình cài đặt XAMPP Installer, khi xuất hiện bảng chọnngôn ngữ, chọn English và nhấn Ok
• Khi xuất hiện bảng Welcome to the Xampp Setup Wizard, nhấn Next
• Trong License Agrement chọn I accept the Agreement, nhấn Next
• Trong Select Destination Location, chọn nơi cài đặt Xampp Chọn ờng dẫn là C:\xampp, nhấn Next
Trang 12đ-Hình 1: Màn hình bớc đầu cài đặt Xampp
• Chọn Next để tiếp tục
Trang 13Hình 2: Các bớc tiếp theo của quá trình cài đặt Xampp
Trang 14Sau khi cài đặt thành công sẽ xuất hiện th mục xampp trong ổ đĩa C.
Hình 3: Th mục Xampp xuất hiện trong ổ C
Mở bảng điều khiển của chơng trình Xampp bằng cách nhấn đúp chuột vào Icon XAMPP Control Panel nằm trên Desktop
Trang 15Khi xuất hiện bảng Windows Security Alert thì chọn Unblock.
Hình 4: Màn hình Windows Security AlertTrong bảng điều khiển Xampp, chọn Start để khởi động Apache và MySQL Nhấn vào nút X (góc trên bên phải) để tắt bảng điều khiển hoặc nhấnchuột và biểu tợng của Xampp nằm ở khay hệ thống (góc dới bên phải màn hình)
Hình 5: Màn hình XAMPP Control Panel
Trang 16Th mục gốc chứa trang web là C:\www Copy các File trong th mục C:\xampp\htdocs vào th mục C:\www, sau đó mở chơng trình duyệt web (Internet
Explorer, Firefox ), trong ô địa chỉ nhập vào: http://localhost
3.3 Tạo cơ sở dữ liệu cho Website
Gõ địa chỉ http://localhost/xampp vào trình duyệt trên máy, sẽ xuất hiện
trang quản lý chính của Xampp
Hình 6: Màn hình trang quản lý của Xampp
Trang 17Vào mục phpMyAdmin phía bên menu trái hoặc gõ địa chỉ
http://localhost/phpmyadmin để vào tạo cơ sở dữ liệu cho Website.
Phần II: Giới thiệu về gói mã nguồn mở Joomla
1 Giới thiệu về Joomla
a) Khái niệm
Trang 18Joomla là một hệ quản trị nội dung mã nguồn mở Joomla đợc viết bằngngôn ngữ PHP và kết nối tới cơ sở dữ liệu MySQL, cho phép ngời sử dụngxuất bản các nội dung của ngời dùng lên Internet hoặc Intranet Joomla có các
đặc tính cơ bản:
+ 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ữ
Joomla đợc sử dụng ở khắp mọi nơi trên thế giới, từ những website cánhân hay 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ễnphí
Joomla là sản phẩm cùng dòng với Mambo, tập đoàn Miro của úc đãphát triể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ànhMambo theo cả giấy phép GPL Năm 2003 đã xảy ra tranh chấp về mặt pháp
lý dẫn đến việc Mambo cầ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ộ đội phát triển nòng cốt của Mambo đã rời khỏi dự
án trong khi đang làm việc với phiên bản 4.5.3 Nhờ sự trợ giúp của Trung tâmLuật Tự do Phần mềm (Software Freedom Law Center - SFLC), 20 thành viênnòng cốt của Mambo đã thành lập mộ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ự ánmã nguồn mở còn cha đợc đặt tên của cả nhóm Cùng lúc đó, nhóm phát triểncũng lập một website lấy tên OpenSourceMatters để phân phối thông tin tớinhững ngời sử dụng, những ngời phát triển, thiết kế và cộng đồng Joomla nóichung Đến ngày 16/09/2005 phiên bản Joomla 1.0 đầu tiên ra đời
Trang 19Hình 8 : 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 20Hình 9: 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ảngdạ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 50ngà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ôngngừ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.15Phiên bản Joomla 1.0.0 có nguồn gốc từ Mambo 4.5.2.3 Các phiên bảntiếp theo 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
Trang 21+ 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
+ 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.5vẫn duy 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ệu dà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àtrang chủ
- Back-end (hay còn gọi Public Back-end, Administrator, Control Pane):
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ôngbiết đờng dẫn để truy cập
- Template: là giao diện, khuông 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 đổiTemplate cho 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áiniệm quan 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”,
Trang 22* 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
Ví 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êntemplate (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
- 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ệ
* 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êm Mod_ để 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ácComponent:
Trang 23- 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.
- 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 saukhi nó đợc hiển thị Mambot có thể đợc cài đặt thêm vào website Tất cả cácthành phần mở rộng đều đợc cài đặt thêm hoặc gỡ bỏ thông qua các Menulệnh trong Joomla
4 Cài đặt Joomla
Đầu tiên download bộ cài đặt -> giải nén -> upload lên host -> tạodatabase và tiến hành cài đặt theo từng bớc Trớc khi cài đặt phải tạo 1database với Collation - charset: utf8_general_ci l nusta.à nusta
Các bớc thực hiện :
* Bớc 1: Download & Upload bộ cài đặt Joomla
+ Download Joomla 1.5 tại: 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 có tên là: htdocs
* Bớc 2: Chọn ngôn ngữ cài đặt
+ Mở trình duyệt và gõ vào địa chỉ website: http://localhost/nusta
+ Chọn một ngôn ngữ English
Trang 24Hình 10: Lựa chọn ngôn ngữ trong quá trình cài đặt
Trang 25* 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 11 : KiÓm tra cÊu h×nh hÖ thèng
Trang 26* Bớc 4: Thông tin bản quyền
Chọn Next để thực hiện tiếp
Hình 12: Thông tin bản quyền
Trang 27* Bớc 5: Thiết lập các thông số để kết nối tới Cơ sở dữ liệu
- Hostname: localhost
- User name: root
- Password: không cần tạo password cho mục này
- Availbe Collations: chọn là "utf8_general_ci"
- Database Name: nusta
Hình 13: Thiết lập các thông số để kết nối tới CSDL
Trang 28* Bớc 6: Thiết lập các thông số FTP
- Host không hỗ trợ mục này nên bỏ qua, chọn Next để tiếp tục
* Bớc 7: Thiết lập cấu hình site Joomla
- Site name: Liên hiệp các hội Khoa học & Kỹ thuật Nghệ An
- Your Email: vananh@gmail.com
Trang 29* Bớc 8: Kết thúc
- Tài khoản truy nhập hệ thống là: admin
- Mật khẩu: 123456
- Để xem website: Nhấn vào nút Site
- Để quản trị website: Nhấn vào nút Admin
- Đờng dẫn các có dạng: http://localhost/nusta/administrator
Hình 15: Kết thúc quá trình cài đặt
Trang 30Phần III: Thiết kế và xây dựng Website
Liên hiệp các hội Khoa học và Kỹ thuật Nghệ An
1 Giới thiệu về Liên hiệp các hội Khoa học và Kỹ thuật Nghệ An 1.1 Vị trí chức năng của Liên hiệp hội
Liên hiệp các Hội Khoa học và Kỹ thuật Nghệ An (gọi tắt: Liên hiệpHội) Tên bằng tiếng Anh: Nghe An Union of Sciene and TechnologyAssociations (gọi tắt là NUSTA) đợc thành lập theo quyết định số34/2005/QĐ-UB ngày 11/3/2005 của UBND tỉnh Nghệ An
Liên hiệp Hội là thành viên của Mặt trận Tổ quốc Việt Nam tỉnh Nghệ
An và là thành viên của Liên hiệp các Hội KH&KT Việt Nam
Liên hiệp Hội hoạt động theo Điều lệ do Đại hội đại biểu thông qua và
đ-ợc UBND tỉnh phê duyệt; Tuân thủ pháp luật của Nhà nớc Cộng hòa xã hộichủ nghĩa Việt Nam
Liên hiệp các hội Khoa học và Kỹ thuật Nghệ An (NUSTA) có 21 hộithành viên và 6 Trung tâm; NUSTA có hơn 50 ngàn hội viên
Liên hiệp Hội hoạt động trên phạm vi toàn Tỉnh Nghệ An, có trụ sở tại số
154 Đinh Công Tráng - TP Vinh
Liên hiệp Hội có t cách pháp nhân và biên chế độc lập, có con dấu, có tàisản và tài chính riêng, có tài khoản tiền Việt Nam và ngoại tệ theo quy địnhcủa pháp luật; tài sản và tài chính của Liên hiệp Hội đợc quản lý và sử dụngtuân thủ các chế độ quản lý hiện hành của Nhà nớc
Liên hiệp các Hội Khoa học và Kỹ thuật Nghệ An là tổ chức chính trị xãhội tự nguyện của trí thức khoa học và công nghệ nhằm: Phát huy trí tuệ tiềmnăng và đội ngũ trí thức phục vụ sự nghiệp công nghiệp hóa, hiện đại hóa quêhơng đất nớc, xây dựng và bảo vệ Tổ quốc góp phần thực hiện mục tiêu dângiàu nớc mạnh, xã hội công bằng, dân chủ, văn minh
Trang 31* Chức năng:
- Tập hợp và đoàn kết đội ngũ trí thức khoa học và công nghệ thuộc mọithành phần kinh tế và lĩnh vực hoạt động xã hội trong tỉnh
- Làm đầu mối giữa các hội thành viên với các cơ quan của Đảng, Nhà
n-ớc, Mặt trận Tổ quốc và các tổ chức khác nhằm giải quyết những vấn đềchung trong hoạt động Hội
- Đại diện, bảo vệ, quyền và lợi ích hợp pháp của các Hội thành viên, củatrí thức khoa học và công nghệ Nghệ An
1.2 Nhiệm vụ
Liên hiệp các hội Khoa học và Kỹ thuật Nghệ An có các nhiệm vụ sau:
1 Liên hiệp Hội tạo điều kiện thuận lợi cho các Hội thành viên và độingũ trí thức khoa học và công nghệ phát huy tiềm năng trí tuệ phục vụ cho sựnghiệp công nghiệp hóa, hiện đại hóa đất nớc :
- Đẩy mạnh hoạt động t vấn, phản biện và giám định xã hội, nhằm gópphần xây dựng cơ sở khoa học cho việc hoạch định các chủ trơng, chính sách,pháp luật, các chơng trình, kế hoạch của Đảng và Nhà nớc về phát triển kinh
tế - xã hội, khoa học và công nghệ, giáo dục và đào tạo, bảo vệ môi tr ờng,tăng cờng củng cố an ninh - quốc phòng tiến tới giám sát độc lập đối với các
đề án,dự án công trình lớn
- Phổ biến kiến thức khoa học và công nghệ; tổ chức và hớng dẫn phongtrào tham gia nghiên cứu khoa học, phát triển công nghệ; chuyển giao tiến bộkhoa học - công nghệ vào sản xuất và đời sống, bảo vệ môi trờng
- Tích cực góp phần xã hội hóa công tác giáo dục và đào tạo, nâng caodân trí, đào tạo nhân lực, bồi dỡng nhân tài
- Tham gia phát triển cộng đồng, xóa đói giảm nghèo, chăm sóc sức khỏenhân dân
2 Liên hiệp Hội xây dựng, phát triển và nâng cao hiệu quả hoạt động của
hệ thống tổ chức với các hình thức phù hợp với điều kiện phát triển kinh tế xã hội của từng ngành và từng địa phơng
-Củng cố, phát triển tổ chức và đẩy mạnh hoạt động của các Hội thànhviên, trớc hết là ở những lĩnh vực khoa học và công nghệ quan trọng đối với sựnghiệp công nghiệp hóa, hiện đại hóa đất nớc, các tổ chức nghiên cứu triểnkhai, giáo dục đào tạo, t vấn phát triển cộng đồng
3 Liên hiệp Hội góp phần tăng cờng công tác giáo dục phẩm chất đạo
Trang 32- Giáo dục truyền thống yêu nớc, lòng tự hào dân tộc, ý thức trách nhiệmcông dân, tinh thần hợp tác, tính cộng đồng, tính trung thực và đạo đức nghềnghiệp
- Tuyên truyền phổ biến rộng rãi đờng lối, chủ trơng, chính sách và phápluật của Đảng và Nhà nớc đối với đội ngũ trí thức khoa học và công nghệ
- Bảo vệ quyền và lợi ích hợp pháp của đội ngũ trí thức trong hoạt độngkhoa học và công nghệ; Tạo điều kiện thuận lợi để nâng cao trình độ nghềnghiệp, đời sống tinh thần và vật chất của những ngời làm công tác khoa học
- Chủ động phối hợp với các sở, ban, ngành, các tổ chức chính trị xã hội
và các tổ chức khác trong việc thực hiện các nhiệm vụ chung nhằm góp phầnxây dựng quê hơng giàu mạnh
5 Liên hiệp Hội thực hiện vai trò thành viên của Mặt trận Tổ quốc ViệtNam tỉnh Nghệ An, phối hợp với các tổ chức, đoàn thể khác để:
- Góp phần xây dựng khối đại đoàn kết toàn dân tộc, phát huy sức mạnhtổng hợp vì mục tiêu dân giàu, nớc mạnh, xã hội công bằng, dân chủ, vănminh
- Góp phần phát huy truyền thống văn hóa tốt đẹp của con ngời xứ Nghệ,tiếp thu tinh hoa văn hóa của dân tộc và của nhân loại
6 Liên hiệp Hội tăng cờng hợp tác về KH-CN với các Hội trong Liênhiệp các Hội KH&KT Việt Nam, các tổ chức phi chính phủ của các nớc
1.3 Sơ đồ tổ chức của Liên hiệp hội
Trang 33Hình 16: Sơ đồ tổ chức của Liên hiệp hội
Trang 342 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ì việc liênkết, trao đổi tài liệu, thông tin giữa Liên hiệp Hội với các cơ quan cấp trên nhLiên hiệp các Hội Khoa học và Kỹ thuật Việt Nam, Tỉnh ủy, UBND tỉnh Nghệ
An, các sở, ban ngành chức năng trong tỉnh và đặc biệt là với các Hội thànhviên là việc làm hết sức quan trọng Nhng hiện nay, văn phòng Liên hiệp Hộivẫn đang thực hiện việc thông báo, thông tin các hoạt động, dự án thông qua
đờng công văn thông thờng, việc thực hiện theo cách này còn gặp một số tồntại sau :
- Tốn kém chi phí in ấn giấy tờ, tài liệu, thông báo
- Mất thời gian trong quá trình gửi tài liệu, thông báo qua đờng bu điện
- Thông tin về các hoạt động, dự án của Liên hiệp Hội có những lúckhông đợc đa đến các Hội thành viên một cách kịp thời, nhanh chóng, chínhxác
- Thông tin hoạt động của các Hội thành viên báo cáo lên Liên hiệp Hộicòn có tình trạng thiếu thông tin, cha đầy đủ và kịp thời…dẫn đến tình trạngLiên hiệp Hội nhiều lúc không thể nắm đầy đủ thông tin về các Hội thànhviên
- Yêu cầu về mặt quảng bá thông tin các hoạt động của Liên hiệp Hội còncha đạt yêu cầu
Sau một thời gian nghiên cứu, tìm hiểu, đợc sự giúp đỡ của các đồng chílãnh đạo Hội và để giải quyết vấn đề trên, tôi đã và đang xây dựng mộtwebsite riêng của Liên hiệp các Hội Khoa học và Kỹ thuật Nghệ An Website
sẽ là nơi giới thiệu, thông báo các dự án, cập nhật tin tức về các hoạt động củaLiên hiệp Hội
Trang 35Tin Liªn hiÖp Héi Tin trong TØnh Tin trong n íc Tin thÕ giíi
Download
ChiÕn l îc – chÝnh s¸ch
Kü thuËt vµ C«ng nghÖ N«ng, L©m, Ng nghiÖp
Y – D îc – Søc kháe
Nhµ KH&CN NghÖ An Nhµ KH&CN ViÖt Nam Nhµ KH&CN ThÕ giíi
Th«ng t liªn tÞch Tµi liÖu
Trang 36 Module NUSTA Menu A Menu Menu
* Giíi thiÖu
o Giíi thiÖu chung
o C¬ quan Liªn hiÖp héi
* Danh b¹ cña Nusta
Module Liªn kÕt Website
Ngêi xem th«ng tin cã thÓ t×m c¸c bµi viÕt/¶nh trªn trang web
Module Tin míi
LiÖt kª c¸c tin míi nhÊt