1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo Cáo Thực Tập: Xây dựng hệ thống WEBSERVER trên mã nguồn mở

76 26 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng hệ thống Webserver trên mã nguồn mở
Tác giả Hoàng Anh Tú
Người hướng dẫn ThS. Vương Xuân Chí
Trường học Trường Đại học Nguyễn Tất Thành
Chuyên ngành Kỹ thuật máy tính
Thể loại Báo cáo thực tập tốt nghiệp
Năm xuất bản 2022
Thành phố TP.HCM
Định dạng
Số trang 76
Dung lượng 10,12 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MẪU ĐỒ ÁN (HOẶC LUẬN VĂN ) TỐT NGHIỆP BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO THỰC TẬP TỐT NGHIỆP XÂY DỰNG HỆ THỐNG WEBSERVER TRÊN MÃ NGUỒN MỞ Giảng viê.

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO THỰC TẬP TỐT NGHIỆP

XÂY DỰNG HỆ THỐNG WEBSERVER TRÊN MÃ

NGUỒN MỞ

Giảng viên hướng dẫn: ThS VƯƠNG XUÂN CHÍ

Sinh viên thực hiện: HOÀNG ANH TÚ

MSSV: 1800001977

Chuyên ngành: Kỹ thuật máy tính

Đơn vị thực tập: Công Ty TNHH TT và GT LUCO MITHRAS Khóa: 2018

Tp.HCM, tháng 02 năm 2022

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO THỰC TẬP TỐT NGHIỆP

XÂY DỰNG HỆ THỐNG WEBSERVER TRÊN MÃ

NGUỒN MỞ

Giảng viên hướng dẫn: ThS VƯƠNG XUÂN CHÍ

Sinh viên thực hiện: HOÀNG ANH TÚ

MSSV: 1800001977

Chuyên ngành: Kỹ thuật máy tính

Đơn vị thực tập: Công Ty TNHH TT và GT LUCO MITHRAS Khóa: 2018

Tp.HCM, tháng 02 năm 2022

Trang 3

LỜI CẢM ƠN

Dòng viết đầu tiên chính là lời cảm ơn gửi đến thầy Th.S Vương Xuân Chí, người

mà đã tận tình quan tâm, hướng dẫn, cũng như sự giúp đỡ chân thành, những lời góp ýđầy chi tiết để em có thể hoàn thành một sản phẩm một cách tốt nhất

Và cũng chính vì sự chân thành, tận tụy của thầy giúp đỡ không chỉ em, mà cácbạn cùng lớp cũng được thầy chỉ dẫn, đưa ra những ưu điểm và khuyết điểm để có thểcải thiện sản phẩm cũng như kỹ năng cá nhân của mỗi người

Cuối cùng là lời nói cảm ơn sâu sắc nhất một lần nữa gửi đến thầy Chí đã cùng

em và các bạn đi hết chặng đường tuy không dài nhưng nói ngắn thì cũng không chínhxác, nó đủ để cảm nhận được sự yêu nghề, tính chuyên nghiệp trong ngành giáo dục củathầy, đặc biệt nhất đó chính là lòng yêu thương sự tận tình giúp đỡ mỗi khi sinh viên cần

Em cũng chân thành gửi lời cảm ơn đến các Thầy Cô khoa Công nghệ thông tintrường Đại học Nguyễn Tất Thành đã giảng dạy, hướng dẫn, trang bị các kiến thức cho

em trong thời gian học vừa qua, từ các kiến thức cơ bản đến các vấn đề chuyên sâu

Em xin gửi lời cảm ơn đến các anh, chị, bạn bè, đồng nghiệp bằng nhiều hìnhthức khác nhau đã giúp đỡ em trong quá trình học tập tại trường cũng như trong thờigian hoàn thành đồ án lần này

Đặc biệt là xin gửi lời cảm ơn đến cha mẹ và anh chị em trong gia đình đã độngviên tinh thần cũng như chia sẻ những khó khăn trong những năm qua

Trong khoảng gian thực hiện đồ án, những điều sai và thiếu kinh nghiệm vì kiếnthức còn rất hạn hẹp Cho nên bài tập đồ án sẽ không tránh khỏi những sơ sót đáng tiếc

Em xin cảm ơn thầy đã đọc hết bài tập đồ án của chúng em và mong thầy góp ý nhận xét

để chúng em hoàn thành đề tài này

Xin chân thành cảm ơn !

Trang 4

LỜI MỞ ĐẦU

Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem làmột trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổchức, cũng như của các công ty, nó đóng vai trò hết sức quan trọng, có thể tạo ranhững bước đột phá mạnh mẽ

Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử, côngnghệ thông tin cũng được những công nghệ có đẳng cấp cao và lần lượt chinh phụchết đỉnh cao này đến đỉnh cao khác Mạng Internet là một trong những sản phẩm cógiá trị hết sức lớn lao và ngày càng trở nên một công cụ không thể thiếu, là nền tảngchính cho sự truyền tải, trao đổi thông tin trên toàn cầu

Trong vấn đề kết nối các thông tin, chia sẻ dữ liệu thì công nghệ thông tin cũng có thểxem như là một cuốn nhật ký cá nhân, lưu giữ các kỷ niệm của bản thân trên một môitrường databloger, cho phép các cá nhân có thể lưu trữ cũng như chia sẻ các kỷ niệm củabản thân nếu muốn, nó là một dạng nhật ký mạng có thể cho phép mọi người xem hoặckhông phụ thuộc vào chủ sở hữu

Với lí do đó, được sự hướng dẫn và giúp đỡ của thầy giáo Th.s Vương Xuân Chí, em

đã chọn đề tài: ”Xây dựng hệ thống Webserver trên mã nguồn mở” làm đề tài cho

mình

Trang 5

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Điểm đồ án: .

TPHCM, Ngày …… tháng …… năm

Giáo viên hướng dẫn

Trang 6

NHẬN XÉT CỦA CƠ QUAN THỰC TẬP

TPHCM, Ngày …… tháng …… năm 2022

Xác nhận của đơn vị thực tập

(Ký tên, đóng dấu)

Trang 7

MỤC LỤC

LỜI CẢM ƠN i

LỜI MỞ ĐẦU ii

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN iii

NHẬN XÉT CỦA CƠ QUAN THỰC TẬP iv

MỤC LỤC v

DANH MỤC CÁC BẢNG BIỂU viii

DANH MỤC CÁC BẢNG HÌNH ix

DANH MỤC CÁC TỪ VIẾT TẮT x

SỔ NHẬT KÝ THỰC TẬP xii

PHIẾU NHẬN XÉT SINH VIÊN THỰC TẬP xv

CHƯƠNG 1: GIỚI THIỆU CÔNG TY TT và GT LUCO MITHRAS 1

1.1 GIỚI THIỆU 1

1.2 HOẠT ĐỘNG CHÍNH CỦA CÔNG TY TT VÀ GT LUCO MIRTHRAS 1

1.3 SƠ ĐỒ NHÂN SỰ CỦA CÔNG TY TT và GT LUCO MIRTHRAS 1

CHƯƠNG 2 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH MÃ NGUỒN MỞ 2

2.1 Tổng quan về mã nguồn mở 2

2.1.1 Lịch sử ra đời 2

2.1.2 Mã nguồn là gì? 2

2.1.3 Mã nguồn mở là gì? 4

2.1.4 Tổng quan về Linux 5

2.2 Một số mã nguồn mở phổ biến 6

2.2.1 Red Hat Enterprise Linux 6

2.2.2 Ubuntu Server 8

2.2.3 CentOS 9

2.2.4 Debian Stable 10

2.2.5 SUSE Leap 11

2.2.6 Fedora 12

2.2.7 Oracle Linux 12

Trang 8

2.4 Nhược điểm của mã nguồn mở 15

2.5 Kết luận 15

CHƯƠNG 3 CÁC DỊCH VỤ TRÊN NỀN TẢNG MÃ NGUỒN MỞ 17

3.1 Apache 17

3.1.1 Khái niệm 17

3.1.2 Web Server 18

3.1.3 Cách thức hoạt động của Apache WebServer 18

3.1.4 Ưu, nhược điểm của Apache 19

3.2 Nginx 20

3.2.1 Khái niệm 20

3.2.2 Cách thức hoạt động của Nginx Server 21

3.2.3 Tính năng của Nginx 22

3.3 MySQL 22

3.3.1 Khái niệm 22

3.3.2 So sánh MySQL với SQL Server 23

3.3.3 Ưu, nhược điểm của MySQL 24

3.4 PHP 25

3.4.1 Khái niệm 25

3.4.2 Tính năng 26

3.4.3 Ưu, nhược điểm của PHP 27

3.4.4 Kết luận 28

CHƯƠNG 4 DEMO WEBSITE HỌC ONLINE 29

4.1 Cài đặt Ubuntu 29

4.2 Cài đặt Nginx 30

4.3 Cài đặt MadaraDP 35

4.4 Cài đặt PHP 39

4.5 Cài đặt Wordpress 47

4.6 Add theme và chình sửa website 52

TÀI LIỆU THAM KHẢO 56

Trang 9

DANH MỤC CÁC BẢNG BIỂU

Bảng 1.2.2.1 Cấu hình cơ bản cho hệ điều hành Ubuntu 7Bảng 2.3.2.1 Bảng so sánh MySQL và SQL Server 22

Trang 10

DANH MỤC CÁC BẢNG HÌNH

Hình 1.1.1.1 Logo của OSI và cụm từ “Open Source” 1

Hình 1.1.2.1 Ví dụ về mã nguồn một chương trình được viết bằng C++ 2

Hình 1.1.3.1 Minh họa cho mã nguồn mở 2

Hình 1.1.3.2 Minh họa cho ý tưởng hình thành mã nguồn mở 3

Hình 1.1.4.1 Lịch sử phát triển của Linux 4

Hình 1.2.1.1 Lịch sử phát triển của Red Hat Enterprise Linux 5

Hình 1.2.1.2 Giao diện Red Hat Enterprise Linux 6

Hình 1.2.2.1 Logo Ubuntu 6

Hình 1.2.3.1 Logo CentOS 8

Hình 1.2.4.1 Logo Debian Stab 8

Hình 1.2.5.1 Logo Suse Leap 9

Hình 1.2.6.1 Logo Fedora 10

Hình 1.2.7.1 Logo Oracle 10

Hình 1.2.8.1 Logo Arch Linux 11

Hình 2.1.1.1 Logo Apache 15

Hình 2.1.3.1 Apache Web Server 17

Hình 2.2.1.1 Logo Nginx 19

Hình 2.3.1.1 Logo MySQL 21

Hình 2.4.1.1 Logo PHP 24

Trang 11

DANH MỤC CÁC TỪ VIẾT TẮT

1 AIX Advanced Interactive eXceed

2 AMD Advanced Micro Devices

3 ARM Acorn RISC Machine

4 ASP Active Server Pages

5 CentOS Community Enterprise Operating System

6 CPU Central Processing Unit

7 CSDL Cơ sở dữ liệu

8 FLV Flash Video

9 Gb Gigabyte

10 GNOME GNU Network Object Model Enviroment

11 GPL General Public License

12 HĐH Hệ điều hành

13 HP-UX Hewlett-Packard Unix

14 HTLM Hypertext Markup Language

15 HTTP HyperText Transfer Protocol

16 IA-64 Itanium-64

17 IBM International Business Machines

18 IMAP Internet Message Access Protocol

19 IPv4 Internet Protocol version 4

20 IPv6 Internet Protocol version 6

21 JSP JavaServer Pages

22 KDE K Desktop Environment

23 LXDE Lightweight X11 Desktop Environment

24 MB Megabyte

25 MHz Megahertz

26 OOP Object-Oriented Programming

27 OSI Open Source Initiative

28 PC Personal Computer

29 PERL Practical Extraction and Report Language

30 PHP Personal Home Page

31 POP3 Post Protocol Version 3

32 RAM Random Access Memory

33 RDBMS Relational Database Management System

34 RHEL Red Hat Enterprise Linux

Trang 12

37 SMTP Simple Mail Transfer Protocol

38 SQL Structured Query Language

39 SSH Secure Shell

40 SSL Secure Sockets Layer

41 SSMS Management Studio

42 TLS Transport Layer Security

43 URL Uniform Resource Locator

44 VGA Video Graphic Adaptor

Trang 13

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH

KHOA CÔNG NGHỆ THÔNG TIN

SỔ NHẬT KÝ THỰC TẬP

Họ tên HSSV: HOÀNG ANH TÚ

Ngành: CÔNG NGHỆ THÔNG TIN

Cơ quan thực tập Công Ty TNHH TT và GT LUCO MITHRAS

Thời gian thực tập: Từ 18/02/2021 đến 07/05/2022

Trang 14

* Lưu ý: Nội dung thực tập được liệt kê và đánh giá theo từng tuần trong đợt thực tập.

Tuần Thời gian Nội dung thực tập

Nhận xét của đơn vị thực tập

Chữ ký Người

HD của đơn vị thực tập

Trang 16

PHIẾU NHẬN XÉT SINH VIÊN THỰC TẬP

TPHCM, Ngày …… tháng …… năm 2022

Xác nhận của đơn vị thực tập

(Ký tên, đóng dấu)

Trang 17

CHƯƠNG 1 GIỚI THIỆU CÔNG TY TT và GT LUCO MITHRAS

- 13/09/2022 Luco Mithras Quận 12 chính thức đi vào hoạt động

1.2 HOẠT ĐỘNG CHÍNH CỦA CÔNG TY TT VÀ GT LUCO MIRTHRAS

- Cung cấp dịch vụ báo chí trên mọi nền tảng Facebook/Ins/Tiktok

- Hỗ trợ doanh nghiệp định vị thương hiệu

- Hợp tác sáng tạo nội dung ngắn và dài hạn

- Ekip phỏng vấn, quay chụp chuyên nghiệp

- Hỗ trợ Quảng Cáo và SEO trên các đa nền tảng

1.3 SƠ ĐỒ NHÂN SỰ CỦA CÔNG TY TT và GT LUCO MIRTHRAS

Trang 18

CHƯƠNG 2 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH MÃ NGUỒN MỞ

2.1 Tổng quan về mã nguồn mở

2.1.1 Lịch sử ra đời

Cụm từ “mã nguồn mở” được tạo ra tại hội nghị chiến lược tổ chức ngày 3 tháng 2năm 1998 tại Palo Alto, California, ngay sau khi công bố việc phát hành mã nguồn trìnhduyệt web Netscape Hội nghị tập trung vào việc thông báo của Netscape đã tạo ra cơ hội

để học tập, phát triển và là minh chứng cho sự ưu việt của quá trình phát triển phần mềm

mở Những người tham gia hội nghị cho rằng việc Netscape công bố mã nguồn, thuyếtphục người dùng và các nhà phát triển tham gia sáng tạo, cải thiện mã nguồn đã tạo ramột cộng đồng mã nguồn mở Đồng thời, họ cũng thấy cần phải có từ để chỉ ra và phânbiệt nó với các khái niệm khác và cụm từ “open source” đã được đề xuất bởi ChristinePeterson Hai người trong số những người tham gia hội nghị là Bruce Perens và EricRaymond đã thành lập nên tổ chức Open Source Initiative (OSI) – công ty thúc đẩy việc

sử dụng phần mềm nguồn mở vào cuối tháng 2 năm 1998 Việc sử dụng các thuật ngữ vàphát triển phần mềm với sự hỗ trợ ban đầu của cộng đồng mã nguồn mở Netscape đãnhanh chóng lan rộng và phát triển như ngày nay

Hình 1.1.1.1 Logo của OSI và cụm từ “Open Source”

2.1.2 Mã nguồn là gì?

Mã nguồn (Source Code) là một phiên bản phần mềm được viết bởi con người (lậptrình viên) ở dạng văn bản Mã nguồn bao gồm một hoặc nhiều tập tin chứa các dònglệnh dưới dạng một hoặc nhiều ngôn ngữ lập trình Mã nguồn có thể dịch được thànhngôn ngữ máy (machine language) bởi trình biên dịch (compiler) để có thể sử dụng trênmáy tính hoặc các thiết bị có vi xử lý

Trang 19

Hình 1.1.2.1 Ví dụ về mã nguồn một chương trình được viết bằng C++

Trang 20

Về cơ bản, mã nguồn có 2 loại: Mã nguồn mở (Open Source Code) và mã nguồn đóng(Closed Source Code).

2.1.3 Mã nguồn mở là gì?

Mã nguồn mở (Open Source Code) chỉ những phần mềm mà mã nguồn có sẵn chophép mọi người (thường là các lập trình viên) có thể tải về, xem, sử dụng, chỉnh sửa lạinếu thấy phù hợp và có thể phân phối lại nếu tuân thủ các điều khoản về mã nguồn mở

do tổ chức Open Source Initiative – Hoa Kỳ đề ra

Hình 1.1.3.1 Minh họa cho mã nguồn mở

Từ thời công nghệ còn sơ khai, ý tưởng về mã nguồn mở được các lập trình viên vàcác chuyên gia nhen nhóm khi mà họ cần phải phát triển các công nghệ mới dựa trênhình thức hợp tác Lấy ví dụ, một lập trình viên ở Việt Nam phát triển một ứng dụngmới Tuy nhiên, một lập trình viên ở Mỹ lại nghiên cứu ứng dụng và tìm ra phương pháp

để cải thiện ứng dụng đó tốt hơn Hình thức hợp tác giữa hai lập trình viên đã giúp chokiến thức được chia sẻ, thúc đẩy khả năng sáng tạo và người dùng sẽ được sử dụngnhững ứng dụng mới nhất, tốt nhất

Trang 21

Hình 1.1.3.2 Minh họa cho ý tưởng hình thành mã nguồn mở

Tháng 9/1991, phiên bản Linux 0.01, phiên bản Linux đầu tiên được Torvalds công

bố, với 10.239 dòng lệnh Phiên bản 0.02 được ra mắt 1 tháng sau đó

Ngày 3/11/1994, Red Hat Linux, phiên bản 1.0 được giới thiệu Đây là một trongnhững hệ điều hành được thương mại hóa đầu tiên dựa trên Linux

Năm 1996, Linus Torvalds ghé thăm công viên hải dương học, tại đây, ông đã quyếtđịnh sử dụng hình ảnh chú chim cánh cụt để làm biểu tượng chính thức của Linux

Trang 22

Hình 1.1.4.1 Lịch sử phát triển của LinuxLinux phát hành nhiều bản phân phối mới và thuờng xuyên nâng cấp để đáp ứng nhucầu người dùng:

 Ubuntu

 Linux Mint

 Debian

 Fedora

 CentOS/Red Hat Enterprise Linux

 OpenSUSE/SUSE Linux Enterprise

 Mageia/Mandriva

 Slackware Linux

 Puppy Linux

2.2 Một số mã nguồn mở phổ biến

2.2.1 Red Hat Enterprise Linux

Red Hat Enterprise Linux (RHEL) là một bản phân phối Linux được phát triển bởiRed Hat và mục tiêu hướng tới thị trường thương mại

Trang 23

Hình 1.2.1.1 Lịch sử phát triển của Red Hat Enterprise LinuxMáy chủ RHEL là một phần mềm mạnh mẽ, ổn định và an toàn để cung cấp nănglượng cho các trung tâm dữ liệu hiện đại với khả năng lưu trữ hướng phần mềm Nó hỗtrợ tốt cho đám mấy, IoT, dữ liệu lớn, trực quan hóa và container.

RHEL server hỗ trợ các máy 64- bit ARM, Powser và IBM System z

Trang 24

Hình 1.2.1.2 Giao diện Red Hat Enterprise Linux

2.2.2 Ubuntu Server

Ubuntu là hệ điều hành mã nguồn mở tự do, có nghĩa là người dùng được tự do chạy,sao chép, phân phối, nghiên cứu, thay đổi và cải tiến phần mềm theo điều khoản của giấyphép GNU GPL Ubuntu được tài trợ bởi Canonical Ltd (chủ sở hữu là một người NamPhi Mark Shuttleworth) Thay vì bán Ubuntu, Canonical tạo ra doanh thu bằng cách bán

hỗ trợ kĩ thuật Bằng việc để cho Ubuntu tự do và mở mã nguồn, Canonical có thể tậndụng tài năng của những nhà phát triển ở bên ngoài trong các thành phần cấu tạo củaUbuntu mà không cần phải tự mình phát triển

Hình 1.2.2.1 Logo Ubuntu

Trang 25

Các phiên bản Ubuntu:

 Ubuntu 6.06 LTS Bình minh của Ubuntu (Dawn of Ubuntu)

 Ubuntu 12.04 (Precise Pangolin)

 Ubuntu 14.04(Trusty Tahr)

 Cập nhật lifecyle 12.04.1, 12.04.2, 12.04.3 và 12.04.4 cho Ubuntu 12.04

 Cập nhật lifecyle 14.04.1, 14.04.2, 14.04.3 và 14.04.4 cho Ubuntu 14.04

Cấu hình tối thiểu cho phiên bản Desktop của Ubuntu:

Phiên bản Desktop của Ubuntu hiện tại hỗ trợ các máy tính cấu trúc Intel x86, AMD,

và ARM Phiên bản server cũng hỗ trợ máy có cấu trúc SPARC Cũng có bản hỗ trợkhông chính thức cho các cấu trúc PowerPC, IA-64 (Itanium) và PlayStation 3 Ngoài ra,cũng có hỗ trợ không chính thức cho nền tảng PowerPC

Cấu hình tối thiểu cho quá trình cài đặt Ubuntu Desktop là máy có RAM 256 MB, ổcứng còn 5 Gb chỗ trống, và card màn hình VGA hỗ trợ độ phân giải 640×480 trở lên.Cấu hình khuyên dùng cho quá trình cài đặt là máy có bộ vi xử lý 700 MHz x86, RAM

384 MB, ổ cứng còn 8 GB trống, và card màn hình VGA hỗ trợ độ phân giải 1024×768.Cấu hình tối thiểu cho việc cài đặt phiên bản server là máy có bộ vi xử lý 300 MHzx86, RAM 256 MB, và card màn hình VGA hỗ trợ độ phân giải 640×480 trở lên

Những máy tính không hỗ trợ đủ cấu hình tối thiểu, được khuyên dùng Lubuntu, mộtbản phân phối tương tự Ubuntu nhưng dựa trên môi trường làm việc LXDE

Desktop and Laptop

Server Tối thiểu Khuyên dùng

CPU 300 MHz (x86) 700 MHx (x86) 300 MHz (x86)

Video card VGA @ 640x480 VGA @ 1024 x 768 VGA @ 640x480

Bảng 1.2.2.1 Cấu hình cơ bản cho hệ điều hành Ubuntu

2.2.3 CentOS

CentOS là một phiên bản mã nguồn mở và ổn định của Red Hat Enterprise Linux

Trang 26

mặt hoạt động với RHEL Nếu bạn muốn sử dụng RHEL mà không phải trả một khoảnphí đáng kể, thì CentOS chính là sự lựa chọn dành cho bạn

Hình 1.2.3.1 Logo CentOSCentOS là OS miễn phí, nên bạn có thể nhận được sự hỗ trợ từ các thành viên kháctrong cộng đồng, người dùng và các tài nguyên trực tuyến

2.2.4 Debian Stable

Debian là bản phân phối Linux miễn phí, mã nguồn mở và ổn định do cộng đồng duytrì và phát triển Sử dụng một hệ thống đóng gói mạnh mẽ với hơn 51.000 packages.Debian được sử dụng nhiều bởi các tổ chức giáo dục, công ty kinh doanh, tổ chức philợi nhuận và chính phủ

Hình 1.2.4.1 Logo Debian Stable

Trang 27

Tất cả các bản phân phối đều có guidelines cho các packages, nhưng Debian PolicyManual là toàn diện nhất Tài liệu hướng dẫn này chi tiết mọi khía cạnh của mộtpackage Do đó Debian Stable (ổn địnnh) gần như chắc chắn là phiên bản đáng tin cậynhất của Linux Ngay cả Unstable cũng khá ổn định, không hề thua kém các bản phânphối khác, mặc dù đôi khi vẫn có một vài sự cố hy hữu xảy ra.

2.2.5 SUSE Leap

SUSE Linux là một hệ điều hành được sử dụng khá phổ biến ở Châu Âu Đây là mộttrong những sản phẩm chiến lược của hãng Novell Bên cạnh hệ điều hành SUSE LinuxEnterprise được phân phối có phí, Novell còn hỗ trợ dự án xây dựng một sản phẩm mãnguồn mở & miễn phí

Hiện tại phiên bản ổn định mới nhất của OpenSUSE đã là phiển bản 42.1 với tên mãLeap, phiên bản đang phát triển mang mã Tumbleweed

Hình 1.2.5.1 Logo Suse LeapMục tiêu chính của LEAP là tạo ra một bản phân phối cấp doanh nghiệp ổn định đượcthiết kế cho các máy trạm và máy chủ miễn phí Từ đó mã được lấy và đưa vào SLE

Trang 28

Hình 1.2.6.1 Logo FedoraFedora cũng cung cấp các công cụ quản trị hệ thống và phát triển mới trực tiếp từ RedHat Điều này làm cho nó trở thành một lựa chọn tuyệt vời cho workstation của nhà pháttriển hoặc trung tâm điều khiển của admin hệ thống.

Hiện nay Fedora có hơn khoảng 29 phiên bản chính thức

Hỗ trợ các kiến trúc như X86, ARMhf, Power, PPC64LE, ARM64, S390X

2.2.7 Oracle Linux

Oracle Linux là một bản phân phối Linux mã nguồn mở miễn phí được đóng gói vàphân phối bởi Oracle dành cho đám mây Nó được thiết kế đặc biệt cho các trung tâm dữliệu đám mây nhỏ, vừa cho tới cả các doanh nghiệp lớn

Hình 1.2.7.1 Logo Oracle

Trang 29

Oracle Linux cũng được gọi là Oracle doanh nghiệp Linux Đây là một bản phân phốimiễn phí của Oracle, có sẵn theo Giấy phép Công cộng GNU và nó có sự hỗ trợ cộngđồng lớn Oracle Cloud và Oracle Engineering Systems như Oracle Exadata sử dụngphiên bản Linux này.

2.2.8 Arch Linux

Arch Linux cũng là một bản phân phối Linux miễn phí và mã nguồn mở, đơn giản,nhẹ nhưng an toàn Nó linh hoạt và rất ổn định, sử dụng các gói và kho được cộng đồng

hỗ trợ

Arch Linux là bản phân phối kiểu general-purpose được tối ưu hóa cho kiến trúc i686

và x86-64 Tuy nhiên do sự sụt giảm của các nhà phát triển và thành viên trong cộngđồng, hỗ trợ cho i686 hiện đã bị loại bỏ

Hình 1.2.8.1 Logo Arch Linux

Trang 30

Trong số các bản phân phối Linux phổ biến, Arch Linux rất đặc biệt Ubuntu vàFedora, như Windows và macOS, sẵn sàng hoạt động ngay sau khi cài đặt Ngược lại,Arch Linux thách thức bạn tự xây dựng hệ điều hành PC của riêng mình.Arch Linux.Arch Linux giúp người dùng tìm kiếm những thông tin liên quan đến kỹ thuật mộtcách dễ dàng.

2.3 Ưu điểm của mã nguồn mở

 Miễn phí và sẽ luôn như vậy: Các phần mềm mã nguồn mở là miễn phí hay cóchăng chỉ là những quyên góp nhỏ ủng hộ cho tổ chức (cá nhân) đứng ra phát hành cácbản phần mềm đó trên tinh thần tự nguyện Chắc chắn đây là một yếu tố quan trọng giúpngười dùng đến gần hơn với phần mềm nguồn mở

 Dễ dàng chia sẻ: Phần mềm nguồn mở cho phép chúng ta chia sẻ với bạn bè,người thân hay bất kỳ ai mà không sợ vi phạm bản quyền

 Bảo mật: Với sự tham gia của cả cộng đồng thì việc tìm ra lỗ hổng bảo mật dễdàng hơn bao giờ hết, đó cũng là lý do mà các phần mềm nguồn mở thường sẽ có bảncập nhật nhanh chóng và kịp thời hơn so với phần mềm bản quyền

 Tính năng phù hợp: Các phần mềm mã nguồn mở thường sẽ có các tính năng rấtphù hợp với nhu cầu của người dùng vì chính họ đang đóng góp một phần vào việc pháttriển phần mềm, đó cũng là lý do mà các phần mềm mã nguồn mở thường rất nhẹ nhàng

 Chi phí: Những phần mềm mã nguồn mở thường miễn phí hoặc chi phí rất thấp.Những phần mềm này thường được các doanh nghiệp săn đón hơn các phần mềm bảnquyền khi mà họ sẽ cắt giảm bớt chi phí bản quyền, phí nâng cấp, phí phát triển phầnmềm Đồng thời các phần mềm mã nguồn mở thường sẽ tận dụng được tối đa phần cứng(phần mềm mới nhất vẫn có thể chạy tốt trên các đời máy tính cũ), giúp cho các doanhnghiệp có thể tiết kiệm tối đa chi phí Chi phí mà họ bỏ ra chỉ để phát triển phần mềmcho phù hợp với từng giai đoạn phát triển mà thôi

 Tính tùy biến: Việc phải chờ đợi vào một số nhà phát triển phần mềm có thể gâythiệt hại cho doanh nghiệp, thay vào đó, nếu sử dụng phần mềm nguồn mở, họ có thể tựphát triển dựa trên mã nguồn có sẵn để phù hợp hơn với tình hình doanh nghiệp của họ

Trang 31

 Bản quyền: Với việc sử dụng phần mềm nguồn mở, tổ chức, doanh nghiệp sẽtránh được việc vi phạm bản quyền hoặc tranh chấp về bản quyền phần mềm.

 An toàn, bảo mật: Việc nhiều người cùng phát triển giúp dễ dàng kiểm soát các lỗhổng bảo mật, điều này thực sự quan trọng với các doanh nghiệp, giúp họ tránh đượcnhững rủi ro nhất định

 Tăng tính thương hiệu: Đối với các doanh nghiệp, việc có thể tự hào tuyên bốchuyển đổi công nghệ thành công và hoàn toàn không vi phạm bản quyền là một điểmcộng trong mắt đối tác của họ

2.4 Nhược điểm của mã nguồn mở

 Ít có bản cập nhật tính năng mới: Thông thường, những bản cập nhật của phầnmềm mã nguồn mở chỉ là những bản vá bảo mật và những sửa đổi nho nhỏ, ít khi tung ranhững tính năng mới vì ban đầu nó đã được tạo ra để đáp ứng các nhu cầu nhất định vàkhông phải ai cũng có đủ nhiệt huyết để duy trì hỗ trợ một dự án suốt đời

 Phân nhánh: Vì là những dự án mã nguồn mở làm cho cộng đồng, mà “chín ngườimười ý”, nên để thỏa mãn nhu cầu của những nhóm người nhất định, các dự án sẽ dầntách thành các nhánh phát triển khác nhau, đó cũng là nguyên nhân làm cho người dùng

ái ngại khi phải sử dụng phần mềm mã nguồn mở vì có quá nhiều sự lựa chọn!

 Thiếu nhân lực, kinh phí duy trì: Vì là phần mềm miễn phí, ai cũng có thể sử dụngnên chẳng mấy ai đóng góp, ủng hộ để những nhà phát triển tiếp tục duy trì cập nhậtnhững dự án mã nguồn mở nữa Nhiều dự án lớn muốn tồn tại và phát triển phải đượcduy trì bởi quỹ của một công ty hay tổ chức nào đó Với những dự án phát triển nhỏ lẻthì chẳng khác nào những nhà phát triển phần mềm đang đi làm từ thiện vì đam mê cả!

2.5 Kết luận

Phần mềm mã nguồn mở thực sự được ưa chuộng trong thời đại số ngày nay Mặc dùkhông thể phủ nhận một số lợi ích nhất định của các công nghệ độc quyền với các doanhnghiệp, nhưng phần mềm mã nguồn mở đã và đang đóng một vai trò cực kỳ quan trọngtrong việc giúp chúng ta đến gần hơn với một thế giới hiện đại mà ở đó, chúng ta chính

Trang 32

đã đáp ứng gần như toàn bộ những nhu cầu cần thiết của chúng ta Là những người vănminh trong thời đại số, nếu không có đủ điều kiện kinh tế để mua bản quyền phần mềm,hãy sử dụng phần mềm mã nguồn mở để tôn trọng những con người đang ngày đêmđóng góp công sức cho ngành công nghiệp phần mềm.

Trang 33

CHƯƠNG 3 CÁC DỊCH VỤ TRÊN NỀN TẢNG MÃ NGUỒN MỞ

3.1 Apache

3.1.1 Khái niệm

Apache là phần mềm web server miễn phí mã nguồn mở Nó đang chiếm đến khoảng46% thị phần websites trên toàn thế giới Tên chính thức của Apache là Apache HTTPServer, được điều hành và phát triển bởi Apache Software Foundation

Nó giúp chủ website đưa nội dung lên web – vì vậy có tên gọi là “web server”.Apache là một trong số những web server lâu đời và đáng tin cậy nhất, phiên bản đầutiên đã được ra mắt từ hơn 20 năm trước, tận những năm 1995

Khi một người truy cập vào website của bạn, các công ty sẽ điền tên miền vào thanhđịa chỉ Sau đó, web server sẽ chuyển những files được yêu cầu xuống như là một nhânviên chuyển hàng ảo

Tại Hostinger, nền tảng web hosting giá rẻ của các công ty sử dụng Apache song songvới NGINX, cũng là một phần mềm web server phổ biến Phương pháp cài đặt đặc biệtnày giúp các công ty có lợi thế từ cả 2 nền tảng Nó đảm bảo hiệu năng mà không phải

hy sinh chấp nhận những điểm yếu của một trong 2 phần mềm

Trang 34

Nhưng Website Server vẫn tồn tại những khó khăn nhất định đó là việc kéo thả dữliệu cho nhiều người dùng cùng lúc mà mỗi người lại tìm kiếm đến một trang web khácnhau Vì vậy cùng một lúc, web server phải xử lý các file dưới nhiều dạng ngôn ngữ lậptrình như Java, Python…

Sau đó chính những ngôn ngữ lập trình này được biến đổi, giải nén thành các fileHTML và chạy trên trình duyệt cho người dùng Hay một khái niệm tổng quan cho Webserver đó chính là một phương tiện nhằm mục đích giao tiếp giữa hai đối tượng server vàclient

3.1.3 Cách thức hoạt động của Apache WebServer

Mặc dù chúng ta gọi Apache là web server, nhưng nó lại không phải là server vật lý,

nó là một phần mềm chạy trên server đó Công việc của nó là thiết lập kết nối giữaserver và trình duyệt người dùng (Firefox, Google Chrome, Safari, vâng vâng.) rồichuyển file tới và lui giữa chúng (cấu trúc 2 chiều dạng client-server) Apache là mộtphần mềm đa nền tảng, nó hoạt động tốt với cả server Unix và Windows

Khi một khách truy cập tải một trang web trên website của bạn, ví dụ, trang chủ

“About Us”,trình duyệt người dùng sẽ gửi yêu cầu tải trang web đó lên server và Apache

sẽ trả kết quả với tất cả đầy đủ các file cấu thành nên trang About Us (hình ảnh, chữ,

Trang 35

vâng vâng) Server và client giao tiếp với nhau qua giao thức HTTP và Apache chịutrách nhiệm cho việc đảm bảo tiến trình này diễn ra mượt mà và bảo mật giữa 2 máy.Apache là một nền tảng module có độ tùy biến rất cao Moduels cho phép quản trịserver tắt hoặc thêm chức năng Apache có modules cho bảo mật caching, URLrewriting, chứng thực mật khẩu, Bạn cũng có thể thiết lập cấu hình server riêng quafile gọi là htaccess, vốn là file cấu hình Apache được hỗ trợ hoàn toàn bởi mọi góihosting của Hostinger.

Hình 2.1.3.1 Apache Web Server

3.1.4 Ưu, nhược điểm của Apache

 Ưu điểm:

 Đây là một phần mềm mã nguồn mở miễn phí phục vụ được cho nhiều mục đíchngoài về công nghệ mà còn có thể trên cả lĩnh vực thương mại, kinh doanh

 Là một phần mềm đáng tin cậy, chất lượng ổn định

 Được cập nhật một cách thường xuyên, phát hiện báo lỗi và lỗi bảo mật liên tục giúp

Trang 36

 Hoạt động hiệu quả, nhanh nhạy với WordPress sites.

 Sở hữu một cộng đồng lớn nhằm tương trợ, giải đáp thắc mắc trong mọi vấn đề

 Cấu hình đơn giản, thân thiện với những người mới bắt đầu sử dụng ứng dụng này

 Nhược điểm:

 Bởi nhiều người có thể truy cập vào cùng một lúc nên đôi khi quá trình truy vấn còngặp trục trặc, chậm hoặc thông tin đến người dùng có sự nhầm lẫn làm ảnh hưởngđến hiệu năng làm việc của Apache Web

 Cũng chính vì sự miễn phí của app nên người dùng có thể lựa chọn sử dụng nhiềucách thiết lập khác nhau và chính vì vậy dẫn đến tình trạng bảo mật đôi khi còn kém

3.2 Nginx

3.2.1 Khái niệm

Nginx là một phần mềm web server mã nguồn mở nỗi tiếng Ban đầu nó dùng để phục

vụ web HTTP Tuy nhiên, ngày nay nó cũng được dùng làm reverse proxy, HTTP loadbalancer và email proxy như IMAP, POP3, và SMTP

NGINX xuất bản chính thức vào tháng 10 năm 2004 Nhà sáng lập của phần mềm này

là Igor Sysoev, triển khai dự án từ năm 2002 để giải quyết vấn đề C10k C10k là giớihạn của việc xử lý 10 ngàn kết nối cùng lúc Ngày nay, có nhiều web server còn phảichịu nhiều kết nối hơn vậy để xử lý NGINX sử dụng kiến trúc hướng sự kiện (event-driven) không đồng bộ (asynchronous) Tính năng này khiến NGINX server trở nên đángtin cậy, tốc độ và khả năng mở rộng lớn nhất

Vì khả năng mạnh mẽ, và để có thể xử lý hàng ngàn kết nối cùng lúc, nhiều website

có traffic lớn đã sử dụng dịch vụ NGINX Một vài trong số những ông lớn công nghệdùng nó là Google, Netflix, Adobe, Cloudflare, WordPress, và còn nhiều hơn nữa

Trang 37

Hình 2.2.1.1 Logo Nginx

3.2.2 Cách thức hoạt động của Nginx Server

Trước khi học về NGINX, chúng ta cần biết cách web server hoạt động thế nào đã Ví

dụ như, khi ai đó gửi một yêu cầu để mở một trang web Trình duyệt sẽ liên lạc vớiserver chứa website đó Sau đó, server sẽ tìm kiếm đúng file yêu cầu của trang đó và gửingược về cho server Đây là một loại truy vấn đơn giản nhất

Ví dụ trên được xem như là một single thread – một bộ các bước xử lý dữ liệu đượcthực thi theo 1 trình tự duy nhất Web server truyền thống tạo một thread cho mỗi yêucầu (request) NGINX thì hoạt động theo một cách khác Nó hoạt động theo kiến trúc bấtđồng bộ (asynchronous), hướng sự kiện (event driven) Kiến trúc này có thể hiểu lànhững threads tương đồng nhau sẽ được quản lý trong một tiến trình (process), và mỗitiến trình hoạt động chưa các thực thể nhỏ hơn gọi là worker connections Cả bộ đơn vịnày chịu trách nhiệm xử lý các threads

Worker connections sẽ gửi các truy vấn cho một worker process, worker process sẽgửi nó tới process cha (master process) Cuối cùng, master process sẽ trả kết quả chonhững yêu cầu đó

Điều này có vẻ đơn giản, một worker connection có thể xử lý đến 1024 yêu cầu tương

tự nhau Vì vậy, NGINX có thể xử lý hàng ngàn yêu cầu mà không gặp rắc rối gì Đâycũng là lý do vì sao NGINX tỏ ra hiệu quả hơn khi hoạt động trên môi trường thương

Trang 38

3.2.3 Tính năng của Nginx

Những tính năng của máy chủ HTTP Nginx

 Có khả năng xử lý hơn 10.000 kết nối cùng lúc với bộ nhớ thấp

 Phục vụ tập tin tĩnh (static files) và lập chỉ mục tập tin

 Tăng tốc reverse proxy bằng bộ nhớ đệm (cache), cân bằng tải đơn giản và khả năngchịu lỗi

 Hỗ trợ tăng tốc với bộ nhớ đệm của FastCGI, uwsgi, SCGI, và các máy chủmemcached

 Kiến trúc modular, tăng tốc độ nạp trang bằng nén gzip tự động

 Hỗ trợ mã hoá SSL và TLS

 Cấu hình linh hoạt; lưu lại nhật ký truy vấn

 Chuyển hướng lỗi 3XX-5XX

 Rewrite URL (URL rewriting) dùng regular expressions

 Hỗ trợ truyền tải file FLV và MP4

Những tính năng máy chủ mail proxy của Nginx

 Nginx hỗ trợ nhiều phương thức xác thực đa dạng cho máy chủ Proxy như: POP3,IMAP, SMTP,…

 Ngoài ra, Nginx còn có chức năng hỗ trợ SSL, STARTTLS và STLS vô cùng hữuhiệu

3.3 MySQL

3.3.1 Khái niệm

MySQL được biết đến như một loại hệ thống quản trị CSDL mã nguồn mở (còn đượcgọi là phần mềm RDBMS) tốc độ cao, được vận hành theo mô hình máy khách - máy

Ngày đăng: 04/08/2022, 09:36

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w