Dịch vụ web apache

Giới thiệu về Web server.

Giới thiệu Apache.

Cài đặt Apache.

Cấu hình Apache cơ bản.

pdf32 trang | Chia sẻ: Mr Hưng | Lượt xem: 954 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Dịch vụ web apache, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
DỊCH VỤ WEB APACHE Âu Bửu Long – Lê Minh Triết Phiên bản 2014 Nội dung 1. Giới thiệu về Web server. 2. Giới thiệu Apache. 3. Cài đặt Apache. 4. Cấu hình Apache cơ bản. 5. Cấu hình Apache nâng cao. 6. Những tập tin Log. 1. GIỚI THIỆU VỀ WEB SERVER. • Giới thiệu HTTP: • HTTP là một giao thức cho phép Web browsers và Web Servers có thể giao tiếp với nhau. Nó chuẩn hoá các thao tác cơ bản mà một Web Server phải làm được. • HTTP là giao thức đơn giản giống như với các giao thức chuẩn khác của Internet, thông tin điều khiển được truyền dưới dạng văn bản thô thông qua kết nối TCP. 1. GIỚI THIỆU VỀ WEB SERVER. • Web Server và cách hoạt động. • Web Server có thể phục vụ các tài liệu HTML dưới dạng siêu văn bản gồm: văn bản, hình ảnh, âm thanh, phim, • Đầu tiên xét Web server ở mức độ cơ bản thì nó phục vụ các nội dung tĩnh. Nghĩa là khi Web server nhận 1 yêu cầu lấy trang Web từ Web browser: thì nó sẽ ánh xạ Uniform Resource Locator (URL) trên vào một file cục bộ trên máy server. 1. GIỚI THIỆU VỀ WEB SERVER. a) Mô hình hoạt động của Web Server. • Chấp nhận kết nối. • Sinh ra các nội dung tĩnh hoặc động cho Web browser. • Đóng kết nối. • Chấp nhận kết nối. • Lặp lại quá trình trên ... Mặc dù mô hình này hoạt động, nó vẫn cần phải thiết kế lại để phục vụ được nhiều người trong cùng 1 lúc. Web servers có xu hướng tận dụng ưu điểm của 2 phương pháp khác nhau để giải quyết vấn đề này: đa tiểu trình (multi-threading) hoặc đa tiến trình (multi- processing) hoặc các hệ lai giữa multi-processing và multi-threading. 1. GIỚI THIỆU VỀ WEB SERVER. b) Địa chỉ URL (Uniform Resource Locator). • Được dùng để truy xuất mọi dịch vụ thông tin của Web server từ Web Browser. Ta cần phải chỉ rõ loại nghi thức, địa chỉ hay tên và số port của loại dịch vụ đó. Trên các trình duyệt web, thông tin này được xác định bằng địa chỉ URL với dạng tổng quát sau: Method://Host.Subdomain.Domain/ • Method: cho biết loại dịch vụ được sử dụng. Ví dụ như http để truy xuất WWW, ftp để truy xuất FTP, .... • Host.subdoamin.domain: cho biết tên hay địa chỉ IP của máy chủ cần truy xuất. Ví dụ www- math.hcmuns.edu.vn hay 172.29.2.20 • Lưu ý : Đối với dịch vụ WWW ta có thể bỏ qua thành phần Method:// chỉ cần nhập vào thành phần Host.Subdomain.Domain. Còn đối với dịch vũ FPT thì phải nhập đầy đủ các thành phần trên. • Ví dụ về tập tin html: WWW Trường Đại Học Khoa Học Tự Nhiên TP.HCM 1. GIỚI THIỆU VỀ WEB SERVER. • Web động. • Một trong các nội dung động (thường gọi tắt là Web động) cơ bản là các trang Web được tạo ra để đáp ứng các dữ liệu nhập vào của người dùng trực tiếp hay gián tiếp. • Cách cổ điển nhất và được dùng phổ biến nhất cho việc tạo nội dung động là sử dụng Common Gateway Interface (CGI). Cụ thể là CGI định nghĩa một cách thức Web server chạy một chương trình một cách cục bộ và trả kết quả thông qua Web server đến Web browser của người dùng đã yêu cầu nội dung động. • CGI về cơ bản là một giao thức mở rộng của Web Server. 1. GIỚI THIỆU VỀ WEB SERVER. 1. GIỚI THIỆU VỀ WEB SERVER. Hình vẽ sau minh hoạ khi Web browser yêu cầu một trang Web động phát sinh từ một chương trình CGI. 2. GIỚI THIỆU • Apache là một phần mềm có nhiều tính năng mạnh và linh hoạt dùng để làm Webserver. • Hỗ trợ đầy đủ những giao thức HTTP trước đây như HTTP/1.1 • Có thể cấu hình và mở rộng những module. • Cung cấp source code đầy đủ với license không hạn chế. • Chạy trên nhiều hệ điều hành như Windows. Linux,... 3. CÀI ĐẶT APACHE. • Ta có thể download apache từ website chính sau: • Cách cài đặt apache thông dụng sau trên Linux: • Cài đặt Apache từ source code: - Download source code, các công cụ và thư viện biên dịch, biên dịch Apache và cài đặt. - Giải nén files vừa down về để cbị cài #tar -zxvf httpd-2.2.4.tar.gz # cd ~/httpd-2.2.4 #mkdir /httpd && ./configure --prefix=/httpd --enable-so && make && make install • Cài đặt Apache từ gói biên dịch sẵn (rpm/deb): - Cần download các gói đã biên dịch tương ứng cho distro đang dùng. • Cài đặt Apache từ kênh phần mềm chính thức. 4. CẤU HÌNH APACHE. • Các tập tin và thư mục cấu hình của Apache: /etc/httpd/conf/httpd.conf : đây một tập tin cấu hình chính hết sức quan trọng cho Apache server. /etc/httpd/modules: chứa các module của Web Server. /etc/httpd/logs: chứa log file của Apache. /var/www/html: chứa các trang Web. /var/www/cgi-bin: chứa các script sử dụng cho trang Web. • Khởi động Apache : #/etc/init.d/httpd stop #/etc/init.d/httpd start #/etc/init.d/httpd restart 4. CẤU HÌNH APACHE. • Các thông số cấu hình cơ bản trong tập tin /etc/httpd/conf/httpd.conf như sau: a) Định nghĩa Server. • ServerName Ví Dụ: ServerName www.soft.com • ServerAdmin Ví Dụ: ServerAdmin root@soft.com • ServerType Qui định cách nạp chương trình, có hai cách: • inetd : chạy từ hệ thống. • standalone : chạy từ các init level. Ví Dụ: ServerType standalone 4. CẤU HÌNH APACHE. b) Vị trí thư mục root. • DocumentRoot Ví Dụ: DocumentRoot /usr/web Một yêu cầu sẽ đưa vào trang Web /usr/web/index.html • ServerRoot Mặc định: ServerRoot /usr/local/apache • ErrorLog Ví Dụ: ErrorLog /var/logs/httpd/error_log • DirectoryIndex Ví Dụ: DirectoryIndex index.html index.htm index.shtml index.php index.php4 index.php3 index.cgi 4. CẤU HÌNH APACHE. c) Cấu hình mạng. • MaxClients Ví Dụ: MaxClients 256 • Listen Ví Dụ: Listen 80 • Listen Ví Dụ: Listen 172.29.7.225:80 • TimeOut Ví Dụ: TimeOut 300 • KeepAlive • MaxKeepAliveRequests • KeepAliveTimeout • BindAddress 4. CẤU HÌNH APACHE. d) Ánh xạ đường dẫn cục bộ (Alias). Alias dùng để ánh xạ đường dẫn cục bộ (không nằm trong DocumentRoot) thành đường dẫn http. • Cú pháp: Alias • Ví Dụ: Alias /doc /pub/data • Thì khi truy cập sẽ quy vào đường dẫn cục bộ là /pub/data. • Có thể kết hợp với Directory directive Ví dụ: Alias /doc /pub/data AuthType Basic AuthName intranet AuthUserFile /etc/httpd/passwd Require user hally tom Allow from internal.com 4. CẤU HÌNH APACHE. e) Tạo homepage cho user (UserDir). Cho phép người dùng tạo home page của mình trên Server. Ví Dụ: Userdir www Order deny,allow Allow from all Trong home directory của người dùng tạo thư mục www, thay đổi quyền truy cập trên home directory bằng cách thêm quyền “x” cho tất cả mọi người. #chmod 755 /home Khi đó cú pháp truy cập từ Web Browser có dạng như sau: Ví Dụ: 5. CẤU HÌNH APACHE-NC. a) Sự chứng thực (Authentication). Đối với những thông tin cần bảo mật, khi có yêu cầu truy xuất thông tin này, WebServer phải chứng thực những yêu cầu này có hợp lệ hay không. • Thông tin chứng thực thường bao gồm: username và password. • Có hai loại chứng thực: • Basic Authentication. • Digest Authentication. 5. CẤU HÌNH APACHE-NC. i) Basic Authentication. Khi đó, username và password mà bạn đã cung cấp chỉ có tác dụng trong lần giao dịch của Web Browser với Web Server lúc đó. Nếu lần sau truy cập lại website này, bạn phải nhập lại username và paswword. • Cấu hình chứng thực sẽ trải qua các bước sau: • Tạo tập tin lưu password của người dùng. • Tạo tập tin group. (có thể bỏ qua) • Cấu hình Apache. 5. CẤU HÌNH APACHE-NC. • Tạo tập tin lưu password của người dùng. • Dùng lệnh htpasswd có cú pháp như sau: • #htpasswd –c • Chương trình sẽ yêu cầu bạn nhập vào password 2 lần. • Tuỳ chọn -c sẽ tạo tập tin password mới. Nếu tập tin này đã tồn tại nó sẽ xoá nội dung cũ và ghi vào nội dung mới. • : thông thường file tạo tại thư mục chứa tập tin cấu hình Apache /etc/httpd/conf 5. CẤU HÌNH APACHE-NC. • Tạo tập tin group. • Nhằm tạo điều kiện thuận lợi cho người quản trị trong việc quản lý chứng thực, Apache hỗ trợ tính năng nhóm người dùng. • Dạng tổng quát của tập tin group: : groupname: tên nhóm. user list: danh sách các thành viên trong nhóm (phân cách nhau bởi khoảng trắng). • Ví Dụ: admin: adm1 adm2 adm3 5. CẤU HÌNH APACHE-NC. • Cấu hình Apache chứng thực Basic. • Sau khi tạo tập tin password và group, cấu hình chứng thực của Apache, được thiết lập với những chỉ dẫn sau: AuthType Basic AuthName [tên_chứng_thực] AuthUserFile [vị_trí_tập_tin_password] AuthGroupFile [vị_trí_tập_tin_group] Require user [tên_user1] [tên_user2] . . . Require group [tên_nhóm1] [tên_nhóm2] . . . Option Indexes (hiển thị những file dạng khác html) 5. CẤU HÌNH APACHE-NC. ii) Digest Authentication. • Digest Authentication cung cấp một phương pháp bảo vệ nội dung web một cách luân phiên. • Server sẽ cấp cho Client một thẻ chứng thực để bảo vệ website, thẻ này được gọi là realm (vùng lãnh thổ). Web Browser sẽ lưu lại username và password mà bạn đã cung cấp cùng với realm. Việc lưu trữ này chỉ có tác dung trong giao dịch hiện hành của Browser. Nhưng cũng có một vài Browser cho phép lưu chúng một cách cố định. • Các bước thực hiện tương tự như Basic Authentication. 5. CẤU HÌNH APACHE-NC. • Tạo tập tin lưu password của người dùng. • Dùng lệnh htdigest có cú pháp như sau: • #htdigest –c • Chương trình sẽ yêu cầu bạn nhập vào password 2 lần • Tuỳ chọn -c sẽ tạo tập tin password mới. Nếu tập tin này đã tồn tại nó sẽ xoá nội dung cũ và ghi vào nội dung mới. • : thông thường nó tạo tại thư mục chứa tập tin cấu hình Apache /etc/httpd/conf 5. CẤU HÌNH APACHE-NC. • Tạo tập tin group. • Dạng tổng quát của tập tin group: • : • groupname: tên nhóm. • user list: danh sách các thành viên trong nhóm (phân cách nhau bởi khoảng trắng). • Ví Dụ: admin: adm1 adm2 adm3 5. CẤU HÌNH APACHE-NC. • Cấu hình Apache chứng thực Digest. Sau khi tạo tập tin password và group, cấu hình chứng thực của Apache, được thiết lập với những chỉ dẫn sau: AuthType Digest AuthName [tên_chứng_thực] AuthUserFile [vị_trí_tập_tin_password] AuthGroupFile [vị_trí_tập_tin_group] Require user [tên_user1] [tên_user2] . . . Require group [tên_nhóm1] [tên_nhóm2] . . . Option Indexes (hiển thị những file dạng khác html) 5. CẤU HÌNH APACHE-NC. iii) Điều khiển truy cập (Access Control). Ngoài việc bảo vệ nội dung website bằng sự chứng thực, Apache còn giới hạn việc truy cập của người dùng dựa trên những thông tin khác. a) Allow và Deny. Dùng để cấm hay cho phép việc truy cập tài nguyên dựa trên tên máy hoặc địa chỉ IP. Cú pháp: Allow/Deny from [Address] + Allow: cho phép. + Deny: cấm. + Address: địa chỉ IP/đường mạng hay tên máy. Ví Dụ: Allow from 172.29.11.100 5. CẤU HÌNH APACHE-NC. • Có thể sử dụng Order để kết hợp giữa Allow và Deny trong việc giới hạn truy cập. • Nếu thứ tự của Order là Deny, Allow thì Deny được kiểm tra trước và bất kỳ những client nào không phù hợp với Deny hoặc phù hợp với một Allow thì được phép truy cập. • Nếu thứ tự của Order là Allow,Deny thì Allow được kiểm tra trước tiên và bất kỳ client nào không phù hợp với một điều kiện Allow hoặc phù hợp với một điều kiện Deny thì bị cấm truy cập đến server. 5. CẤU HÌNH APACHE-NC. • Tạo Virtual Host. Đây là tính năng của Apache nhằm giúp chúng ta duy trì nhiều hơn một Web Server trên một máy tính. Chúng ta có hai loại Virtual Host: + IP-based Virtual Hosting: sử dụng những địa chỉ IP khác nhau cho từng domain. + Named-based Virtual Hosting: nhiều domain chia sẻ trên một địa chỉ IP. 5. CẤU HÌNH APACHE-NC. Ví Dụ: Cấu hình virtual host bằng IP-based Virtual host. ServerAdmin webmaster@net.com DocumentRoot /home/www/net ServerName www.net.com ServerAdmin webmaster@soft.com DocumentRoot /home/www/soft ServerName www.soft.com 5. CẤU HÌNH APACHE-NC. Ví dụ: Cấu hình virtual host bằng Named-based Virtual host. NameVirtualHost 203.162.40.1 ServerAdmin webmaster@net.com DocumentRoot /home/www/net ServerName www.net.com ServerAdmin webmaster@soft.com DocumentRoot /home/www/soft ServerName www.soft.com 6. Những tập tin log • Apache có nhiều tập tin log khác nhau nhằm ghi nhận lại những hoạt động của Web Server. • Gồm các tập tin sau: • /var/log/httpd/access_log • /var/log/httpd/error_log • /var/log/messages

Các file đính kèm theo tài liệu này:

  • pdfbai_web_2014_1242.pdf
Tài liệu liên quan