You are on page 1of 26

TRƯỜNG ĐẠI HỌC ĐÔNG ĐÔ

KHOA CÔNG NGHỆ THÔNG TIN

BÀI TIỂU LUẬN


Môn học: Mã Nguồn Mở

Đề tài: Lịch sử phát triển và khái niệm Web server


mã nguồn mở. Cách cài đặt, cấu hình và sử dụng
Joomla trên mọi nền tảng

Giáo viên hướng dẫn: Nguyễn Hồng Quang

Sinh viên thực hiện: Lê Kim Việt Anh

Mã SV: 2350136

Lớp: CNTT523.1

Hà Nội, 2021
MỤC LỤC
LỜI CẢM ƠN.......................................................................................................................................1
PHẦN 1: MỞ ĐẦU...............................................................................................................................2
1. Tên đề tài:.................................................................................................................................2
2. Lý do chọn đề tài:.....................................................................................................................2
3. Mục đích đề tài:........................................................................................................................2
4. Bố cục đề tài:.............................................................................................................................2
5. Phương pháp:...........................................................................................................................2
PHẦN 2: NỘI DUNG...........................................................................................................................3
CHƯƠNG 1: LỊCH SỬ PHÁT TRIỂN VÀ KHÁI NIỆM WEB SERVER MÃ NGUỒN MỞ.......3
1.1 Giới thiệu mã nguồn mở:.....................................................................................................3
1.1.1 Khái niệm mã nguồn mở:.............................................................................................3
1.1.2 Lợi ích của mã nguồn mở:............................................................................................3
1.1.3 Một số loại mã nguồn mở:............................................................................................4
1.1.4 Ứng dụng của mã nguồn mở:.......................................................................................6
1.2 Web Server:..........................................................................................................................6
1.2.1 Giới thiệu Web Server:.................................................................................................6
1.2.2 Lịch sử Web Server:.....................................................................................................7
1.2.3 Các Web Server phổ biến:...........................................................................................8
CHƯƠNG 2: HỆ QUẢN TRỊ NỘI DUNG JOOMLA.......................................................................1
2.1 Hệ quản trị nội dung Joomla và các khái niệm cơ bản:.....................................................1
2.1.1 Giới thiệu hệ quản trị nội dung Joomla:.....................................................................1
2.1.2 Lịch sử Joomla:.............................................................................................................1
2.1.3 Kiến trúc Joomla:.........................................................................................................1
2.1.4 Các khái niệm cơ bản:..................................................................................................2
2.1.5 Ưu nhược điểm của Joomla:........................................................................................3
2.1.5.1 Ưu điểm:........................................................................................................................3
2.1.5.2 Nhược điểm:..................................................................................................................4
3.1 Cài đặt và cấu hình Joomla trong Windows:......................................................................5
3.1.1 Cài đặt XAMPP:...........................................................................................................5
3.1.2 Cài đặt Joomla! 4.0.5 Windows:..................................................................................6
4.1 Cài đặt và cấu hình Joomla trong Linux:...........................................................................9
4.1.1 Cài đặt MariaDB trong Linux:....................................................................................9
4.1.2 Cài đặt Joomla! 4.0.5 Linux :.......................................................................................9
PHẦN 3: KẾT LUẬN.........................................................................................................................14
1. Kết quả đạt được:...................................................................................................................14
2. Hạn chế của đề tài:.............................................................................................................14
3. Hướng phát triển:...............................................................................................................14
TÀI LIỆU THAM KHẢO..................................................................................................................15
LỜI CẢM ƠN

Lời đầu tiên, em xin gửi lời tri ân sâu sắc đến Thầy Nguyễn Hồng Quang
Trong quá trình tìm hiểu và học tập bộ môn Mã Nguồn Mở, em đã nhận được sự
giảng dạy và hướng dẫn rất tận tình, tâm huyết của thầy. Thầy đã giúp em tích
lũy thêm nhiều kiến thức hay và bổ ích. Từ những kiến thức mà thầy truyền đạt,
em xin trình bày lại những gì mình đã tìm hiểu về vấn đề lịch sử phát triển và
khái niệm Web server mã nguồn mở. Cách cài đặt, cấu hình và sử dụng Joomla
trên mọi nền tảng.
Tuy nhiên, kiến thức về bộ môn Mã Nguồn Mở của em vẫn còn những hạn
chế nhất định. Do đó, không tránh khỏi những thiếu sót trong quá trình hoàn
thành bài tiểu luận này. Mong thầy xem và góp ý để bài tiểu luận của em được
hoàn thiện hơn.
Em xin chân thành cảm ơn!

Sinh viên thực hiện


Lê Kim Việt Anh

1
PHẦN 1: MỞ ĐẦU

1. Tên đề tài:
"Lịch sử phát triển và khái niệm Web server mã nguồn mở. Cách cài đặt,
cấu hình và sử dụng Joomla trên mọi nền tảng".
2. Lý do chọn đề tài:
Trong quá trình phát triển 1 website hay ứng dụng động, chúng ta thường sẽ
gặp phải nhiều vấn đề như:
 Làm thế nào để có thể cấu hình website theo yêu cầu?
 Làm thế nào xuất bản nội dung lên Internet hoặc Intranet?
 Khách hành yêu cầu xây dựng 1 webstie có cấu trúc linh hoạt và nội dung
sâu rộng nhưng dễ dành quản lý với ngay cả dân không chuyên.
Để giải quyết được vấn đề đó, chúng ta có thể sử dụng các công cụ quản lý
phiên bản và Joomla là một trong số đó, với công cụ này, người dùng dễ dàng
xuất bản các nội dung của mình lên Internet hoặc Intranet cũng như quản lý toàn
bộ các bản ghi đó. Tất cả các thành viên tham gia dự án có thể thực hiện các
thao tác đưa thay đổi lên, cập nhật những thay đổi, ,..
3. Mục đích đề tài:
Tìm hiểu về cách sử dụng các chức năng của Joomla. Cách cài đặt và hoạt
động của Joomla được thực hiện như thế nào. Tìm hiểu sâu hơn web server mã
nguồn mở. Qua đó trang bị kỹ năng quản lý phiên bản trong một dự án, đặc biệt
là khi các thành viên tham gia có những khoảng cách lớn về mặt địa lý.
4. Bố cục đề tài:
Bố cục chia làm 2 chương chính:
 Chương 1: lịch sử phát triển và khái niệm web server mã nguồn mở.
 Chương 2: hệ quản trị nội dung Joomla.
5. Phương pháp:
 Tìm kiếm thông tin.
 Đọc hiểu tài liệu.
 Cài đặt và sử dụng Joomla.

2
PHẦN 2: NỘI DUNG
CHƯƠNG 1: LỊCH SỬ PHÁT TRIỂN VÀ KHÁI NIỆM
WEB SERVER MÃ NGUỒN MỞ

1.1 Giới thiệu mã nguồn mở:


1.1.1 Khái niệm mã nguồn mở:

Mã nguồn mở (Open Source) là thuật ngữ chỉ các sản phẩm phần mềm
có mã nguồn mở. Phần mềm nguồn mở là các phần mềm được cung cấp
dưới dạng cả mã và nguồn., không chỉ là miễn phí về giá mua mà chủ yếu
là 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 quy định trong giấy phép
phần mềm nguồn mở mà không cần xin phép ai, điều mà họ không được
làm đối với các phần mềm đóng.

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ề dịch vụ bảo hành, huấn luyện, nâng cấp, tư vấn… 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.

1.1.2 Lợi ích của mã nguồn mở:


Cộng đồng: Các giải pháp nguồn mở hướng tới doanh nghiệp thường
có các cộng đồng phát triển xung quanh họ, bị ràng buộc bởi một động
lực chung là hỗ trợ và cải tiến một giải pháp mà cả doanh nghiệp và
cộng đồng đều được hưởng lợi (và tin tưởng). Các cộng đồng toàn cầu
đoàn kết xung quanh việc cải thiện các giải pháp này giới thiệu các
khái niệm và khả năng mới nhanh hơn, tốt hơn và hiệu quả hơn so với
các nhóm nội bộ làm việc trên các giải pháp độc quyền.
Tính minh bạch: Mã nguồn mở chỉ có nghĩa là bạn có thể nhìn thấy
đầy đủ cơ sở mã, cũng như tất cả các cuộc thảo luận về cách cộng
đồng phát triển các tính năng và giải quyết lỗi. Ngược lại, mã độc
quyền được tạo ra trong bí mật có thể đi kèm với những hạn chế
không lường trước được và những điều bất ngờ không mong muốn
khác. Với mã nguồn mở, bạn được bảo vệ khỏi các rủi ro bị khóa và
có thể thấy chính xác những gì bạn đang nhận được.
Độ tin cậy: Bởi vì có nhiều người để mắt hơn, độ tin cậy của mã
nguồn mở cũng có xu hướng cao hơn. Với một cộng đồng trên toàn
3
thế giới hỗ trợ cơ sở mã thay vì một nhóm trong một công ty mã được
phát triển trên các diễn đàn trực tuyến và được hướng dẫn bởi các
chuyên gia. Đầu ra có xu hướng là mã cực kỳ mạnh mẽ, đã được thử
và kiểm tra. Trên thực tế, mã nguồn mở hiện sử dụng khoảng 90%
Internet và đang được nhanh chóng áp dụng trong các doanh nghiệp
lớn vì lý do này.
An ninh tốt hơn: Cũng như độ tin cậy, mã của phần mềm nguồn mở
thường an toàn hơn vì nó được cộng đồng xem xét và hiệu đính kỹ
lưỡng hơn nhiều (và bất kỳ vấn đề nào phát sinh đều có xu hướng
được vá cẩn thận hơn). Từ lâu đã có một điểm do dự đối với việc áp
dụng mã nguồn mở của doanh nghiệp, ngày nay những lo ngại về bảo
mật không phải là vấn đề.
Dựa trên thành tích: Với mã nguồn mở, động lực duy nhất đằng sau
việc đưa ra quyết định xoay quanh hướng giải pháp là tạo ra sản phẩm
tốt nhất, hữu ích nhất có thể. Các công ty tạo ra mã độc quyền thường
đặt điểm mấu chốt lên hàng đầu, điều này không phải lúc nào cũng lý
tưởng. Khi chọn một công nghệ không thể thiếu cho doanh nghiệp của
bạn, tốt nhất bạn nên đảm bảo chương trình làm việc của nó hỗ trợ lợi
ích của chính bạn.
Thời gian đưa ra thị trường nhanh hơn: Bởi vì các giải pháp mã nguồn
mở được cung cấp công khai và có thể được khám phá miễn phí, nên
việc điều tra các lựa chọn và tìm ra giải pháp thường nhanh hơn nhiều.
Hiệu quả về chi phí: Mặc dù các giải pháp nguồn mở không chỉ đơn
thuần là phần mềm miễn phí nên được coi là phần mềm miễn phí, thực
tế là chúng không yêu cầu phí cấp phép vẫn là một lợi thế quyết định
khi nhìn vào tổng chi phí triển khai một giải pháp.
Đang trở thành chuẩn mực: Nhiều doanh nghiệp lớn đang triển khai
các giải pháp nguồn mở và thường xuyên đưa ra các chính sách khi
làm như vậy đang mang lại sức mạnh nguồn lực của họ cho các cộng
đồng hỗ trợ các giải pháp nguồn mở.
1.1.3 Một số loại mã nguồn mở:

WordPress:

- Ưu điểm:
 Dễ cài đặt, dễ sử dụng, đặc biệt khi sử dụng Managed
WordPress Hosting (MWP)
 Có kho giao diện và plugin miễn phí, khiến cho WordPress linh
động hơn bất kỳ mã nguồn mở với CMS nào khác.

4
 Là nền tảng hỗ trợ SEO tốt nhất hiện tại.
- Nhược điểm:
 Nếu website phát triển mạnh thì đòi hỏi lập trình viên phải có
kiến thức và tay nghề vững để theo kịp sự phát triển đó trên nền
tảng WordPress. Do đó bạn nên có đơn vị tối ưu WordPress tín
nhiệm, đảm bảo website của mình vận hành tốt nhất.

Joomla:

- Ưu điểm:
 Phù hợp cho mọi đối tượng lập trình. Có giao diện đơn giản
dành cho cả lập trình viên và quản trị website.
 Có thư viện ứng dụng khổng lồ với hầu hết là miễn phí giúp
người dùng có thêm nhiều sự tham khảo và lựa chọn để mở
rộng tính năng web.
- Nhược điểm:
 Không tốt cho SEO vì mã nguồn này làm SEO kém nhất trong 3
loại CMS (Drupal, WordPress và Joomla)
 Vì có quá nhiều ứng dụng miễn phí nên bạn sẽ phải đắn đo rất
nhiều khi lựa chọn và xem xét mức độ phù hợp với web của
mình.
 Mã nguồn của Joom tương đối lớn nên sẽ tiêu tốn nhiều tài
nguyên của hệ thống.
 Joomla quản lý và điều khiển website khá khó khăn do không có
tính năng Multuple Site.

Drupal

- Ưu điểm:
 Mã nguồn tối ưu giúp tiết kiệm tài nguyên hệ thống và nâng cao
hiệu suất hoạt động.
 Tạo điều kiện tối đa cho các lập trình viên phát huy kỹ năng, mở
rộng chức năng website.
 Giao diện thân thiện với SEO nhưng mức độ chưa bằng
WordPress.
 Quản lý và điều khiển nhiều website cùng lúc dễ dàng.
 Joomla chỉ chạy tốt trên server Linux trong khi Drupal và
WordPress chạy tốt trên cả 2 server Linux và Windows.
- Nhược điểm:

5
 Không thích hợp với một lập trình viên mới vào nghề, còn non
kinh nghiệm.
 Có ít thành phần mở rộng hơn Joomla. Khá là bất tiện mỗi khi
có phiên bản mới, bạn phải chờ các nhà cung cấp nâng cấp
thành phần mở rộng mới tương thích được.
 Người mới sử dụng sẽ thấy rắc rối khi muốn tìm kiếm hay phán
đoán nên dùng thành phần mở rộng nào.

WooCommerce, OpenCart, dddd,...

1.1.4 Ứng dụng của mã nguồn mở:

Sản phẩm mã nguồn mở phải kể đến đầu tiên là hệ điều hành Linux
(chính xác là GNU Linux). Linux được biết đến nhờ là một hệ điều hành
miễn phí, ổn định, bảo mật, linh hoạt, hiệu suất cao và được một cộng
đồng rất lớn trên Internet cùng nhau phát triển.

Phần mềm máy chủ Web Apache. Trên hệ điều hành Window có tích
hợp phần mềm máy chủ IIS, cùng với máy chủ cơ sở dữ liệu SQL Server
và ngôn ngữ lập trình trang web ASP, đã tạo ra một hệ thống web hoàn
chỉnh. Song song với hệ thống trên, bên sản phẩm mã nguồn mở có máy
chủ Web Apache, kết hợp với cơ sở dữ liệu MySQL, và ngôn ngữ lập
trình PHP, Perl, Python tạo ra một hệ thống máy chủ Web rất linh hoạt, an
toàn và ổn định và hệ thống này đã được sử dụng rất phổ biến trên cả hệ
điều hành Linux lẫn Window.

Mozilla Firefox trình duyệt mã nguồn mở lớn nhất hiện nay với các
tính năng nổi bật về tốc độ, bảo mật, nhỏ gọn, nhiều tính năng và miễn
phí.

Open Office là bộ ứng dụng văn phòng.

Unikey là công cụ hỗ trợ gõ tiếng Việt trên môi trường Window miễn
phí và hiệu quả.

1.2 Web Server:


1.2.1 Giới thiệu Web Server:

Web Server là một máy tính chạy các trang web. Đó là một chương
trình máy tính phân phối các trang web khi chúng được trưng dụng. Mục
tiêu cơ bản của Web Server là lưu trữ, xử lý và cung cấp các trang web
cho người dùng. Thông tin liên lạc này được thực hiện bằng cách sử dụng
Giao thức truyền siêu văn bản (HTTP). Các trang web này chủ yếu là nội
6
dung tĩnh bao gồm tài liệu HTML, hình ảnh, biểu định kiểu, kiểm tra, v.v.
Ngoài HTTP, máy chủ web cũng hỗ trợ giao thức SMTP (Giao thức
truyền thư đơn giản) và giao thức FTP (Giao thức truyền tệp) để gửi email
và truyền tệp và lưu trữ.

Công việc chính của Web Server là hiển thị nội dung trang web. Nếu
một Web Server không được công khai và được sử dụng trong nội bộ, thì
nó được gọi là Intranet Server. Khi bất kỳ ai yêu cầu một trang web bằng
cách thêm URL hoặc địa chỉ web trên thanh địa chỉ của trình duyệt web
(như Chrome hoặc Firefox) (như www.economictimes.com), trình duyệt
sẽ gửi yêu cầu đến Internet để xem trang web tương ứng cho đó địa chỉ.
Máy chủ định danh miền (DNS) chuyển đổi URL này thành Địa chỉ IP
(Ví dụ: 192.168.216.345), địa chỉ này lần lượt trỏ đến Web server.

Web Server được yêu cầu hiển thị trang web nội dung cho trình duyệt
của người dùng. Tất cả các trang web trên Internet đều có một mã định
danh duy nhất về địa chỉ IP. Địa chỉ Giao thức Internet này được sử dụng
để giao tiếp giữa các máy chủ khác nhau trên Internet. Ngày nay, Apache
server là Web Server phổ biến nhất hiện có trên thị trường. Apache là một
phần mềm mã nguồn mở xử lý gần 70% tất cả các trang web hiện có. Hầu
hết các ứng dụng dựa trên web sử dụng Apache làm môi trường Web
Server mặc định của chúng. Một Web Server khác thường có sẵn là Dịch
vụ Thông tin Internet (IIS). IIS thuộc sở hữu của Microsoft.

1.2.2 Lịch sử Web Server:

Máy chủ web đầu tiên trên thế giới, một máy trạm NeXT Computer
với Ethernet, 1990. Nhãn vỏ máy ghi: “Máy này là một máy chủ.
KHÔNG ĐƯỢC TẮT ĐIỆN!”

Coban Qube 3 của Sun – một thiết bị máy chủ máy tính (2002, đã
ngừng hoạt động)

Năm 1989, Sir Tim Berners-Lee đã đề xuất một dự án mới cho chủ
nhân CERN, với mục tiêu giảm bớt trao đổi thông tin giữa các nhà khoa
học bằng cách sử dụng hệ thống siêu văn bản. Dự án dẫn đến Berners-Lee
viết hai chương trình vào năm 1990:

 Một trình duyệt gọi là WorldWideWeb


 Máy chủ web đầu tiên trên thế giới, sau này được gọi là CERN
httpd, chạy trên NeXTSTEP

7
Từ năm 1991 đến 1994, sự đơn giản và hiệu quả của các công nghệ đầu
tiên được sử dụng để lướt và trao đổi dữ liệu thông qua World Wide Web
đã giúp họ chuyển sang nhiều hệ điều hành khác nhau và truyền bá sử
dụng giữa các tổ chức khoa học và trường đại học.

Năm 1994 Berners-Lee quyết định thành lập Hiệp hội Web toàn cầu
(W3C) để điều chỉnh sự phát triển hơn nữa của nhiều công nghệ liên quan
(HTTP, HTML, vv) thông qua một quá trình tiêu chuẩn hóa.

1.2.3 Các Web Server phổ biến:


Apache:

Apache, tên đầy đủ là Apache HTTP Server, là một phần mềm


quản lý máy chủ web của công ty Apache Software Foundation.
Apache có lịch sử lâu đời và được sử dụng vô cùng phổ biến, chiếm
hơn 45% thị phần web server software.

NGINX:

So với Apache, NGINX là một web server software hiện đại và hợp
xu thế hơn. NGINX có khả năng xử lý khối lượng kết nối lớn hơn và
tốt hơn nhờ vào cấu trúc hướng sự kiện không đồng bộ (event-driven,
asynchoronous) độc đáo. Nhờ nó, NGINX được tin dùng bởi các
website, công ty có quy mô lớn và phức tạp như Google, WordPress
hay Netflix.

LightTTPD:

Tuy không quá phổ biến nhưng mô hình web server LightTTPD
vẫn được rất nhiều người tin dùng bởi vì nó rất linh hoạt và chiếm rất
ít tài nguyên hệ thống. LightTTPD phù hợp nhất cho các website tĩnh
và động với quy mô vừa và nhỏ, giúp tiết kiệm thời gian và công sức
cài đặt, khi cần chuyển đổi hay chỉnh sửa gì cũng dễ dàng hơn rất
nhiều.

Ngoài ra, cũng còn một số web server software nổi bật khác như
LiteSpeed, Microsoft IIS,… được linh hoạt sử dụng cho nhiều mục đích cụ
thể khác nhau.

8
CHƯƠNG 2: HỆ QUẢN TRỊ NỘI DUNG JOOMLA

2.1 Hệ quản trị nội dung Joomla và các khái niệm cơ bản:
2.1.1 Giới thiệu hệ quản trị nội dung Joomla:
Joomla là một hệ quản trị nội dung (CMS) có nền tảng mã nguồn mở
được viết bằng ngôn ngữ lập trình PHP và có kết nối tới hệ cơ sở dữ liệu
MySQL. Hệ quản trị nội dung này được xây dựng dựa trên khung mô
hình MVC, với điểm nổi bật là dễ thiết kế, dễ tích hợp plugin, cho phép
người dùng phát triển các nội dung, ứng dụng trực tuyến một cách đơn
giản và mạnh mẽ.
Ra đời vào năm 2005, Joomla nhanh chóng giành được sự yêu mến và
tin tưởng từ người dùng với hơn 99 triệu lượt tải xuống, đồng thời trở
thành một trong những hệ thống CMS được sử dụng rộng rãi nhất trên
toàn cầu hiện nay.
2.1.2 Lịch sử Joomla:
Cả Mambo (một CMS khác) và Joomla đều được xây dựng bởi tập
đoàn Micro Software Solution và một số nhà phát triển nòng cốt khác.
Ban đầu, công ty này cho ra đời Mambo theo dạng ứng dụng có mã nguồn
đóng.
Đến tháng 4 năm 2001, Mambo được phát hành theo giấy phép GPL
thông qua chính sách bản quyền kép.
Đến năm 2003, do xảy ra tranh chấp về mặt pháp lý mà Mambo cần
được bảo vệ bởi một tổ chức phi lợi nhuận. Tuy nhiên, một số nhà phát
triển tỏ ra không hài lòng với cơ cấu của Quỹ tài trợ Mambo và một số
mối quan hệ của nó với cộng đồng nên đã dẫn đến việc rời khỏi dự án vào
ngày 17 tháng 8 năm 2005.
Để hỗ trợ về mặt pháp lý và kinh phí cho dự án mới, hơn 20 thành viên
nòng cốt cũ của Mambothành lập ra một tổ chức phi lợi nhuận (Open
Source Matters) và thu hút được hơn 1000 người tham gia diễn đàn này
nhờ vào sự giúp đỡ của Trung tâm Luật Tự do Phần mềm.
Và Joomla chính thức được ra đời vào ngày 19 tháng 6 năm 2005.
2.1.3 Kiến trúc Joomla:
Joomla! 1.5 gồm có 3 tầng hệ thống:

1
 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.

Hình 1: Kiến trúc Joomla.


2.1.4 Các khái niệm cơ bản:
Section:
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.
Category:
Các chuyên mục, loại sản phẩm, loại dịch vụ được đề cập đến một
cách chi tiết hơn, cụ thể hơn.
Content:
Toàn bộ nội dung của một bài viết, 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.
Front-end (Tiền sảnh):
Front-end 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.
Back-end (Hậu sảnh):
Back-end còn được biết đến với tên gọi Public Back-end,
Administrator, Control Pane: Phần dành cho người quản trị. Những

2
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.
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 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ề).
Template/theme (các gói giao diện của Joomla):
Các gói giao diện của Joomla đều được đóng gói trong một file nén
(.zip) cho phép người dùng upload và cài đặt trực tiếp thông qua trang
quản trị. Template là một thế mạnh của Joomla. Hiện có hàng nghìn
template miễn phí cũng như có phí cho người dùng lựa chọn. Việc
thiết kế chúng cũng khá đơn giản và người dùng hoàn toàn có thể
chuyển đổi từ một template thuần HTML sang template Joomla. Ngoài
ra người dùng có thể thay đổi template nhanh chóng và dễ dàng thông
qua trang quản trị. Không những thế Joomla còn cho phép một
template được áp dụng cho toàn site hoặc một số trang nhất định.
Một gói cài đặt template Joomla gồm các file bắt buộc sau:
 File “index.php”: File này gồm các mã lệnh PHP, thẻ <head>,
thẻ
 <body> và các bảng <table> hoặc các thẻ <div> để định vị
các module và tạo nên bố cục của template.
 File “templateDetails.xml”: File này được sử dụng trong quá
trình cài đặt, chứa các thông số về template và giúp Joomla biết
được trong quá trình cài đặt cần tạo các thư mục và truyền các
file css, php, ảnh nào lên thư mục templates.
Ngoài các file chính trong gói cài đặt template có thể có thêm thư mục
CSS để chứa các file CSS bổ sung, thư mục ảnh để chứa các ảnh được sử
dụng cho template, thư mục javascript để chứa các javascript(nếu có)…
2.1.5 Ưu nhược điểm của Joomla:
2.1.5.1 Ưu điểm:
Dễ dàng để cài đặt:

3
Joomla! khá đơn giản để cài đặt. Chỉ mất khoảng mười phút từ khi
tải xuống đến khi có tập lệnh hoạt động trên máy chủ. Nó không dễ
dàng như Quick.Cms hoặc WordPress , nhưng vẫn đơn giản hơn nhiều
so với Drupal.
Bổ sung:
Tập lệnh có hàng ngàn plugin miễn phí có sẵn tại trang chủ.
WordPress có thể có nhiều hơn nữa, nhưng để làm cho nó hoạt động
như Joomla !, bạn phải cài đặt hàng tá plugin để bắt đầu.
Hỗ trợ:
Có rất nhiều công cụ và hướng dẫn của lập trình viên có sẵn cho
người dùng. Ngoài ra còn có một hội đồng thảo luận mở rộng.
Quản lý điều hướng:
Tập lệnh có một hệ thống điều hướng toàn diện, có thể quản lý
thành công một số cấu trúc phân cấp. Nó cho phép dễ dàng quản lý
một trang web ngay cả với vài trăm trang con.
URL đẹp:
Các liên kết được tạo bởi script rất thân thiện và giúp định vị SEO
tốt hơn.
Cập nhật:
Khi thiết kế trang đã sẵn sàng, sẽ có lúc cập nhật tập lệnh lên phiên
bản mới hơn. Bạn có thể làm điều đó từ trình duyệt web.
Quản trị nâng cao:
Bảng quản trị cung cấp nhiều chức năng có thể đáng sợ trong thời
gian đầu. Tuy nhiên, theo thời gian, bạn có thể thành thạo hầu hết
chúng để sử dụng toàn bộ tiềm năng của script.
2.1.5.2 Nhược điểm:
Các tùy chọn điều chỉnh có giới hạn:
Mặc dù Joomla! có nhiều mô-đun và mẫu, nó luôn thiếu thứ gì đó
đối với những người dùng cao cấp hơn. Nó vẫn tốt hơn trong trường
hợp của WordPress.
Tài nguyên và hiệu quả của máy chủ:
Tính mô-đun và khả năng sử dụng thường có nghĩa là yêu cầu lớn
hơn về các thông số máy chủ. Đây chắc chắn là trường hợp. Tuy nhiên,

4
nếu trang web không quá lớn và sẽ không có hàng nghìn người truy
cập thì sẽ không có vấn đề gì xảy ra, ít nhất là không phải lúc đầu.
Plugin trả phí:
Một số plugin và mô-đun cho Joomla! được trả tiền, không giống
như WordPress hoặc Drupal. Bạn phải trả phí khi dành một chút thời
gian để đảm bảo rằng bạn sẽ không phải mua phần bổ sung miễn phí
trong một số tập lệnh khác.
Khả năng tương thích của các plugin:
Có thể xảy ra một số vấn đề tương thích khó chịu giữa một số
plugin. Nó có thể hóa ra rằng sẽ không thể có được một số chức năng
nếu không thực hiện một số công việc nghiêm túc trên mã PHP.
Sự tiếp xúc đầu tiên:
Nhiều người dùng, đặc biệt là người mới bắt đầu, rất sợ hãi trước
vô số khả năng và chức năng. Vì vậy, nếu trang web phải đơn giản và
người dùng hoặc khách hàng mới bắt đầu, sẽ khôn ngoan hơn nếu sử
dụng Quick.Cms hoặc WordPress .
3.1 Cài đặt và cấu hình Joomla trong Windows:
3.1.1 Cài đặt XAMPP:
Để download XAMPP truy cập website:(nên chọn version mới nhất)
https://www.apachefriends.org/download.html

Hình 2.1: Website download XAMPP.


Cài đặt XAMPP trên Windows rất đơn giản, về cơ bản bạn có thể chấp
nhận các mặc định và nhấn Next, Next ... cho tới khi hoàn thành.
Sau khi cài đặt xong ta bắt đầu khởi động XAMPP, click Start 2
module Apache và MySQL.
5
Hình 2.2: Dao diện XAMPP Control Panel.
3.1.2 Cài đặt Joomla! 4.0.5 Windows:
Để có thể cài đặt Jomla, chúng ta truy cập website:
https://downloads.joomla.org/ và download gói Full Packege mới nhất.

Hình 2.3: website download Jooma.


Sau khi download về ta được 1 file Zip, truy vấn đến đường dẫn C:\
xampp (ở đây thư mục cài đặt XAMPP )  htdocs  Giải nén file
Joomla ở đây.

Hình 2.4: Giải nén file Zip Joomla


Bây giờ mở trình duyệt web và nhập địa chỉ: "localhost:93" (93:
localhost lấy từ XAMPP hình 2.2)  Nhấn Go hoặc Enter
6
Để bắt đầu cài đặt Joomla nhập địa chỉ: "localhost:93/jurnal" hoặc
http://localhost:93/journal.

Hình 2.5: Dao diện localhost:93/jurnal.

Hình 2.6.1: Chọn ngôn ngữ mặc định và tên website.


Sau đó nhấn Next và nhập các dữ liệu cần thiết.

Hình 2.6.2: Thiết lập cấu hình website bước 2

7
Nếu MySQLi lỗi có thể chuyển qua dùng MySQL(PDO).
Vì truy cập với địa chỉ "localhost:93" nên Host Name bắt buộc dùng
tên: localhost

Hình 2.6.3: Thiết lập cấu hình website bước 3


Sau khi cài đặt xong Joomla! Ta sẽ được chuyển hướng đến dao diện
adminstrator với tên miền:
http://localhost:93/journal/administrator/index.php, bạn có thể đăng nhập
quyền admin với username và password đã tạo ra bên trên.
Từ đây bạn có thể làm mọi thứ với websaite với tên miền:
http://localhost:93/journal.

Hình 2.7: Dao diện trang web adminstrator.

8
Để quản lý cơ sơ dữ liệu nhấn vào mục “phpMyadmin” hoặc mở trình
duyệt và nhập tên miền: http://localhost:93/phpmyadmin/.
4.1 Cài đặt và cấu hình Joomla trong Linux:
4.1.1 Cài đặt MariaDB trong Linux:
Vì Joomla sẽ yêu cầu một cơ sở dữ liệu trên phụ trợ để lưu trữ dữ liệu
của nó, chúng ta cần cài đặt một máy chủ cơ sở dữ liệu quan hệ. Để cài
đặt MariaDB, hãy thực hiện lệnh: "$ sudo apt cài đặt mariadb-server"

Hình 2.8: Cài đặt MariaDB trong Linux.


Vì MariaDB không được bảo mật theo mặc định, điều đó khiến nó dễ
bị vi phạm. Ta nhập lệnh: "$ sudo mysql_secure_installation"

Hình 2.9: Đặt mật khẩu MySQL trong Linux.


Đối với phần còn lại của phần, chỉ cần nhập ‘Y’và nhấn ENTER để đặt
nó thành cài đặt được đề xuất sẽ củng cố bảo mật. Cuối cùng chúng tôi đã
bảo mật công cụ cơ sở dữ liệu của mình.
4.1.2 Cài đặt Joomla! 4.0.5 Linux :
9
Khởi động terminal.
Cài đặt PHP 8.1 trên Ubuntu 20.04 với command:
"$ sudo apt install apache2 libapache2-mod-php8.1 openssl php-
imageick php8.1-common php8.1-curl php8.1-gd php8.1-imap
php8.1-intl php8.1-json php8.1- ldap php8.1-mbstring php8.1-mysql
php8.1-pgsql php-smbclient php-ssh2 php8.1-sqlite3 php8.1-xml
php8.1-zip"

Hình 3.0: Chạy command cài PHP 8.1


Sau khi cài đặt hoàn tất, bạn có thể xác minh phiên bản Apache đã
cài đặt bằng cách chạy lệnh: "dpkg".

Hình 3.1: Chạy lệnh dpkg.


Bây giờ hãy khởi động và kích hoạt máy chủ web Apache:

Hình 3.2: Khởi động và kích hoạt Apache.


Để xác nhận rằng Apache đang hoạt động, hãy chạy lệnh:

Hình 3.3: Xác nhận Apache hoạt động.


Mở trình duyệt và nhập địa chỉ IP máy chủ của bạn sẽ nhận đc
thông báo Apache được cài đặt và đang chạy: "http://server-IP"

10
Hình 3.4: Xác minh Apache trong Linux.
Để xác nhận xem PHP đã được cài đặt ta thực hiện lệnh: "$ php -
v"

Hình 3.5: Kiểm tra phiên bản PHP.


Tiếp theo, chúng ta sẽ đăng nhập vào MariaDB bằng lệnh: $ sudo
"mysql -u root -p"
Để tạo cơ sở dữ liệu, người dùng cơ sở dữ liệu và cấp đặc quyền
cho người dùng cơ sở dữ liệu, hãy chạy các lệnh:

Hình 3.6: Cấp đặc quyền cho người dùng.


Để tải xuống gói cài đặt Joomla! 4.0.5, hãy thực hiện lệnh wget:
"$ sudo wget https://downloads.joomla.org/cms/joomla4/4-0-
5/Joomla_4-0-5-Stable-Full_Package.zip?format=zip"
Sau khi tải xuống hoàn tất. Chúng ta cần giải nén nó vào thư mục
webroot. Vì vậy, hãy tạo thư mục và gọi nó là ' Joomla '. Bạn có thể
đặt cho nó bất cứ tên nào bạn muốn.

Hình 3.7: Tạo thư mục Joomla.


Tiếp theo, giải nén tệp Joomla đã nén vào thư mục ' Joomla ' vừa
tạo.

11
Hình 3.8: Giải nén tệp Zip Joomla.
Sau khi hoàn tất, hãy đặt quyền sở hữu thư mục của thư mục thành
người dùng Apache và thay đổi các quyền:

Hình 3.9: Đặt quyền sở hữu thư mục.


Để các thay đổi có hiệu lực, hãy khởi động lại máy chủ web
Apache:

Hình 4.0: Khởi động lại máy chủ web Apache.


Tạo các tệp của máy chủ ảo cho Joomla và gọi nó là Joomla.conf
với lệnh:
"$ sudo vim /etc/apache2/sites-available/joomla.conf"
Nhập dòng ký tự như ảnh vào file Joomla.conf:

Hình 4.1: Nội dung file Joomla.conf


Tiếp theo, kích hoạt tệp máy chủ ảo bằng lệnh:
"$ sudo a2ensite joomla.conf
$ sudo a2enmod viết lại"
Sau đó, khởi động lại dịch vụ máy chủ web Apache để các thay đổi
có hiệu lực.
Mở trình duyệt và nhập tên miền: http://server-IP/joomla
12
Các bước tiếp theo bạn cài đặt Joomla! Như hình từ 2.6.1 đến hình
2.7

13
PHẦN 3: KẾT LUẬN

1. Kết quả đạt được:


Tìm hiểu tổng quan về web server mã nguồn mở như nội dung, khoản
mục,ứng dụng. Tìm hiều cách cài đặt và cấu hình Joomla trong việc quản lý
cấu hình phần mềm, mà ở đây là quản lý phiên bản (version). Nắm bắt các
cách thức website hoạt động thông qua hệ quản trị nội dung mã nguồn mở
Joomla.
2. Hạn chế của đề tài:
Web server software cũng chỉ là 1 ứng dụng phần mềm. Chúng được cài
đặt trên một máy mà bạn lựa chọn để giúp người dùng có thể tìm kiếm các
thông tin mà website của bạn cung cấp. Vì thế mà cần phải có một máy tính
cấu hình tốt, đáp ứng được khối lượng lớn người dùng truy cập cũng như lưu
trữ được dung lượng dữ liệu cao.

Quy trình phát triển phần mềm trong thực tế được thực hiện dưới sự tham
gia của nhiều người với những vai trò khác nhau và quản lý cấu hình phần
mềm cũng vậy. Do điều kiện chưa được tiếp xúc nhiều với môi trường phát
triển phần mềm thực tế nên không thể làm rõ hết được vai trò quyền hạn của
từng người trong quá trình thực hiện quản lý.

Nhiều người dùng, đặc biệt là người mới bắt đầu, rất sợ hãi trước vô số
khả năng và chức năng. Vì vậy, nếu trang web phải đơn giản và người dùng
hoặc khách hàng mới bắt đầu, sẽ khôn ngoan hơn nếu sử dụng Quick.Cms
hoặc WordPress .

3. Hướng phát triển:


Ứng dụng Joomla để đưa vào quản lý các website phục vụ cho các nhu
cầu khác cũng như những dự án mà mình tham gia.

Tìm hiểu những công cụ đi kèm, hỗ trợ khác trong quá trình phát triền
phần mềm để góp phần tạo ra sản phẩm đạt chất lượng cao nhất.

Tìm hiểu, thực tập tại các môi trường phát triển phần mềm thực tế để làm
rõ quy trình, vai trò, nhiệm vụ của từng thành viên trong dự án.

14
TÀI LIỆU THAM KHẢO

[1] https://en.wikipedia.org/wiki/Web_server
[2] https://opensource.com/article/17/8/enterprise-open-source-advantages
[3] https://en.wikipedia.org/wiki/Joomla
[4] https://source.vn/cac-loai-ma-nguon-lam-web/
[5] https://vi.wikipedia.org/wiki/Ngu%E1%BB%93n_m%E1%BB%9F
[6] https://www.tecmint.com/
[7] https://www.tecmint.com/10-wget-command-examples-in-linux/
[8] https://blog.templatetoaster.com/what-is-joomla/

15

You might also like