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

Một số cài đặt dịch vụ và ứng dụng trên hệ điều hành linux

46 773 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

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

Nội dung

Một số cài đặt dịch vụ và ứng dụng trên hệ điều hành linux

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG



BÁO CÁO BÀI TẬP LỚN

CHUYÊN MỤC: MỘT SỐ CÀI ĐẶT DỊCH VỤ VÀ ỨNG DỤNG

TRÊN HỆ ĐIỀU HÀNH LINUX Nhóm 5

Hà Nội, Ngày Tháng Năm 2012

MỤC LỤC

CHƯƠNG I CÀI ĐẶT VÀ CẤU HÌNH DNS SERVER TRÊN UBUNTU SERVER 3

Trang 2

1.2.Cài đặt 4

1.2.Cấu hình 5

1.3.Kiểm tra DNS 7

CHƯƠNG II CÀI ĐẶT EMAIL SERVER TRÊN UBUNTU SERVER 7

2.1.Cài đặt 8

2.2.Cấu hình mail server 8

CHƯƠNG III CÀI ĐẶT VÀ CẤU HÌNH WEBSERVER 15

3.1.Cài đặt webserver và một số thiết lập 15

3.2.IP-based Virtual Host và Name-based Virtual Host 19

3.2.1.IP-based Virtual Host 19

3.2.2 Name-based Virtual Host 20

3.3 Apache SSL 22

CHƯƠNG IV TÌM HIỂU CÁC LOG FILE 26

4.1 Khái niệm ghi nhật ký 26

4.2 Cơ chế ghi nhật ký trong Linux 27

4.3 Tối ưu quá trình ghi nhật ký 30

CHƯƠNG V SAO LƯU DỮ LIỆU 32

5.1 Giới thiệu 32

5.2 Các loại sao lưu 32

5.3 Giới thiệu Crontab 33

5.3.1 Crontab ứng dụng vào công việc gì? 33

5.3.2 Cài đặt Crontab 33

5.3.3 Kí pháp của Crontab 33

5.3.4 Lập lịch sao lưu dữ liệu với Crontab 33

5.3.5 Phục hồi dữ liệu 38

CHƯƠNG VI IPTABLES 40

6.1.Giới thiệu về Iptables 40

6.2 Cài đặt Iptables 40

6.3.Một số dịch vụ ứng dụng Iptables 40

6.3.1 Cấp phát mạng internet đến các máy con (LAN) 40

TÀI LIỆU THAM KHẢO 47

CHƯƠNG I CÀI ĐẶT VÀ CẤU HÌNH DNS SERVER TRÊN UBUNTU SERVER

Trang 3

DNS Server là máy chủ có chức năng phân giải tên miền Trong bài viết này, chúng tôi sẽhướng dẫn chi tiết các bước cài đặt và cấu hình DNS Server trên Linux với hệ điều hành UbuntuServer phiên bản 11.10

1.1.Thiết lập IP tĩnh

1 Cấu hình file interfaces như sau

2 Khởi động lại

network

3 Gỡ the Network-manager utility bằng lệnh sau

#apt-get remove network-manager network-manager-gnome

Trang 4

Sau khi cài đặt thành công, thu được thư mục chính là /etc/bind Trong thư mục này, bạn sẽ cấu

Trang 5

3 Tạo file face.com.db

#nano /etc/bind/zones/face.com.db

4 Cấu hình file face.com.db như sau

5 Tạo file rev.0.168.192.in-addr.arpa và cấu hình như sau

Trang 6

6 Bây giờ restart lại BIND

#/etc/init.d/bind9 restart

7 Đến đây có thể test DNS Server

Bây giờ chỉnh sửa file "resolv.conf" theo thiết lập sau đây

CHƯƠNG II CÀI ĐẶT EMAIL SERVER TRÊN UBUNTU SERVER

Có rất nhiều phần mềm dùng để chạy Mail server Nhưng trong bài này sẽ dùng Postfix +

Dovecot + pop-before-smtp để cài đặt đơn giản nhất

Trang 7

2.1.Cài đặt

Để cài đặt các gói cần thiết chạy lệnh sau :

#sudo -i

#apt-get install php5 postfix dovecot-common dovecot-imapd dovecot-pop3d squirrelmail

Trong quá trình cài đặt sẽ hiện thông báo sau:

Chọn OK

Chọn OK>> OK

2.2.Cấu hình mail server

Trang 8

2 Tạo file db.faceview và db.172

Cấu hình file db.faceview như sau:

Cấu hình file db.172 như sau:

Trang 9

#invoke-rc.d bind9 restart

3 Cấu hình lại file /etc/resolv.conf

4 Kiểm tra DNS mail vừa tạo bằng nslookup

Trang 10

5 Vào dpkg-reconfigure postfix cấu hình lại như sau:

Trang 11

6 Mở file /etc/devecot/devecot.conf và thêm vào 2 dòng này

Trang 12

7 Restart postfix và dovecot

8 Vào thư mục /etc/apache2/sites-enabled/ và tạo file mail.conf

Cấu hình file mail.conf

9 Share folder Squirrelmail vào thư mục var/www sau đó restart apache2

Trang 14

CHƯƠNG III CÀI ĐẶT VÀ CẤU HÌNH WEBSERVER

3.1.Cài đặt webserver và một số thiết lập

Trước khi cài đặt, cần đảm bảo là máy tính đã được cấu hình để kết nối mạng.Với Linux,

có thể chọn gói mã nguồn httpd-2.2.3.tar.gz Đây là gói miễn phí, hoàn toàn có thể download

được trên mạng:

• Nếu sử dụng gói gz thì dùng lệnh: tar xvzf httpd-***.tar.gz

• Vào thư mục vừa giải mã, sau đó sử dụng các lệnh /configure | make | make install để cài đặt

• Còn nếu cài đặt từ những gói rpm thì gõ lệnh: rpm -ivh httpd-***.rpm

• Bây giờ, có thể chạy Web Server nếu muốn Tuy nhiên, vẫn có khi gặp trường hợpkhông thể khởi động được như: lỗi vì đã có phần mềm nào đó chạy trên port mà WebServer ta sẽ chạy (80) Điều này có thể khắc phục được một cách dễ dàng, bằng cách tắtchương trình chạy trên port đó đi Và bây iờ khởi động lại là có thể chạy được

• Để start – stop – restart webserver: /etc/init.d/httpd start|stop|restart hoặc dùng lệnh:

#chkconfig httpd on

#service httpd start|stop|restart

• Tuy nhiên, để có thể hiểu cũng như vận hành theo đúng ý muốn thì cần phải hiểu và cũng như phải tận tay cấu hình nó

Trang 15

Dưới đây là cách cài đặt thông thường, dùng Terminal và gõ lệnh sau:

sudo apt-get install apache2

Sau khi quá trình cài đặt này hoàn tất, khởi động trình duyệt và gõ địa chỉ http://localhost Nếu kết quả hiển thị It Works! có nghĩa là chúng ta đã cài đặt Apache thành công:

Thiết lập và tùy chỉnh Apache:

Sau khi cài đặt Apache,ứng dụng sẽ được thêm vào danh sách init.d của hệ thống, do đó có thể

tự khởi động cùng với hệ điều hành Sử dụng những lệnh sau để khởi động, kích hoạt và ngừnghoạt động của Apache:

sudo /etc/init.d/apache2 start #start apache

sudo /etc/init.d/apache2 stop #stop apache

sudo /etc/init.d/apache2 restart #restart apache

Nếu không muốn Apache tự khởi động cùng hệ thống, gõ lệnh sau:

sudo update-rc.d -f apache2 remove

Còn nếu muốn làm ngược lại quá trình trên thì sử dụng lệnh:

sudo update-rc.d apache2 defaults

Nhưng lưu ý rằng những lệnh trên chỉ áp dụng với các distro dựa trên Debian (bao gồm Ubuntu)

mà thôi

Thay đổi thư mục localhost mặc định:

Trang 16

Ở chế độ default, Apache sẽ chỉ hoạt động dựa trên thư mục /var/www Đồng thời cũng có nghĩa rằng bất cứ file nào đặt tại đây cũng sẽ hiển thị và truy cập từ đường dẫn http://localhost Ví dụ:

nếu muốn đường dẫn này sẽ trỏ trực tiếp đến 1 thư mục khác (trong trường hợp này

là /home/user/public_html) thì hãy làm theo các thao tác sau Trước tiên, hãy đảm bảo rằng thư mục /home/damien/public_html có tồn tại, tạo 1 trang HTML đơn giản và đặt tên

là index.html, đặt ở trong thư mục public_html Sau đó, mở Terminal và gõ lệnh:

gksu gedit /etc/apache2/sites-enabled/000-default

Thay đổi DocumentRoot /var/www thành DocumentRoot /var/www/newsite , và <Directory /

var/www/> thành <Directory /var/www/newsite>

Lưu thay đổi của file này, sau đó khởi động lại Apache:

sudo /etc/init.d/apache2 restart

Mở lại đường dẫn http://localhost trên trình duyệt, sẽ nhìn thấy file html bên trong thư

mục newsite:

Trang 17

Một số thiết lập khác:

Trong những trường hợp khác, nhiều người sử dụng lại không muốn thay đổi những thuộc tính,thông số mặc định của hệ thống thì họ có thể áp dụng phương pháp tạo nhiều web site và hướngApache đến từng site riêng biệt đó Trước tiên, hãy tạo file cấu hình cho site mới:

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/site

Chỉnh sửa file này:

gksu gedit /etc/apache2/sites-available/site

Thay đổi DocumentRoot /var/www thành DocumentRoot /var/www/newsite và <Directory

/var/www> thành <Directory /var/www/newsite> Sau đó lưu lại thay đổi trên file này Tạm

thời tắt bỏ thiết lập mặc định, thay đổi sang site:

sudo a2dissite default && sudo a2ensite site

Sau đó, khởi động lại Apache:

sudo /etc/init.d/apache2 restart

Và với cách làm này, người sử dụng hoàn toàn có thể tạo nhiều web site với 1 file cấu hìnhtương ứng, và tất nhiên mỗi 1 site đều trỏ tới 1 thư mục lưu trữ riêng biệt Bên cạnh đó, cũng có

thể dễ dàng chuyển đổi giữa các site này bằng lệnh a2dissite và a2ensite.

Kích hoạt file htaccess:

Về bản chất, đây là 1 file vô cùng quan trọng, có khả năng giám sát và quản lý các hành độngcủa server mà không cần phải can thiệp vào bên trong module của Apache Ở chế độ mặc định,mọi chức năng của htaccess đều bị tắt bỏ, thậm chí server còn không biết đến sự tồn tại của filenày Để kích hoạt file này, hãy mở file cấu hình vừa tạo ở bước trên:

gksu gedit /etc/apache2/sites-available/site

Kéo xuống, cho tới khi nhìn thấy <Directory /www/var/newsite hãy thay đổi AllowOverride

None thành AllowOverride All:

Trang 18

Lưu thay đổi của file, vậy là chúng ta đã hoàn tất quá trình cài đặt và thiết lập Apache trên nền tảng Ubuntu

3.2.IP-based Virtual Host và Name-based Virtual Host

3.2.1.IP-based Virtual Host

1 Tạo 1 forder www.page1.com trong thư mục /var/www/virtual

2 Tạo 1 trang html trong forder này với nội dung như sau

3 Cấu hình file httpd.conf như sau

Trang 19

4 Khởi động lại hệ thống và test thử /etc/init.d/apache2 restart

3.2.2 Name-based Virtual Host

1 Sửa lại file host như sau

Thêm vào cuối dòng 192.168.1.100 www.page1.com

2 Test thử

3 Các site sử dụng chung một địa chỉ ip

 Tạo 1 forder www.page2.com trong thư mục /var/www/virtual

Trang 20

 Thêm vào cuối file hosts

 Cấu hình file httpd.conf như sau bằng cách thêm vào cuối dòng như trong vùng khoanh

 Khởi động lại hệ thống và test thử /etc/init.d/apache2 restart

Kết quả khi truy nhập 2 địa chỉ:

3.3 Apache SSL

Trang 21

SSL là gì?

SSL(Secure Socket Layer) là một giao thức(protocol) cho phép bạn truyền đạt thông tin một cách an toàn qua mạng

1 Khởi động SSL với câu lệnh a2enmod ssl sau đó khởi động lại apache

2 Tạo 1 thư mục myssl

3 Sử dụng tập hợp phím để tạo ra một yêu cầu chứng chỉ

4 Tạo password và nhập các thông tin yêu cầu

Trang 22

5 Tạo các phím mã hóa máy chủ và tạo password

6 Sử dụng yêu cầu vừa tạo ở bước 5 để tạo ra chứng nhận ký tự riêng

7 Mở file httpd.conf và thêm vào cuối dòng như sau

Trang 23

8 Test thử

 Trước khi cấu hình SSL

 Sau khi cấu hình SSL

Trang 25

CHƯƠNG IV TÌM HIỂU CÁC LOG FILE

4.1 Khái niệm ghi nhật ký

Trong quá trình hoạt động của hệ thống, cần thiết phải ghi chép, lưu trữ lại các thông tin

về hoạt động của hệ thống Các thông tin này sẽ giúp ích cho việc giải quyết sự cố, phát hiện cácsai sót, các hành động xâm nhập, tác động vào hệ thống Về lý thuyết, bất cứ một thông tin nào

về hoạt động của hệ thống cũng có thể giúp ích cho quá trinh phát hiện và khắc phục các sự cố.Thực tế, việc ghi chép theo dõi các hệ thống hoặc là quá sơ sài, không đủ thông tin giúp ích choquản trị viên, hoặc quá chi tiết, dẫn đến các thông tin không có giá trị

Các thông tin cần ghi chép có thể được phân loại theo nhiều cách, phụ thuộc vào việcthông tin này được sinh ra từ đâu, được lọc thế nào và được ghi vào vị trí nào Nếu theo nguồngốc sản sinh ra thông tin có thể chia ra:

 Thông tin về hoạt động của các thiết bị phần cứng

 Thông tin về hoạt động của nhân hệ điều hành

 Thông tin về hoạt động của các dịch vụ hệ thống

 Thông tin về hoạt động của các ứng dụng

 Thông tin về các thao tác của NSD

Căn cứ vào mức độ quan trọng của thông tin, có thể phân loại thành

 Mức thông tin chi tiết: các thông tin chi tiết liên quan đến hoạt động nội bộ của các tiếntrình, không phản ánh việc hoạt động của hệ thống có bình thường hay không Thườngcác thông tin này phục vụ cho các nhà phát triển chương trình để theo dõi hoạt động củachương trình trong giai đoạn phát triển

 Mức thông tin dịch vụ: các thông tin liên quan đến hoạt động bình thường của tiến trình,chủ yếu là các hoạt động có ảnh hưởng đến các tiến trình khác

 Thông tin cảnh báo: thông tin hoạt động bất bình thường của các tiến trình Các hoạtđộng bất bình thường này chưa làm ảnh hưởng đến các tiến trình khác

 Thông tin báo lỗi: thông tin về lỗi xảy ra trong tiến trình, cho biết một hoặc nhiều cácchức năng quan trọng của tiến trình không thể được đảm bảo, ảnh hưởng đến một số cáctiến trình có liên quan

 Thông tin lỗi hệ thống: lỗi nghiêm trọng trong các tiến trình hệ thống, tất cả các tiến trìnhtrong hệ thống đều bị ảnh hưởng

Các phần mềm khi được thiết kế đều có tính năng ghi nhật ký riêng, cho phép lọc và lưu trữcác sự kiện xảy ra trong quá trình thực hiện vào một thư mục riêng Cách thức này thườngđược sử dụng cho các phần mềm tương đối độc lập, không có nhiều các phần mềm khác phụthuộc Trường hợp các phần mềm phụ thuộc lẫn nhau, việc từng phần mềm ghi nhật ký riêng

Trang 26

các phần mềm hệ thống, thông tin về các sự kiện xảy ra sẽ được chuyển đến một tiến trìnhphụ trách về việc ghi nhật ký Tiến trình này sẽ thực hiện việc lọc và ghi nhật ký cho phùhợp Với cách tiếp cận này, quản trị viên có thể cấu hình hệ thống để cho các nhật ký của cácphần mềm có liên quan có thể được ghi vào cùng một chỗ, thuận tiện cho việc phát hiện cáckịch bản sự kiện đã xảy ra của các phần mềm phụ thuộc lẫn nhau.

4.2 Cơ chế ghi nhật ký trong Linux

Trong hệ điều hành Linux, nhật ký được ghi chép theo cả 2 cách tiếp cận nói trên Một sốphần mềm độc lập (apache, postfix,…) thực hiện ghi nhật ký trực tiếp và tự quản lý các tệp nhật

ký của mình Một số phần mềm khác quản lý các sự kiện xảy ra trong phần mềm và gửi cácthông báo đến một tiến trình quản lý chung (syslogd) Căn cứ vào cấu hình nhật ký do quản trịviên xác lập, syslogd sẽ tiến hành ghi các thông tin giữa các tiến trình khác với syslogd gồmnhiều dòng, mỗi dòng mô tả một thao tác mà syslogd sẽ thực hiện khi thông báo thỏa mãn cáctiêu chí được mô tả trong trường thứ nhất Cú pháp của trường thứ nhất có dạng xxx.yyy, trong

đó xxx là nguồn của thông báo (facility), yyy là mức độ ưu tiên xử lý của thông báo (priority).Linux phân biệt các loại facility sau:

 Auth: các thông báo có liên quan đến bảo mật của hệ thống

 Authpriv: các thông báo liên quan đến kiểm soát truy cập

 Deamon: các thông báo từ các tiến trình hệ thống và các chương trình chạy thường trú(deamon)

Trang 27

 Kern: thông báo từ nhân hệ điều hành.

 Mark: thông báo từ syslogd, dùng để đảm bảo thứ tự thời gian

 User: thông báo đến từ các ứng dụng

 Local7: thông báo do quá trình khởi động sinh ra

 *: bất cứ thông báo nào

 None: không có thông báo nào

Có 7 mức độ ưu tiên khác nhau của các thông báo:

 Debug: các thông báo chỉ dành cho việc gỡ lỗi trong từng chương trình Có thể không sửdụng đối với các hệ thống đang vận hành

 Info: các thông tin về các hoạt động bình thường của các tiến trình Phục vụ cho việc pháthiện các bất thường không thường xuyên xảy ra

 Notice: Thông tin về các hoạt động bình thường, tuy nhiên cần đặc biệt chú ý

 Warning: cảnh báo có khả năng xảy ra lỗi Thông thường đây là các thông báo về các lỗiphần mềm tự xử lý được, tuy nhiên có thể gây ảnh hưởng tới các tiến trình khác

 Err: có lỗi xảy ra, không xử lý được

 Crit: Có lỗi nghiêm trọng xảy ra, không xử lý được, ảnh hưởng tới nhiều tiến trình khác

 Alert: Có lỗi nghiêm trọng xảy ra, không xử lý được, chắc chắn sẽ ảnh hưởng tới đa sốcác tiến trình khác Khuyến nghị các tiến trình nếu có thể kết thúc công việc để đảm bảo

an toàn dữ liệu

Trang 28

 Emerg: Có lỗi nghiêm trọng xảy ra, không xử lý được, không đảm bảo hoạt động của hệthống.

Cách mức ưu tiên có thể phối hợp với các toán tử so sánh và logics như =,!,* và none Toán tử =được hiểu là tất cả các thông báo có cùng hoặc hơn mức ưu tiên mô tả sau toán tử ! lọc tất cảnhững thông báo không thỏa mãn biểu thức ưu tiên sau toán tử * và none tương ứng với tất cảcác mức ưu tiên và không mức ưu tiên nào được lựa chọn

Trường thứ 2 của mỗi dòng chỉ ra thao tác mà syslogd sẽ thực hiện với thông báo.Syslogd cho phép khai báo mềm dẻo các thao tác này Các thao tác này có thể là:

 Ghi vào một tệp

 Chuyển đến một đường ống ( để thực hiện một lệnh chẳng hạn)

 Chuyển đến một tệp thiết bị

 Chuyển đến một máy tính ở xa

 Hiển thị thông báo cho NSD

Ví dụ:

Mail, uucp.notice;uucp.!=alert /var/log/mail

Cần chú ý là các mức ưu tiên chỉ là thỏa thuận giữa các tiến trình với nhau Việc gửi thông báovới mức độ ưu tiên nào hoàn toàn do người làm ra chương trình chủ động Đây có thể coi là một

cơ chế rất mềm dẻo để phối hợp giữa các tiến trình, nhưng đồng thời cũng là một lỗ hổng về bảomật bằng việc xem xet log, quản trị viên có thể có một cái nhìn tổng quan về các sự kiện xảy ratrong hệ thống Tuy nhiên, với những quản trị viên chưa quen với hệ thống Linux, hoặc khi cómột phần mềm nào đó thay đổi về vị trí khi nhật ký, việc tìm được các thông tin cần thiết gặpnhiều khó khăn

Kiểm tra việc cấu hình nhật ký: để kiểm tra cấu hình nhật ký theo dòng, có thể sử dụng chươngtrình logger Chương trình logger là chương trình cho phép gửi các sự kiện đến syslogd Sau đó

có thể kiểm tra xem các thông tin nhật ký có được lưu đúng vào vị trí dự định hay không

logger –p daemon.warn “ day chi la kiem tra”

Để có thể kiểm tra tất cả các mức ưu tiên, có thể viết một kịch bản cho shell

Các tệp log mà quản trị viên thường xuyên phải quan tâm là:

/var/log/message: thông tin chung về hệ thống

/var/log/auth.log: các log về xác thực

/var/log/kern.log: các log về nhân của hệ điều hành

Ngày đăng: 13/04/2016, 13:14

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w