Giới thiệu về Web server.
Giới thiệu Apache.
Cài đặt Apache.
Cấu hình Apache cơ bản.
32 trang |
Chia sẻ: Mr Hưng | Lượt xem: 1051 | Lượt tải: 0
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:
- bai_web_2014_1242.pdf