Giáo trình Học linux webserver Giáo trình Học linux webserver
Trang 1WEB SERVER - APACHE
Trang 2L o g o 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.
Trang 3L o g o
1 GIỚI THIỆU VỀ WEB SERVER
• HTTP là một giao thức cho phép Web browsers và
• HTTP là giao thức đơn giản giống như với các giaothức chuẩn khác của Internet Hoạt động ở cổng
• Thông tin điều khiển được truyền dưới dạng văn bản
Trang 4L o g o
1 GIỚI THIỆU VỀ WEB SERVER
• Web server có thể phục vụ các tài liệu HTML dưới
video…
• Web tĩnh:
Không có cơ sở dữ liệu đi kèm
Được xây dựng bằng ngôn ngữ: HTML, DHTML, XHTML, Javascript, flash
Trang web ít thay đổi về nội dung và cập nhật.
• Khi Web server nhận 1 yêu cầu lấy trang Web từ Webbrowser:
http://hocvienact.edu.vn/index.htmlthì nó sẽ ánh xạ URL trên vào một file cục bộ trên máy server
Trang 5L o g o
1 GIỚI THIỆU VỀ WEB SERVER
• Web tĩnh:
Trang 6L o g o
1 GIỚI THIỆU VỀ WEB SERVER
• Web động:
Trang web được thiết kế sử dụng cơ sở dữ liệu để lưu, thay đổi, truy vấn nội dụng trang web.
Ngôn ngữ lập trình phổ biến: PHP, ASP.NET, Java
Mỗi ngôn ngữ lập trình cần có máy chủ web tương thích.
Nguy cơ mất an toàn thông tin cao.
Trang 7L o g o
1 GIỚI THIỆU VỀ WEB SERVER
a) Mô hình hoạt động của Web Server:
Máy trạm yêu cầu thiết lập kết nối
Trang 8L o g o
1 GIỚI THIỆU VỀ WEB SERVER
b) Địa chỉ URL (Uniform Resource Locator)
Được dùng để tham chiếu tới tài nguyên các trang Web trên Internet URL mang lại khả năng siêu liên kết cho các trang Web.
Đường dẫn tổng quát:
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 miền hay địa chỉ IP của máy chủ cần truy xuất Ví dụ: www.google.com hay 125.235.17.27
Trang 9L o g o
1 GIỚI THIỆU VỀ WEB SERVER
c) Các tài liệu HTML là một văn bản thô (raw text).
Trang 10• Hiển thị nội dụng Web cho người dùng
• Để đảm bảo an toàn phải luôn cập nhật các phiên bản mới nhât.
Trang 11L o g o
2 GIỚI THIỆU APACHE
HTTP/1.1
chế.
Trang 12a) Cài đặt Apache từ source.
b) Cài đặt Apache từ pakage rpm
#rpm –ivh httpd.version.i386.rpm
#yum install httpd
Trang 13L o g o
4 Cấu hình APACHE cơ bản
a) Các tập tin và thư mục cấu hình của Apache:
/etc/httpd/conf/httpd.conf: đây là 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
Trang 14L o g o
4 Cấu hình APACHE cơ bản
b) Vị trí thư mục root
Định nghĩa trong tệp tin: httpd.conf
DocumentRoot <đường dẫn thư mục>
Ví Dụ: DocumentRoot /var/www/html
Một yêu cầu http://www.kma.com/index.html sẽ dẫn trang web vào
vị trí thư mục lưu /var/www/html/index.html
ServerRoot <vị trí thư mục cài đặt apache>
Mặc định: ServerRoot /etc/httpd
ErrorLog <vị trí file log>
Ví Dụ: ErrorLog /var/logs/httpd/error_log
DirectoryIndex <danh sách các trang web mặc định>
VD: DirectoryIndex index.html index.htm index.shtml index.php index.php4 index.php3 index.cgi
Trang 16L o g o
4 Cấu hình APACHE cơ bản
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 <đường dẫn http> <đường dẫn cục bộ>
Ví Dụ: Alias /doc /pub/data
Thì khi truy cập http://www.kma.com/doc sẽ quy vào đường dẫn cục bộ là /pub/data.
Ví dụ: Alias /doc /pub/data
<Directory "/pub/data">
Options Indexes MultiViews DirectoryIndex home.html AllowOverride None Order allow,deny Allow from all
</Directory>
Trang 17L o g o
5 Cấu hình APACHE nâng cao
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.
Trang 18Cấ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.
Trang 19L o g o
5 CẤU HÌNH APACHE NÂNG CAO
+ 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 <vị trí tập tin password> <username>
- Chương trình sẽ yêu cầu bạn nhập vào password, và sauđó nhập lại một lần nữa
- 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
- <vị trí tập tin password> : 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
Trang 20L o g o
5 CẤU HÌNH APACHE NÂNG CAO
+ 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ệcquản lý chứng thực, Apache hỗ trợ tính năng nhóm ngườidùng
Dạng tổng quát của tập tin group:
<groupname>:<user lists>
+ 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
Trang 21AuthUserFile [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)
</Directory>
Trang 22Các bước thực hiện tương tự như Basic Authentication
Trang 23L o g o
5 CẤU HÌNH APACHE NÂNG CAO
+ 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 <vị trí tập tin password> <username>
- Chương trình sẽ yêu cầu bạn nhập vào password, và sauđó nhập lại một lần nữa
- 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
- <vị trí tập tin password> : 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
Trang 24L o g o
5 CẤU HÌNH APACHE NÂNG CAO
+ Tạo tập tin group.
Dạng tổng quát của tập tin group:
<groupname>:<user lists>
+ 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
Trang 25AuthUserFile [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)
</Directory>
Trang 26L o g o
5 CẤU HÌNH APACHE NÂNG CAO
Đ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ênnhữ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
Trang 27L o g o
5 CẤU HÌNH APACHE NÂNG CAO
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.
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ì đượcphép truy cập
kiểm tra trước tiên và bất kỳ client nào không phù hợpvới một điều kiện Allow hoặc phù hợp với một điềukiện Deny thì bị cấm truy cập đến server
Trang 28L o g o
5 CẤU HÌNH APACHE NÂNG CAO
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ácnhau cho từng domain
+ Named-based Virtual Hosting: nhiều domain chia sẻ trênmột địa chỉ IP
Trang 29L o g o
5 CẤU HÌNH APACHE NÂNG CAO
Ví Dụ: Caáu hình virtual host baèng IP-based Virtual host.
Trang 30L o g o
5 CẤU HÌNH APACHE NÂNG CAO
Ví dụ: Caáu hình virtual host baèng Named-based Virtual host.
Trang 313 Cấu hình apache cấm 1 số IP truy cập
4 Cấu hình nhiều tên miền cùng một máy chủ web (VirtualHost)
Trang 32L o g o
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
Trang 35MySQl thì user mặc định là "root" và không có password.
Để setup password cho user "root" của MySQL ta dùng
lệnh: mysqladmin -u root password mật mã
Trang 36L o g o
7 Thực hành
3 Cài đặt PHP
#yum install php php-devel php-gd php-imap php-ldap
mysql odbc pear xml xmlrpc
php-mbstring php-mcrypt php-mhash gettext
Kiểm tra trang web
Trang 37L o g o
7 Thực hành
3 Cài đặt PHP
Kiểm tra
Trang 39L o g o
7 Thực hành
4 Cài đặt phpMyadmin
# yum install phpmyadmin
Cấu hình file : #vi /etc/httpd/conf.d/phpmyadmin.conf
Trang 41L o g o
7 Thực hành
4 Cài đặt phpMyadmin
Kết quả
Trang 42L o g o
7 Thực hành
4 Cài đặt phpMyadmin