Tải bản đầy đủ (.pdf) (63 trang)

Xây dựng website trung tâm môi trường và phát triển nghệ an dựa trên mã nguồn mở joomla

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.26 MB, 63 trang )

Tr-ờng đại học vinh
Khoa công nghệ thông tin
===== =====

Hồ Công tân

xây dựng website trung tâm
môI tr-ờng và phát triển nghệ
an dựa trên mà nguồn mở
joomla

Đồ án Tốt nghiệp đại học
Ngành kü s- c«ng nghƯ th«ng tin

VINH - 2009

1

Trang


Tr-ờng đại học vinh
Khoa công nghệ thông tin
===== =====

Hồ Công tân

xây dựng website trung tâm
môI tr-ờng và phát triển
nghệ an dựa trên mà nguồn
mở joomla



Đồ án Tốt nghiệp đại học
Ngành kỹ s- công nghệ thông tin

Cán bộ h-ớng dẫn: Ths. Trần Văn Cảnh
Sinh viên thực hiện: Hồ Công Tân
Lớp 45K - C«ng nghƯ th«ng tin

VINH - 2009

2


Mục lục
Lời cảm ơn....

1

Lời nói đầu....

2

Chương 1: Phần mềm mà nguồn mở..

3

1.1. Giới thiệu phần mềm nguồn mở trên thế giới

3


1.2. Apache...

6

1.3. PHP (Personal Home Page)....

7

1.4. MySQL...

8

1.5. Xampp....

12

1.5.1. Cài đặt website..

12

1.5.2. Cài đặt công cụ XAMPP

12

Ch-ơng 2: Giới thiệu về gãi m· ngn më Joomla…………..………

17

2.1. Giíi thiƯu vỊ Joomla…………………………………….……….


17

2.2. C¸c dòng phiên bản.........................................................................

19

2.3. Các khái niệm cơ bản......................................................................

20

2.3.1. Front-end, Back-end, Template..

20

2.3.2. Section, Category, Content..

20

2.3.3. Các thành phần mở rộng..

21

2.4. Cài đặt Joomla....

23

Chương 3: Thiết kế và xây dựng website..

29


3.1. Tìm hiểu về Trung tâm môi trường và phát triển Nghệ An.

29

3.2. Đặt vấn đề..

30

3.3. Sơ đồ website..

31

3.4. Cấu trúc website.

31

3.5. Thiết kế chức năng của website......................................................

33

3.5.1. Tìm kiếm dữ liệu......................................................................

36

3.5.2. Upload t­ liÖu………………………………………..………

36

3



3.5.3. Các chức năng quản trị............................................................

38

3.5.4. Khôi phục lại mật khẩu............................................................

39

3.6. Cài đặt template..............................................................................

42

3.7. Cài đặt gói ngôn ngữ tiếng Việt..............................

43

3.8. Thiết kế giao diện...

45

3.9. Cấu hình module.....

45

3.10. Cài đặt Docman....

47

3.11. Tạo nội dung.....


48

3.11.1. Tạo Section.....

48

3.11.2. Tạo Category..

49

3.11.3. Tạo bài viết....

51

3.12. Quản lý User....

52

3.13. Upload Website lên Server

51

3.14. Một số giao diƯn cđa Website.......................................................

53

3.15. Mét sè giao diƯn cđa website........................................................

55


KÕt luận.....

59

Tài liệu tham khảo...

60

Lời cảm ơn
Đề tài Xây dựng Website Trung tâm môi tr-ờng và phát triển Nghệ
An sử dụng mà nguồn mở Joomla 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ức của Trung tâm. Tuy đà có
nhiều cố gắng trong việc tìm hiểu, nghiên cứu, phân tích và thiết kế trang Web
nh-ng chắc chắn sẽ không tránh khỏi những sai lầm và thiếu sót trong việc
thực hiện. Em rất mong đ-ợc sự đóng góp ý kiến của các thầy cô giáo và các

4


bạn; nhất là ý kiến đóng góp từ Ban lÃnh đạo của trung tâm để Website ngày
càng hoàn thiện hơn, và đạt hiệu quả cao trong việc áp dụng.
Qua đây, em xin đ-ợc gửi lời cảm ơn chân thành nhất tới Ban lÃnh đạo
Trung tâm môi tr-ờng và phát triển NghƯ An, Ban chđ nhiƯm khoa CNTT nãi
chung, Tỉ M¹ng máy tính nói riêng đà tạo điều kiện thuận lợi nhất để em có
thể hoàn thành tốt đề tài tốt nghiệp của mình. Đặc biệt là sự quan tâm tận tình
của thầy giáo Ths.Trần Văn Cảnh đà giúp em rất nhiều trong suốt quá trình
làm đề tài.

Vinh, ngày 10 tháng 05 năm 2009

Sinh viên thực hiện
Hồ Công Tân

Lời nói đầu
Ngy nay, khái niệm phần mềm nguồn mở đà không còn xa lạ với nhiều
ng-ờ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ông nghiệp hoá hiện đại hoá sang các n-ớc đang phát triển, sự ra
đời của phần mề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.

5


Đề tài Xây dựng Website Trung tâm môi trường và phát triển
Nghệ An sử dụng mà nguồn mở Joomla là đề tài mà em rất quan tâm vì
Website này sẽ đ-a vào sử dụng là Website chính của Trung tâm.
Không những thế hàng loạt các mà nguồn mở ra đời nhằm giúp chúng ta
thực hiên một cách nhanh chóng và tiết kiệm thời gian làm việc.
Bên cạnh đó Sinh viên công nghệ thông tin (CNTT) ngày nay không
ngừng học hỏi, cập nhật những công cụ mới và biết ứng dụng những kiến thức
đà đ-ợc học vào thực tiễn của cuộc sống. B-ớc đầu tiên đi sâu vào tìm hiểu
lĩnh vực công nghệ thông tin ứng dụng trong thực tiễn.
Đứng trước thực trạng trên em chọn chuyên ngành là ứng dụng các gói
phần mềm mà mở để thiết kế Website nhằm góp phần giúp các bạn sinh viên
hiểu rõ hơn và tiếp cận hệ quản trị nội dung mà nguồn mở (Open Source
Content Management Systems).

Ch-ơng 1
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
Đến nay, khái niệm nguồn mở đà không còn xa lạ với nhiều ng-ời và
đ-ợc ứng dụng ngày càng rộng rÃi trong các chính phủ, 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ông nghiệp hoá sang các n-ớc đang phát triển. Sự ra đời của
phần mề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.

6


Tổng th- ký Liên hợp quốc và những ng-ời có tiếng nói quyết đinh trong
giới công nghệ truyền thông và máy tính cũng có chung ý muốn làm cho giá
phần mềm hợp lý hơn với những ng-ời không đủ tài chính. Và phần mềm
nguồn mở, là một lời giải hữu hiệu cho bài toán đó.
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.
Một số định nghĩa khác nhau về phần mềm nguồn mở:
Phần mềm nguồn mở đ-ợc hiểu là (hệ) hệ phÇn mỊm cho phÐp ng-êi
sư dơng truy cËp tù do (free access) đến mà nguồn và đ-ợc quyền sửa đổi mÃ
nguồn đó.
TS Nguyễn Chí Công tổ trưởng chuyên môn Đề án 112: MÃ nguồn
mở, các phần mềm mà cầc tác giả khi khi công bố, cung cấp mà để ng-ời khác
tái sử dụng và phát triển. Các nhà cung cấp phần mềm nguồn mở có quyền
yêu cầu ng-ời dùng trả một số chi phí về các dịch vụ bảo hành, huấn luyện,
nâng cấp, t- vấn v.v, tức là những dịch vụ thực sự đà thực hiện để phục vụ
ng-ời dùng, nh-ng không đ-ợc bán các sản phẩm nguồn mở vì nó là tài sản
của trí tuệ chung, không phải là tài sản riêng của một nhà cung cấp nào.

Theo Richard Stallman, ng-ời của phong trào phần mềm miễn phí:
Thứ nhất, tự do chạy ch-ơng trình mà bạn muốn. Thứ hai, tự do nghiên cứu
mà nguồn và thay ®ỉi nã. TiÕp ®ã lµ tù do gióp ®ì b»ng cách copy và phân
phối cho những ng-ời khác nếu bạn muốn. Và cuối cùng là tự do giúp đỡ cộng
đồng thông qua việc phát hành và phân phối một phiên bản sửa đổiNếu bạn
có tất cả 4 quyền tự do sử dụng này,nó chính là phần mềm nguồn mở.
Phần mềm tự do và phần mềm nguồn mở (FOSS Free and Open
Source software) là các phần mềm cho phép ng-êi sư dơng qun ch¹y, sao

7


chép, phân phối, thay đổi và cải tiến nó cho phù hợp với nhu cầu sử dụng mà
không cần phải có sự cho phép hoặc phải trả tiền.
Định nghĩa phần mềm nguồn mở của OSI (tổ chức sáng kiến nguồn
mở open source Innitiatitive): phần mềm nguồn mở là FOSS có sử dụng bất
kỳ một dạng bản quyền nào đ-ợc chấp nhận của OSI trong bản liệt kê các bản
quyền mà mở của tổ chức.
Phần mềm nguồn mở không chỉ đảm bảo cho ng-ời phát triển (developer)
mà còn cho phép tất cả ng-ời dùng đều đ-ợc đọc và sửa đổi mà nguồn.
Tóm lại, có thể hiểu, với phần mềm ngồn mở, ng-ời dùng có quyền tự do
chạy ch-ơng trình theo bất kỳ mục đích nào, không chỉ miễn phí về giá mua
mà chủ yếu miễn phí về bản quyền. Ng-ời dùng có quyền sửa đổi, cải tiến,
phát triển, nâng cấp theo một số nguyên tắc chung. Không có phí trả tr-ớc,
không cần lo lắng về nạn ăn cắp bản quyền Các chuyên viên máy tính cũng
nh- những ng-ời bình th-ờng có thể tạo thành cộng đồng ảo để phát minh ra
các phần mềm mới. Đặc biệt, những phần mềm này cũng có thể viết bằng
ngôn ngữ địa phương.
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ầ đầ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 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.
Phần mềm nguồn mở cuộc cách mạng của công nghiệp phần mềm:
Tại quốc gia Nam Mỹ Brasil, cách sử dụng những sản phẩm CNTT tại
nhà và những đơn vị cá nhân không khác biệt nhiều so với bất cứ nơi đâu trên
thế giới, những sự thay đổi tại khu vực của chính phủ lại lớn hơn rất nhiều.
Thông qua sự tự do về phần mềm nguồn më nh- ë Brasil,ViƯn c«ng nghƯ

8


thông tin quốc gia khẳng định rằng, họ đà tiết kiệm đ-ợc khoảng 170 triệu
USD trong một năm cho chi phí chứng nhận.
Theo ông Gilberto Gil, Bộ tr-ởng văn hoá Brasil khoản tiết kiệm này
đ-ợc đầu t- vào nâng cấp phần cứng cho những khu vực còn yếu về công
nghệ. Thậm chí hiện nay ở Brasil còn có một cơ quan uỷ quyền của chính phủ
tuyên bố rằng các cơ quan hành chính phải -u tiên phần mềm nguồn mở miễn
phí: Quan điểm của Brasil về phần mềm miễn phí là rất tích cực. Chính phủ
Brasil đà tạo nên các ch-ơng trình miễn phí nh- những ứng dụng vào các thủ
tục của chính phủ hay như công cụ hữu ích cho xà hội, ông Gilberto Gil nói.
Hành động này của Brasil có vẻ như đà buộc các ông lớn trong ngành
phần mềm phải bắt tay vào việc chiến l-ợc của mình. Và gần đây nhất
Microsoft ở Brasil thông báo về sự ra mắt phiên bản rẻ hơn của hệ điều hành
Windows XP. Jonathan Murray, một đại diện của Microsoft, nói: Brasil là
đất n-ớc rất quan trọng trên thế giới. Có một bộ phận dân số rất nghèo ở Brasil
cần tiếp cận với công nghệ và đào tạo kỹ năng để tham gia vào nền kinh tế
đang phát triển, để đạt đến nấc thang cao nhất. Và vì vậy chúng tôi rất tích cực

hợp tác với chính phủ Brasil trong lĩnh vực giáo dục để đảm bảo sự tiếp cận
này. Chúng tôi đà đầu t- 10 triệu USD trong những năm gần đây để cung cấp
sự truy cập công nghệ ở Brasil.
Hiện tại hơn 90% toàn bộ máy tính là Laptop trên thế giới chạy trên
phần mềm độc quyền nh- Apple hay Microsoft. Và dù muốn hay không, sự có
mặt của phần mềm nguồn mở đà thật sự làm náo động thế giới phần mềm
th-ơng mại và độc quyền. Tr-ớc mối đe doạ này, các công ty lớn đà phải để ý
đến phần mềm nguồn mở và lên kế hoạch sống chung với nó.
Vào tháng 2/2005, công ty máy tính lớn IBM d-ới thiệu kế hoạch đầu
tư 100 triệu USD để ủng hộ phần mềm nguồn mở: Sự quyết tâm của chúng
tôi đ-ợc tăng lên thông qua việc tham gia vào 150 dự án về phần mềm nguồn
mở. Tại trung tâm công nghệ Linux, chúng tôi có hơn 700 nhà lập trình và kỹ
s- làm việc cho các dự án này nh- một phần của cộng đồng nguồn mở. Nh-ng

9


tôi nghĩ lý do chính của sự quyết tâm này là khách hàng đà yêu cầu nó và nhìn
thấy giá trị trong nó, Adam Jollans đại diện của IBM nói.
Còn chiến l-ợc của HP là: Để khách hàng lựa chọn, nếu khách hàng
không muốn dùng phần mềm bản quyền, chúng tôi rất vui lòng làm theo; nếu
họ chọn phần mềm mở, chúng tôi sẽ cung cấp. Chúng tôi làm việc với cộng
đồng nguồn mở trên phạm vi lớn.
Không chỉ công ty phần cứng máy tính Fortune 500 và nhà phát triển
phần mềm Sun Microsystems đều đang sử dụng nguồn mở. Mà thậm chí, ngay
cả ng-ời khổng Microsoft cũng tin vào khả năng bắt tay với cộng đồng nguồn
mở. Jonathan Murray, một đại diện của Microsoft, nói: Cộng đồng nguồn mở
đà một lần nữa khuyến khích sự đổi mới phần mềm và nói cách thẳng thắn,
chúng tôi cảm thấy rất vui. Nó đà mang rất nhiều ng-ời đến với cộng đồng
phát triển, tạo ra những b-ớc cải tiến mới quanh phần mềm và chắc chắn

chúng tôi nhìn nhận họ như những người cộng tác với Microsoft.
Rõ ràng, sự ra đời của phần mềm nguồn mở thực sự là một cuộc cách
mạng trong nghành công nghiệp phần mềm và chắc chắn, những ng-ời truyền
bá cho phần mềm nguồn mở miễn phí sẽ tiếp tục cuộc hành trình của họ.
1.2. 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 qúa trình phát triển của mạng
web thế giới (tiếng Anh: World Wide Web).
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 Communications Corporation mà ngày nay đ-ợc biết đến qua tên
th-ơng mại Sun Java System web Server. Từ đó trở đi, 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ú.

10


Apache đ-ợc phát triển và duy trì bở 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 với giấy
phép Apache License và là một phần mềm tự do và miễn phí.
APACHE là mét kiĨu mÉu Web Server rÊt phỉ biÕn. Gièng nh- Linux,
PHP, MySQL nó là một dự án nguồn mở. Không có gì ngạc nhiên khi ng-ời ta
thấy Apache đ-ợc hỗ trợ rất tốt trên môi tr-ờng Unix, nh-ng chỉ khá tốt trong
Windows. Apache tận dụng đ-ợc tính năng của third-party. Bởi vì đâ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, và ng-ời ta gọi là một module của Apache. Apache có tính ổn định

và tốc độ đáng phải nói. Tuy nhiên, cũng có một số sự phàn nàn về nó là
không hỗ trợ công cụ ®å ho¹ trùc quan, ®iỊu cã thĨ gióp ng-êi ta làm việc một
cách dễ dàng hơn. Phải thực hiện các thay đổi đối với Apache bằng cách sử
dụng dòng lệnh, hoặc các tập tin text trong folder ch-ơng trình Apache. Nếu
lần đầu đến với Apache thì bạn sẽ gặp một chút lạ lẫm. Mặc dù 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.3. PHP (Personal Home Page)
PHP đ-ợc phát triển từ một sản phẩm có tên là PHP/FI. 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, Rasmus đà 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ơng web đơn giản. Rasmus đà quyết
định công bố mà nguồn của PHP/FI cho mäi ng-êi xem, sư dơng cịng nhsưa c¸c lỗi có trong nó đồng thời cải tiến mà nguồn.

11


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ó thể đ-ợc download tại địa chỉ . Phiên
bản PHP 6 đ-ợc kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản
hiện tại, ví dụ: hỗ trợ namespace (hiện tại các nhà phát triển vẫn ch-a công bố
rõ ràng về vấn đề này); hỗ trợ Unicode; sử dụng PDO làm API chuẩn cho việc
truy cập cơ sở dữ liệu, các API cũ sẽ bị đ-a ra thành th- viện PECL...
1.4. 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ì cơ chế xử lý nhanh và ổn định của nó, sự đáng tin cậy cao
và dễ sử dụng. Nó đ-ợc sử dụng mọi nơi ngay cả châu Nam Cực - bởi các

nhà phát triển web riêng lẻ cũng nh- rất nhiều các tổ chức lớn nhất trên thế
giới để tiết kiệm thời gian và tiền bạc cho những web sites có dung l-ợng lớn,
phần mềm đóng gói bao gồm cả những nhà đi đầu trong lĩnh vùc c«ng
nghiƯp nh- Yahoo!, Alcatel-Lucent, Google, Nokia, YouTube.
MySQL kh«ng chØ là cơ sở dữ liệu mà nguồn mở phổ biến nhất trên thế
giới, nó còn trở thành cơ sở dữ liệu đ-ợc chọn cho thế hệ mới của các ứng
dụng xây dựng trên nền Linux, Apache, MySQL, PHP/Perl/Python. MySQL
chạy trên h¬n 20 flatform bao gåm: Linux, Windows, OS/X, HP-UX, AIX,
Netware, mang đến cho bạn tính linh hoạt trong việc sử dụng.
Dù bạn mới làm quen với công nghệ cơ sở dữ liệu hay là một nhà phát
triển giàu kinh nghiệm hoặc là DBA, MySQL sẽ giúp bạn thành công.
Đây là 10 lý do bạn nên chọn MySQL cho ứng dụng của mình:
1.4.1. 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 chỉ 1MB để chạy các
kho dữ liệu đồ sộ 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ợ. Và dĩ nhiên, tính chất mà nguồn mở của MySQL

12


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.

1.4.2. 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 yêu cầu mỗi ngày, MySQL có thể đáp ứng khả năng xử lý

những đòi hỏi khắt khe nhất của bất kì hệ thống nào. Với các tiện ích tải tốc
độ cao, đặc biệt bộ nhớ caches, và các cơ chế xử lý nâng cao khác, MySQL
đ-a ra tất cả các vũ khí cần phải có cho các hệ thèng doanh nghiƯp khã tÝnh
ngµy nay.
1.4.3. Cã thĨ sư dơng ngay
Sự đáng tin cậy cao và tính mì ăn liền là những tiêu chuẩn đảm bảo của
MySQL. MySQL đ-a ra nhiỊu tïy chän cã thĨ dïng ngay tõ cÊu h×nh tái tạo
chủ/tớ tốc độ cao, để các nhà phân phối thứ 3 đ-a ra những giải pháp có thể
dùng ngay duy nhất cho server cơ sở dữ liệu MySQL.
1.4.4. 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 trên thị tr-ờng. Các đặc tr-ng bao gồm hỗ trợ giao dịch ACID hoàn thiện
( Atomic tự động, Consistent thống nhất, Isolated độc lập, Durable bền
vững), 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 (multi-version) 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 giao dịch độc lập
đ-ợc chuyên môn hóa, và phát hiện khóa chết ngay lập tức.
1.4.5. Nơi l-u trữ Web và Data đáng tin cậy

13


MySQL là nhà máy chuẩn cho các web sites phải trao đổi th-ờng xuyên
vì nó có engine xử lý tốc độ cao, khả năng chèn dữ liệu nhanh ghê gớm, 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. Các tính
năng khác nh- bảng nhớ chính, và bảng l-u trữ đà đ-ợc cô lại để giảm các yêu
cầu l-u trữ đến 80% làm cho MySQL trở thành lựa chọn tốt nhất cho cả ứng

dụng web và các ứng dụng doanh nghiệp.
1.4.6. Chế độ bảo mật dữ liệu mạnh
Vì bảo mật dữ liệu cho một công ty là công việc số mộ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 đặc biệt chắc chắn dữ
liệu sẽ đ-ợc 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ạnh mà chắc chắn 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, với khả
năng này để chặn ng-ời dùng ngay từ mức máy khách là điều có thể làm đ-ợc.
SSH và SSL cũng đ-ợc hỗ trợ để chắc chắn các kết nối đ-ợc an toàn và bảo
mật. Một đối t-ợng framework đặc quyền đ-ợc đ-a ra mà ng-ời sử dụng chỉ
có thể nhìn thấy dữ liệu, các hàm mà hóa và giải mà dữ liệu mạnh chắc chắn
rằng dữ liệu sẽ đ-ợc bảo mật. Ci cïng, tiƯn Ých backup vµ recovery cung cÊp
bëi MySQL và các hÃng phần mềm thứ 3 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 đó.
1.4.7. Sự phát triển ứng dụng hỗn hợp
Một trong số các lý do khiến cho MySQL là cơ sở dữ liệu mà nguồn mở
phổ biến nhất thế giới là nó cung cấp hỗ trợ hỗn hợp cho bất kì sự phát triển
ứng dụng nào cần. Trong cơ sở dữ liệu, hỗ trợ có thể đ-ợc tìm thấy trong các
stored procedure, trigger, function, view, cursor, ANSI-standard SQL, và
nhiều nữa. Với các ứng dụng nhúng, th- viện plug-in có sẵn để nhúng vào cơ
sở dữ liệu MySQL hỗ trợ trong bất kì ứng dụng nào. MySQL còng cung cÊp

14


các bộ kết nối nh-: ODBC, JDBC, để cho phép tất cả các form của ứng
dụng sử dụng MySQL nh- một server quản lí dữ liệu đ-ợc -u tiên.
1.4.8. Dễ dàng quản lý
MySQL trình diễn khả năng cài đặt nhanh đặc biệt với thời gian ở mức
trung bình từ lúc download phần mềm đến khi cài đặt hoàn thành chỉ mất ch-a

đầy 15 phút. Điều này đúng cho dù flatform là Microsoft Windows, Linux,
Macintosh hay Unix. Khi đà đ-ợc cài đặt, tính năng tự quản lý nh- tự động
mở rộng không gian, tự khởi động lại, và cấu hình động sẵn sàng cho ng-ời
quản trị cơ sở dữ liệu lµm viƯc. MySQL cịng cung cÊp mét bé hoµn thiƯn các
công cụ quản lý đồ họa cho phép một DBA quản lý, sửa chữa, và điều khiển
hoạt động của nhiều server MySQL từ một máy trạm đơn. Nhiều công cụ của
các hÃng phần mềm thứ ba cũng có sẵn trong MySQL để điều khiển các tác vụ
từ thiết kế dữ liệu và ETL, đến việc quản trị cơ sở dữ liệu hoàn thiện, quản lý
công việc, và thực hiện kiểm tra.
1.4.9. M· ngn më tù do
NhiỊu c«ng ty l-ìng lù trong việc giao phó toàn bộ cho phần mềm mÃ
nguồn mở vì họ tin họ không thể tìm đ-ợc một cách hỗ trợ hay mạng l-ới an
toàn phục vụ chuyên nghiệp, hiện tại, họ tin vào phần mềm có bản quyền để
chắc chắn về sự thành công toàn diện cho các ứng dụng chủ chốt của họ.
Những lo lắng của họ có thể đ-ợc dẹp bỏ với MySQL, sự bồi th-ờng là có
trong mạng l-ới MySQL.
1.4.10. Tổng chi phí thấp nhÊt
B»ng c¸ch sư dơng MySQL cho c¸c dù ¸n ph¸t triển mới, các công ty
đang thấy rõ việc tiết kiệm chi phí. Đ-ợc hoàn thành thông qua sử dụng server
cơ sở dữ liệu MySQL và kiến trúc scale-out, các doanh nghiệp đà tìm ra cái
mà họ có thể đạt đ-ợc ở mức ngạc nhiên về khả năng xử lý. Thêm vào đó, tính
tin cậy và dễ duy trì của MySQL ở mức trung bình mà ng-ời quản trị cơ sở dữ
liệu không phải mất nhiều thời gian sửa chữa hay vÊn ®Ị thêi gian chÕt.
1.5. XAMPP
15


1.5.1. Cài đặt website
Để cài đặt website tr-ớc hết cần cài đặt công cụ trên máy tính cá nhân,
bao gồm: Công cụ giả lập máy tính thành máy chủ web Xampp và gói phần

mềm Joomla.
1.5.2. Cài đặt công cụ XAMPP
Xampp dùng để giả lập máy tính của bạn thành một máy chủ web (máy
tính của bạn khi đ-ợc giả lập máy chủ web sẽ đ-ợc gọi là: localhost, để phân
biệt với các máy chủ đang hoạt động trên web là host server). Bạn vào địa chỉ
sau: để tải bản cài đặt xampp-win32-1.6.8installer-beta2.exe. Sau đó bung gói nén xampp và chọn th- mục cài đặt là thmục gốc của máy tính:

Hình 1.1. Màn hình b-ớc đầu cài đặt Xampp

Chọn Next ®Ĩ tiÕp tơc.

16


Hình 1.2. Các b-ớc tiếp theo của quá trình cài đặt Xampp

Đánh dấu vào 3 ô Install Apache./MySQL./Filezilla./ và chọn
Install để tiếp tục.
Sau khi cài đặt thành công sẽ xuất hiƯn th- mơc xampp trong ỉ ®Üa C.

17


H×nh 1.3. Th- mơc Xampp xt hiƯn trong ỉ C

Më bảng điều khiển của ch-ơng trình Xampp bằng cách nhấp đúp chuột
vào biểu t-ợng XAMPP control panel nằm trên Desktop.
Trong 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ấn
chuộ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 1.4. Màn hình XAMPP Control Panel

Th- 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
- B-ớc tiếp theo là 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ẽ xt hiƯn
trang qu¶n lý chÝnh cđa Xampp.

18


Hình 1.5. Màn hình trang quản lý của Xampp

Và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.

Hình 1.6. Bảng cơ sở dữ liệu

Gõ tên cơ sở dữ liệu vào « Create new database vµ chän utf8_general_ci
trong mơc Collation. Sau ®ã click vµo nót Create ®Ĩ hoµn tÊt. Khi xt hiện
thông báo: Database fitalbum has been created cơ sở dữ liệu đà đ-ợc tạo thành
công.

19


Ch-¬ng 2

Giíi thiƯu vỊ gãi m· ngn më Joomla
2.1. Giíi thiệu về Joomla
Joomla là một hệ quản trị nội dung mÃ
nguồn mở. Joomla đ-ợc viết bằng ngôn ngữ
PHP và kết nối tới cơ sở dữ liệu MySQL, cho phép ng-ời sử dụng có thể dễ
dàng xuấ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 là: 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 cho tíi nh÷ng hƯ thèng website doanh nghiƯp cã tÝnh phøc tạp cao, cung
cấp nhiều dịch vụ và ứng dụng. Joomla có mà nguồn mở do đó việc sử dụng
Joomla là miễn phí cho tất cả mọi ng-ời trên thế giới. Joomla là sản phẩm
cùng dòng với Mambo giữa 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 4 năm 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ấy phép
GPL.
Mọi thứ vẫn tiến triển bình th-ờng cho đến tr-ớc khi xảy ra tranh chấp về
mặt pháp lý vào năm 2003. Vụ việc dẫn tới ý t-ởng Mambo cần phải đ-ợc bảo
vệ bởi một tổ chức phi lợi nhuận. Bởi vậy vào ngày 17 tháng 8 năm 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âm Luật Tự do Phần
mềm (Software Freedom Law Center - SFLC), 20 thành viên nòng cốt cũ 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ự án mà nguồn mở
còn ch-a đ-ợ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ên OpenSourceMatters để phân phối thông tin tới những

20



ng-ời sử dụng, những ng-ời phát triển, những ng-ời thiết kế và cộng đồng
Joomla nói chung. Đến ngày 16 tháng 9 năm 2005 phiên bản Joomla 1.0 đầu
tiên ra đời.

Hình 2.1. Trang chủ mặc định sau khi cài đặt Joomla 1.0

KiÕn tróc
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 (còn đ-ợc biết với tên gọi mambot). Tầng thứ hai là
mức ứng dụng và chứa lớp JApplication. Hiện tại tầng này gồm 3 lớp con:
JInstallation, JAdministrator và JSite. Tầng thứ ba là mức mở rộng. Tại
tầng nà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.

21


2.2. Các dòng phiên bản
Hiện Joomla có 2 dòng phiên bản chính:
* Joomla 1.0.x: Phiên bản thế hệ 1 (ổn định)
+ Phiên bản phát hành đầu tiên: Joomla! 1.0.0 (ngày 15 tháng 9 năm
2005)
+ Phiên bản phát hành mới nhất: Joomla! 1.0.15 (ngày 22 tháng 2 năm
2008)
Phiên bản đầu tiên của Joomla! là phiên bản Joomla! 1.0 (hay Joomla!
1.0.0) có nguồn gốc từ Mambo 4.5.2.3 (đà bao gồm thêm nhiều bản vá bảo
mật và sửa lỗi). Các phiên bản tiếp theo có dạng 1.0.x. Điểm mạnh của
Joomla! 1.0.x: Có một số l-ợng rất lớn các thành phần mở rộng
(module/component); thành phần nhúng (mambot); giao diện (template).

* Joomla 1.5.x: Phiên bản thế hệ 2 (ổn định)
+ Các phiên bản cũ (giai đoạn phát triển): 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 tháng 09 năm
2008)
Phiên bản Joomla 1.5 là phiên bản cải tiến từ Joomla 1.0.x (phần mà đ-ợc
viết lại hoàn toàn, tuy nhiên vẫn giữ cách hành xử nh- cũ) đ-ợc coi nhMambo 4.6. Joomla 1.5 tiÕp tơc duy tr× mét giao diƯn ng-êi sử dụng đơn giản
(nhìn và cảm nhận - look and feel).

22


Cả Joomla 1.5 và Mambo 4.6 đều hỗ trợ đa ngôn ngữ. Joomla thì sử dụng
file định dạng ".ini" để l-u 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ủ xml-rpc. Nó cũng hỗ trợ 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, mét sè tÝnh năng đ-ợc cải tiến hơn so với Joomla 1.0
2.3. Các khái niệm cơ bản
2.3.1. Front-end, Back-end, Template
- Front-end (tiền sảnh): còn đ-ợc biết với tên gọi Public Front-end: phần
giao diện phía ngoài, nơi tiếp xúc với mọi ng-ời sử dụng. Bất cứ ai cũng có thể
trông thấy khi gõ đúng đ-ờng dẫn URL vào trình duyệt. Front-end chứa 1
trang đặc biệt là FrontPage (homepage) - trang chủ.
- Back-end (hậu sảnh): hay tên gọi Public Back-end, Administrator,
Control Pane: phần dành cho ng-ời quản trị. Những ng-ời bình th-ờng không

biết đ-ờng dẫn để truy cập, hoặc nếu có biết thì cũng phải qua b-ớc kiểm tra
tài khoản.
- Template (Temp): 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
đổi Temp cho website hay cho tõng trang web kh¸c nhau.
2.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ệm quan trọng : Section, Category vµ Content.
Section 1
--------|Category 1a
23


--------|Category 1b
--------|Category 1c
Section 2
--------|Category 2a
--------|Category 2b
--------------------|Content 2b1
--------------------|Content 2b2
* 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.
VD1: Một website bán sách trực tuyến có thể bao gồm các Section: "Sách
Văn häc", "S¸ch Tin häc", "S¸ch To¸n häc"...
VD2: Mét website vỊ tin tức có thể bao gồm các Section: "Thể thao",
"Văn hóa", "Pháp luật"...
* 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.
VD1: Trong Section "Văn học" có các Category: "Tiểu thuyết", "Truyện

ngắn", "Hồi ký"...
VD2: Trong Section "Thể thao" có các Category: "Bóng đá", "Quần vợt",
"Các môn thể thao khác"...
* Content: là toàn bộ nội dung của một bài viết và th-ờng 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.
2.3.3. Các thành phần mở rộng
* Module:
Module là một trong 3 thành phần mở rộng chính của Joomla. Đó 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 nạp vào một vị trÝ bÊt kú trªn

24


template (vị trí left, right, top, bottom... hoặc vị trí do ng-ời dùng định nghĩa);
có thể hiện trên tất cả các trang của Website hay một số trang đ-ợc ấn định.
Khả năng t-ơng tác giữa ng-ời sử dụng và hệ thống thông qua module là hạn
chế (chúng ta th-ờng chỉ nhận thông tin trả về).
Module có tên bắt đầu bằng mod_.
Chúng ta có các module thông dụng:
- 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ê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. Thông th-ờng sau khi cài
đặt Joomla có sẵn các Component:
- Banners: quản lý các bảng quảng cáo.

25


×