Đợ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
Trang 1Trờ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ệ
Trang 2Hồ 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 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
Trang 32.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.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 “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 nhng 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 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
Trang 4Qua đây, em xin đợc gửi lời cảm ơn chân thành nhất tới Ban lãnh đạoTrung tâm môi trờng và phát triển Nghệ An, Ban chủ nhiệm khoa CNTT nóichung, 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
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
Đề tài Xây dựng Website Trung tâm môi tr“Xây dựng Website ờ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 tathực hiên một cách nhanh chóng và tiết kiệm thời gian làm việc
Trang 5hiểu rõ hơn và tiếp cận hệ quản trị nội dung mã nguồn mở (Open SourceContent 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à doanhnghiệp Đợc đánh giá là một phơng tiện hữu hiệu để san sẻ sự thịnh vợng củathế giới công nghiệp 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.Tổng th ký Liên hợp quốc và những ngời có tiếng nói quyết đinh tronggiớ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ềmnguồ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áttriể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ị caotrong 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: “Xây dựng Website 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ờidùng, nhng 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
Trang 6 Theo Richard Stallman, ngời của phong trào phần mềm miễn phí:
“Xây dựng Website 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 đổi …Nếu Nế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 OpenSource software) là các phần mềm cho phép ngời sử dụng quyền chạy, saoché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ảnquyề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ự dochạ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áttriển, nâng cấp theo một số nguyên tắc chung Không có phí trả trớc, khôngcầ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 nhnhững ngời bình thờng có thể tạo thành cộng đồng ảo để phát minh ra cácphầ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ônngữ đị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 ờ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 đó
tr-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
Trang 7Thông qua sự tự do về phần mềm nguồn mở nh ở Brasil,Viện công nghệ thôngtin quốc gia khẳng định rằng, họ đã tiết kiệm đợc khoảng 170 triệu USD trongmộ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í:
“Xây dựng Website 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 “Xây dựng Website ô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ấtMicrosoft ở Brasil thông báo về sự ra mắt phiên bản rẻ hơn của hệ điều hànhWindows XP Jonathan Murray, một đại diện của Microsoft, nói: “Xây dựng Website 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 ở Brasilcầ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ựchợ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ậnnà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ênphầ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 để ý đếnphầ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ở: “Xây dựng Website 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ỹ slàm việc cho các dự án này nh một phần của cộng đồng nguồn mở Nhng tôinghĩ 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ìnthấ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ôngmuố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ọ
Trang 8chọ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 đồngnguồ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ểnphần mềm Sun Microsystems đều đang sử dụng nguồn mở Mà thậm chí, ngaycả 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: “Xây dựng Website 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áttriể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ôinhì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áchmạng trong nghành công nghiệp phần mềm và chắc chắn, những ngời truyềnbá 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ọ
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 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ừngtiế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ú Apache đợcphát triển và duy trì bở một cộng đồng mã nguồn mở dới sự bảo trợ củaApache Software Foundation Apache đợc phát hành với giấy phép ApacheLicense 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,
Trang 9phả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ặccác tập tin text trong folder chơng trình Apache Nếu lần đầu đến với Apachethì 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 RasmusLerdorf tạo ra năm 1995, ban đầu đợc xem nh là một tập con đơn giản của cácmã 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 ôngtrên mạng Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home PageTools' Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thựcthi 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 nh sửa các lỗi cótrong nó đồng thời cải tiến mã nguồn
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ỉ http://snaps.php.net Phiên bảnPHP 6 đợc kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiệntại, ví dụ: hỗ trợ namespace (hiện tại các nhà phát triển vẫn cha 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ệctruy cập cơ sở dữ liệu, các API cũ sẽ bị đa ra thành th viện PECL
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ụngxây dựng trên nền Linux, Apache, MySQL, PHP/Perl/Python MySQL chạy
Trang 10trê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áttriể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 khodữ 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 MySQLcho 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íchhợ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ì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ý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àynay
1.4.3 Có thể sử dụng ngay
Sự đáng tin cậy cao và tính “Xây dựng Website mì ăn liền” là những tiêu chuẩn đảm bảo củaMySQL MySQL đa ra nhiều tùy chọn có thể dùng ngay từ cấu hình tái tạochủ/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
Trang 11bả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 lu trữ Web và Data đáng tin cậy
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ảnnhanh 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 cho các server đơn Các tính năngkhác nh bảng nhớ chính, và bảng lu trữ đã đợc cô lại để giảm các yêu cầu lutrữ đế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êngia 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 đã đợcxá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 đốitợ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ẽ đợcbảo mật Cuối cùng, tiện ích backup và recovery cung cấp bởi MySQL và cáchãng phần mềm thứ 3 cho phép backup logic và vật lý hoàn thiện cũng nhrecovery 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ácstored 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 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ý
Trang 12MySQL trình diễn khả năng cài đặt nhanh đặc biệt với thời gian ở mứctrung bình từ lúc download phần mềm đến khi cài đặt hoàn thành chỉ mất cha
đầ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ảntrị 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áchã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ã nguồn 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 antoà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ó trongmạ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 servercơ 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ínhtin 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
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, baogồ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
Trang 13beta2.exe Sau đó bung gói nén xampp và chọn th mục cài đặt là th mụ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
Trang 14Hì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ọnInstall để 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
Hình 1.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ấ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ấ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)
Trang 15Hì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ẽ xuất hiện trang quản lý chính của Xampp
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
Trang 16Hì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 xuất hiện thông báo: Database fitalbum has been created cơ sở dữ liệu đã đợc tạo thành công
Trang 17Chơng 2 Giới thiệu về gói mã nguồn 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, cungcấp nhiều dịch vụ và ứng dụng Joomla có mã nguồn mở do đó việc sử dụngJoomla là miễn phí cho tất cả mọi ngời trên thế giới Joomla là sản phẩm cùngdò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ộtchí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àmviệ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 SourceMatters, để 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ộtwebsite lấy tên OpenSourceMatters để phân phối thông tin tới những 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óichung Đến ngày 16 tháng 9 năm 2005 phiên bản Joomla 1.0 đầu tiên ra đời
Trang 18Hì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.
Trang 19(module/component); thành phần nhúng (mambot); giao diện (template).
cảm nhận - look and feel).
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
Trang 20Joomla 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àikhoả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íchhợ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áiniệm quan trọng : Section, Category và Content
Trang 21VD1: 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ểnthị 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 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ăngtơng tác giữa ngời sử dụng và hệ thống thông qua module là hạn chế (chúng tathờ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
- 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.
Trang 22- 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ủaCom Com có thể đợc cài đặt thêm vào webSite Thông thờng sau khi cài đặtJoomla 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.
- Com: quản lý nội dung của trang web.
* 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
2.4 Cài đặt Joomla
Truy cập website Joomla, 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 Trớc khi cài đặt phải tạo 1database với Collation - charset: utf8_general_ci
Các bớc thực hiện :
Bớc 1: Download & Upload bộ cài đặt Joomla
Trang 23Hoặc có thể Upload bằng một số cách:
+ 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/
Màn hình cài đặt xuất hiện, chọn một ngôn ngữ trong quá trình đặt:
Hỡnh 2.2 Lựa chọn ngụn ngữ trong quỏ trỡnh cài đặt
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
Trang 24Hỡnh 2.3 Kiểm tra cấu hỡnh hệ thống
Bớc 4: Thông tin bản quyền
Chọn Next để thực hiện tiếp
Trang 25- Hostname: Thờng là giá trị "localhost" (chỉ điền giá trị khác nếu nhDatabase Server và Web Server nằm ở hai nơi khác nhau).
- 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 2.5 Thiết lập cỏc thụng số để kết nối tới CSDL
+ 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
Vd
: VnExpress, Hosting Việt Nam, ThanhNienOnline
- Your Email: địa chỉ email
Vd: admin@yoursite.com
- Admin Password: Mật khẩu để quản trị Joomla
Trang 26Các thông số trên sau này đều có thể thay đổi nên chỉ cần nhớ mật khẩuchính xác là đợc.
- 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
Trang 27Bớ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
- Để quản trị website: Nhấn vào nút Admin
- Đờng dẫn các có dạng:
+ http:// www.yoursite.com/administrato
+ http://www.yoursite.com /Joomla/administrator + http://localhost/administrator
Hình 2.7 Kết thúc quá trình cài đặt
Trang 28Chơng 3 Thiết kế và xây dựng Website
“Trung tâm môi trờng và phát triển nghệ an”
3.1 Tìm hiểu về Trung tâm môi trờng và phát triển Nghệ An
Tên cơ quan chủ quản: Trung tâm môi trờng và phát triển Nghệ An
Địa chỉ: Số 122 Lê Hồng Phong, Thành phố Vinh, Tỉnh Nghệ An
Ngời thờng trực: Ths Hoàng Xuân Trờng
Chức vụ: Giám đốc
Điện thoại: 0383.838721 – DĐ: 0916011341
Fax: 0383.843.918
Trung tâm môi trờng và phát triển Nghệ An (CED) có 11 thành viên
Tôn chỉ, mục đích: Là tổ chức chính trị - xã hội của trí thức khoa học và
công nghệ tỉnh Nghệ An Mục đích là tập hợp, huy động, phát huy tiềm năngcủa đội ngũ trí thức khoa học và công nghệ tỉnh Nghệ An phục vụ phát triểnkinh tế - xã hội tỉnh nhà, đồng thời phấn đấu xây dựng một xã hội công dântrong đó tiếng nói ngời dân là trí thức đợc tôn trọng và đợc lắng nghe
Chức năng, nhiệm vụ: Tập hợp đoàn kết trí thức khoa học và công nghệ
trong và ngoài tỉnh, điều hoà phối hợp hoạt động của các hội thành viên và tạo
điều kiện thuận lợi cho các hội và giới trí thức khoa học công nghệ phát huytiềm năng trí tuệ của mình phục vụ cho sự nghiệp công nghiệp hoá - hiện đạihoá đất nớc Thực hiện vai trò là thành viên của Mặt trận Tổ quốc tỉnh Làm
đầu mối quan hệ giữa các hội thành viên với các cơ quan Đảng, Nhà nớc, Mặttrận tổ quốc và các đoàn thể chính trị khác Xây dựng, phát triển và nâng caohiệu quả hoạt động của hệ thống tổ chức của Liên hiệp hội, củng cố và pháttriển tổ chức các hội thành viên Giáo dục tinh thần yêu nớc, ý thức tráchnhiệm công dân, đạo đức nghề nghiệp của trí thức Thực hiện các hoạt động
đối ngoại và hợp tác quốc tế trong lĩnh vực khoa học công nghệ
3.2 Đặt vấn đề