1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tập lớn nhập môn phần mềm mã nguồn mở và linux

46 781 1

Đ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

Định dạng
Số trang 46
Dung lượng 1,7 MB

Nội dung

Bài tập lớn nhập môn phần mềm mã nguồn mở và linux

Trang 1

BÀI TẬP LỚN Nhập môn phần mềm mã

nguồn mở và LINUX

Giáo viên hướng dẫn: Bành Thị Quznh Mai

Thành viên: Trần Nam Hiếu

Đặng Quốc Khánh Nguyễn Anh Quang

Trang 2

Lời mở đầu

Trang 3

Mục lục

Trang 4

DNS Server

1 Khái niệm về DNS

- Mỗi máy tính, thiết bị mạng tham gia vào mạng Internet đều giao tiếp với nhau bằng địa chỉ IP (Internet Protocol) Để thuận tiện cho việc sử dụng và dễ nhớ ta dùng tên (domain name) để xác định thiết bị đó Hệ thống tên miền (Domain Name System) được sử dụng để ánh xạ tên miền thành địa chỉ IP Vì vậy, khi

muốn liên hệ tới các máy, chúng chỉ cần sử dụng chuỗi ký tự dễ nhớ (domain

một dãy số dài khó nhớ

- Ban đầu, khi DNS chưa ra đời, người ta sử dụng một file tên Host.txt, file này sẽ lưu thông tin về tên host và địa chỉ của host của tất cả các máy trong mạng, file này được lưu ở tất cả các máy để chúng có thể truy xuất đến máy khác trong mạng Khi đó, nếu có bất kz sự thay đổi về tên host, địa chỉ IP của host thì ta phải cập nhật lại toàn bộ các file Host.txt trên tất cả các máy Do vậy đến năm 1984 Paul Mockpetris thuộc viện USC’s Information Sciences Institute phát triển một hệ thống quản lý tên miền mới lấy tên là Hệ thống tên miền – Domain Name

- Hệ thống tên miền này cũng sữ dụng một file tên host.txt, lưu thông tịn của tất

cả các máy trong mạng, nhưng chỉ được đặt trên máy làm máy chủ tên miền (DNS) Khi đó, các Client trong mạng muốn truy xuất đến các Client khác, thì nó chỉ việc hỏi DNS

- Như vậy, mục đích của DNS là :

+ Phân giải địa tên máy thành địa chỉ IP và ngược lại

+ Phân giải tên domain

Trang 5

- DNS là Domain Name System, dns là Domain Name Server chạy Domain Name Service

- Hiện nay hệ thống tên miền được phân thành nhiêu cấp :

- Gốc (Domain root) : Nó là đỉnh của nhánh cây của tên miền Nó có thể biểu diễn đơn giản chỉ là dấu chấm "."

- Tên miền cấp một (Top-level-domain) : gồm vài kí tự xác định một nước, khu vưc hoặc tổ chức Nó đươc thể hiện là ".com" , ".edu" …

- Tên miền cấp hai (Second-level-domain): Nó rất đa dạng rất đa dạng có thể là tên một công ty, một tổ chức hay một cá nhân

- Tên miền cấp nhỏ hơn (Subdomain) : Chia thêm ra của tên miền cấp hai trở xuống thường được sử dụng như chi nhánh, phòng ban của một cơ quan hay chủ

đề nào đó

3 DNS Server

- Là một máy tính có nhiệm vụ làDNS Server, chạy dịch vụ DNS service

- DNS Server là một cơ sở dữ liệu chứa các thông tin về vị trí của các DNS domain

và phân giải các truy vấn xuất phát từ các Client

- DNS Server có thể cung cấp các thông tin do Client yêu cầu, và chuyển đến một DNS Server khác để nhờ phân giải hộ trong trường hợp nó không thể trả lời được các truy vấn về những tên miền không thuộc quyền quản l{ và cũng luôn sẵn sàng trả lời các máy chủ khác về các tên miền mà nó quản l{ DNS Server lưu thông tin của Zone, truy vấn và trả kết quả cho DNS Client

- Máy chủ quản lý DNS cấp cao nhấtlà Root Server do tổ chức ICANN quản lý: + Là Server quản lý toàn bộ cấu trúc của hệ thống tên miền

+ Root Server không chứa dữ liệu thông tin về cấu trúc hệ thống DNS mà nó chỉ

Trang 6

chuyển quyền (delegate) quản lý xuống cho các Server cấp thấp hơn và do đó Root Server có khả năng định đường đến của một domain tại bất kì đâu trên

mạng

Primary Server :

- Phân loại DNS Server :

- Được tạo khi ta add một Primary Zone mới thông qua New Zone Wizard

- Thông tin về tên miền do nó quản l{ được lưu trữ tại đây và sau đó có thể được chuyển sang cho các Secondary Server

- Các tên miền do Primary Server quản l{ thì được tạo và sửa đổi tai Primary

Server và được cập nhật đến các Secondary Server

Secondary Server :

- DNS được khuyến nghị nên sử dụng ít nhất là hai DNS Server để lưu cho mỗi một Zone Primary DNS Server quản lý các Zone và Secondary Server sử dụng để lưu trữ dự phòng cho Primary Server Secondary DNS Server được khuyến nghị dùng nhưng không nhất thiết phải có

- Secondary Server được phép quản l{ domain nhưng dữ liệu về tên miền

(domain), nhưng Secondary Server không tạo ra các bản ghi về tên miền (domain)

mà nó lấy về từ Primary Server

- Khi lượng truy vấn Zone tăng cao tại Primary Server thì nó sẽ chuyển bớt tải sang cho Secondary Server Hoặc khi Primary Server gặp sự cố không hoạt động được thì Secondary Server sẽ hoạt động thay thế cho đến khi Primary Server hoạt động trở lại

- Primary Server thường xuyên thay đổi hoặc thêm vào các Zone mới Nên DNS Server sử dụng cơ chế cho phép Secondary lấy thông tin từ Primary Server và lưu trữ nó Có hai giải pháp lấy thông tin về các Zone mới là lấy toàn bộ (full) hoặc chỉ lấy phần thay đổi (incremental)

Trang 7

Caching-only Server :

- Tất cả các DNS Server đều có khả năng lưu trữ dữ liệu trên bộ nhớ cache của máy để trả lời truy vấn một cách nhanh chóng Nhưng hê thống DNS còn có một loại Caching-only Server

- Loại này chỉ sử dụng cho việc truy vấn, lưu giữ câu trả lời dựa trên thông tin có trên cache của máy và cho kết quả truy vấn Chúng không hề quản lý một domain nào và thông tin mà nó chỉ giới hạn những gì được lưu trên cache của Server

- Lúc ban đầu khi Server bắt đầu chạy thì nó không lưu thông tin nào trong cache Thông tin sẽ được cập nhật theo thời gian khi các Client Server truy vấn dịch vụ DNS Nếu sử dụng kết nối mạng WAN tốc độ thấp thì việc sử dụng caching-only DNS Server là giải

- Hệ thống tên miền (DNS) cho phép phân chia tên miền để quản lý và nó chia hệ thống tên miền thành Zone và trong Zone quản lý tên miền được phân chia

đó.Các Zone chứa thông tin vê miền cấp thấp hơn, có khả năng chia thành các Zone cấp thấp hơn và phân quyền cho các DNS Server khác quản lý

Trang 8

- Zone file : Lưu thông tin của Zone, có thể ở dạng text hoặc trong Active

Host A– Phân giải tên máy thành địa chỉ IP (IPv4)

MX – Chỉ đến mail Server trong domain

CNAME (Alias) – Cho phép một host có thể có nhiều tên

NS (Name Server)– Chứa địa chỉ IP của DNS Server cùng với các thông tin về

domain đó

SOA (Start of Authority) – Bao gồm các thông tin về domain trên DNS Server SRV (Service) – Được sử dụng bởi Active Directory để lưu thông tin về vị trí của

Domain Controllers

AAAA Host – Phân giải tên máy thành địa chỉ IP (IPv6)

PTR (Pointer) – Phân giải địa chỉ IP thành tên máy

6 Cài đặt và cấu hình BIND trên Linux

BIND là một DNS Server rất phổ biến trên Linux Để cài đặt BIND, người dùng có thể download và biên dịch từ mã nguồn, hoặc dùng các gói phần mềm có sẵn trên

hệ điều hành Linux Ở đây, em sử dụng hệ điều hành CentOS

Để thực hiện download gói BIND, ta dùng lệnh

yum install bind

Trang 9

Một số máy tính không có gói bind-chroot Nếu gặp trường hợp đấy, ta cài thêm gói bind-chroot bằng câu lệnh

yum install bind-chroot

Thực hiện tạo file named.conf ở trong thư mục /var/named/chroot/etc/ với nội

dung như sau

Trang 10

File này chỉ ra các zone , kiểu zone và nơi lưu trữ zone của DNS Server Trong đó

zone “.” là zone root, được lưu ở thư mục /var/named/chroot/etc/, chứa địa chỉ

của 13 máy chủ server DNS trên thế giới Tham số forwarders trong options chỉ tới DNS khác Khi DNS Server nhận được yêu câu phân giải tên miền không có trong

cơ sở dữ liệu, nó sẽ chuyển tiếp tới DNS 208.67.222.222

Ta tạo file root.db trong thư mục /var/named/chroot/etc/ để chứa thông tin của

Trang 12

3600000 NS

H.ROOT-SERVERS.NET

H.ROOT-SERVERS.NET 3600000 A 128.63.2.53 H.ROOT-SERVERS.NET 3600000 AAAA

2001:500:3::42

;

Trang 13

Tiếp theo ta tạo file thông tin zone “thuận” (Forward lookup zone) Zone này dùng

để phân giải từ tên miền sang địa chỉ IP Ở đây ta tạo file hut.com.db lưu trong

/var/named/chroot/var/named/

$ttl 1H

hut.com IN SOA lpi-01.hut.com hieutn.hut.com (

1305740799 15M

10M 1D 1H ) hut.com IN NS lpi-01.hut.com

Ở đây, các tham số NS,CNAME,MX, A chính là kiểu record trong DNS

Đồng thời tạo ra một zone phân giải ngược từ địa chỉ IP sang tên miền File này

tên là 192.168.147.rev.db File này cũng được lưu trong

Trang 14

/var/named/chroot/var/named/ Tên file ở đây cho biết phân giải ngược dải địa

10M 1D 1H ) 147.168.192.in-addr.arpa IN NS lpi-01.hut.com

100.147.168.192.in-addr.arpa IN PTR hut.com

Các tham số NS,PTR chính là các record của DNS Server Nó cho biết địa chỉ

192.168.147.100 được phân giải thành tên miền lpi-01.hut.com

Sau khi cấu hình các file xong, ta gõ lệnh service named start để bắt đầu

dịch vụ Nếu có thông báo như dưới đây thì tức là quá trình cấu hình DNS thành công

Ta kiểm tra dịch vụ DNS có hoạt động đúng không bằng lệnh nslookup

Nếu kết quả ra được như trên thì tức là DNS đã chạy thành công

Trang 16

Web Server

1 Web Server là gì

Để hiển thị tài liệu HTML, người sử dụng cần một phần mềm có thể hiểu được ngôn ngữ HTML và hiển thị thành dạng mà người sử dụng có thể đọc được, phần mềm đó được gọi là trình duyệt (web browser) Các tài liệu HTML cần được lưu trữ ở các máy tính trong mạng và có khả năng cung cấp tài liệu HTML cho bất kì ai yêu cầu, các máy tính đó được gọi là máy chủ Web ( Web Server)

2 Cơ chế hoạt động của một dịch vụ Web

- Người sử dụng nhập một địa chỉ web hoặc kích hoạt liên kết tới web

- Trình duyệt xác định máy chủ Web và gửi yêu cầu tới máy chủ chứa URL

- Máy chủ xác định vị trí vật lí của tài liệu dựa vào đường dẫn và tên Nếu tìm thấy thì trả lại cho trình duyệt Nếu không thì trả lại một tài liệu báo lỗi Thông tin phản hồi được đóng gói trong gói tin HTTP

- Trình duyệt nhận tài liệu HTML và hiển thị web Trong quá trình hiển thị web, nếu có yêu cầu thêm tài nguyên gì khác thì sẽ lặp lại bước 2

3 Cấu hình Web Server trên Linux

Web server trên Linux có 2 kiểu cấu hình Một là sử dụng Apache Server có sẵn, hai là sử dụng gói phần mềm XAMPP Về cơ bản là hai cách như nhau, tuy nhiên XAMPP đóng gói các gói PHP,apache,MySQL luôn trong phần mềm nên khi cài là chạy được dịch vụ luôn mà không cần download thêm các gói khác Ở đây, nhóm

em sẽ sử dụng 2 cách cấu hình Web Server

Cài đặt Apache Server

Một số bản Linux yêu cầu phải cài đặt thêm gói apache bằng câu lệnh

yum install apache2

Còn ở đây em sử dụng hệ điều hành CentOS Server nên đã tích hợp sắc gói

Apache

Trang 17

Để bật dịch vụ web server trên CentOS, ta sử dụng lệnh

service httpd start

Nếu kết quả trả về là OK thì tức là dịch vụ Web đã chạy thành công

Để cấu hình Apache Server, ta sẽ cấu hình file httpd.conf, được lưu trong thư mục

/etc/httpd/conf/httpd.conf

Trong file httpd.conf có một số thông tin cần phải lưu { như sau

Giá trị của DocumentRoot cho biết đâu là thư mục gốc của web server Như hình trên, ta thấy Web Server có thư mục gốc là /var/www/html

Giá trị của Directory tương tự DocumentRoot Nếu ta không muốn sử dụng thư mục mặc định là /var/www/html/ thì ta phải sửa đường dẫn ở cả 2 tham số

DocumentRoot và Directory

Giá trị DirectoryIndex cho biết file mặc định sẽ chạy khi truy cập Web Nếu ta cấu

hình chạy php, thì ta có thể thêm giá trị index.php vào dòng trên

Trang 18

Để thử xem Web Server chạy đúng không, ta tạo 1 file index.html trong thư mục

/var/www/html với nội dung như sau

Chạy lệnh

service httpd restart

để khởi động lại dịch vụ

Kết quả ta có được như sau

Trên đây là một số thông số cơ bản của 1 website, ngoài ra có một số tính năng khác như Virtual Host hoặc Alias sẽ được trình bày dưới đây

Tạo ra một Alias

Đầu tiên ta sẽ tìm hiểu về cách tạo ra một Alias cho Web Server

Các thư mục trong thư mục gốc mặc định được hiểu là các thư mục trong đường

dẫn Ví dụ ta tạo một thư mục tên là Admin trong thư mục /var/www/html thì khi truy cập website, để vào thư mục Admin, ta gõ

http://192.168.147.100/Admin Tuy nhiên, nếu ta muốn một thư mục khác

không nằm trong thư mục gốc thì ta cần tạo ra một Alias

Trang 19

Ta sẽ tạo một thư mục tên là Alias ở thư mục /var/www/ ( không nằm trong thư

mục gốc)

Tạo một file index.html chứa nội dung như sau :

Ta cấu hình Alias bằng cách thêm các dòng sau trong file httpd.conf

Alias /Alias/ "/var/www/Alias/"

phép tất cả có quyền truy cập và không ghi đè lên thư mục

Ta kiểm tra xem Alias có chạy đúng không

Nếu kết quả trả về như trên tức là Alias đã chạy thành công

Trang 20

Tạo ra một Virtual Host

Để lưu trữ nhiều website với nhiều tên miền khác nhau Server sẽ căn cứ vào tên miền yêu cầu trong URL để xác định vị trí vật lý của website Các khai báo của Virtual host có thể dựa trên tên miền hoặc dựa trên IP Khi cấu hình một website

ảo, người quản trị cần lưu { tới:

- Tên miền hoặc địa chỉ IP

- Quản trị viên của website

- Thư mục gốc của website

Ta khai báo một website ảo bằng cách thêm các dòng sau vào file httpd.conf

Đoạn cấu hình trên chỉ ra thư mục gốc của website có tên miền bkhn.com là ở thư

thư mục /var/www/bkhn/

Kết quả như sau

Cài đặt Web Server bằng XAMPP

Thực hiện giải nén XAMPP tại thư mục /opt/

Đổi tên thư mục htdocs thành một cái tên khác ( ở đây ta đổi thành htdocs1) và tạo một thư mục htdocs mới

Trang 21

Truy cập vào thư mục /opt/lampp Khởi động dịch vụ Web bằng câu lệnh

./lampp start

Như vậy là Web server đã bắt đầu hoạt động Để kiểm tra xem, XAMPP chạy

thành công hay chưa, ta sẽ thử cài đặt web Joomla

Tải gói cài đặt Joomla_2.5.7-Stable-Full_Package.zip từ

http://www.joomla.org/download.html

Giải nén file trên vào thư mục /opt/lampp/htdocs/

chưa

Trang 22

Nếu nhận được kết quả trên, chứng tỏ máy đã chạy thành công XAMPP

Để cấu hình thêm cho XAMPP các tính năng như Virtual Host hay Alias, ta cấu

hình file httpd.conf ở thư mục /opt/lampp/etc/

Trang 23

Mail Server

1 Giới thiệu hệ thống email

Hệ thống thư điện tử cung cấp một phương thức liên lạc hiệu quả bằng cách cung cấp các dịch vụ như:

- Gửi nhận các thông báo thông qua webmail hoặc các chương trình email client

- Có thể gửi đính kèm tài liệu, các dữ liệu đa phương tiện

- Có thể tích hợp các cơ chế xác thực bằng thực chữ kí số, chữ kí điện tử để đảm bảo tính xác thực

2 Các thành phần cơ bản của hệ thống email

Một hệ thống thư điện tử gồm các thành phần sau

- Thành phần giao tiếp với các hệ thống email khác, được gọi là MTA (Mail Transfer Agent), ví dụ: qmail,postfix,

- Thành phần phân phối thư điện tử đến hòm mail của người dùng được gọi

là MDA ( Mail Deliver Agent) Ví dụ: procmail,

- Thành phần giao tiếp người dùng được gọi là MUA (Mail User Agent), ví dụ Outlook, thunderBird,

- Thành phần quản lí truy cập của người sử dụng thông qua các giao thức như POP3/IMAP thường được gọi là MAA (Mail Access Agent) Ví dụ

dovetcot

3 Các giao thức của hệ thống mail

SMTP – Simple Mail Transfer Protocol

Đây là giao thức nòng cốt được thiết kế vận chuyển email một cách tin cậy SMTP dùng để trao đổi email giữa các thành phần:

- MUA,MTA,MDA : Để gửi nhận và phân phối email

Trang 24

- MX Server: Mail Exchange Server, máy chủ dịch vụ email

- DNS Server : Phân giải địa chỉ IP và tên miền

POP – Post Office Protocol

Giao thức này được tạo ra vào năm 1984 như là một phương tiện tải email từ một server đầu xa

Quá trình hoạt động của POP:

Hành vi mặc định của POP là xóa mail khỏi server Tuy nhiên, hầu hết chương trình khách chạy POP cũng cung cấp một tùy chọn cho phép để lại một bản sao mail tải về trên server

Ưu điểm của POP

Là giao thức thời đầu, POP tuân theo một { tưởng đơn giản là chỉ một máy khách yêu cầu truy cập mail trên server và việc lưu trữ mail cục bộ là tốt nhất Điều này

Mail được lưu cục bộ, tức luôn có thể truy cập ngay cả khi không có kết nối Internet

IMAP – Internet Message Access Protocol

IMAP được thiết kế năm 1986 để cho phép truy cập từ xa đến những email được lưu trên một server đầu xa Về cơ bản, sự khác nhau lớn nhất giữa hai giao thức

đó là POP tải email từ server về bộ nhớ cục bộ cố định trong khi IMAP để mail

Ngày đăng: 07/05/2016, 22:28

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w