6.21.2009

Web Server - Apache



Tải về bài viết:
Web Server - Apache.pdf
1. Giới thiệu Tải về bài viết:

Apache - Chương trình máy chủ HTTP là một chương trình dành cho máy chủ đối thoại qua giao thức HTTP. Apache chạy trên các hệ điều hành tương tự như Unix, Microsoft Windows, Novell Netware và các hệ điều hành khác. Apache đóng một vai trò quan trọng trong quà trình phát triển của mạng web thế giới.

Khi được phát hành lần đầu, Apache là chương trình máy chủ mã nguồn mở duy nhất có khả năng cạnh tranh với chương trình máy chủ tương tự của Netscape Communications Corporation mà ngày nay được biết đến qua tên thương mại Sun Java System Web Server. Từ đó trở đi, Apache đã không ngừng tiến triển và trở thành một phần mềm có sức cạnh tranh mạnh so với các chưong trình máy chủ khác về mặt hiệu suất và tính nãng phong phú. Từ tháng 4 nãm 1996, Apache trở thành một chương trình máy chủ HTTP thông dụng nhất. Hơn nữa, Apache thường được dùng để so sánh với các phần mềm khác có chức năng tương tự. Tính đến tháng 1 năm 2007 thì Apache chiếm đến 60% thị trường các chưong trình phân phối trang web.

Apache được phát triển và duy trì bở một cộng đồng mã nguồn mở dưới sự bảo trợ của Apache Software Foundation. Apache được phát hành với giấy phép Apache License và là một phần mềm tự do và miễn phí.

2. Chuẩn bị
- Đặt IP
- Đặt hostname: server06.hcm.com
- Tắt firewall, SELinux
- Cấu hình máy là một Primary Name Server cho domain hcm.com sao cho www.hcm.com có IP chính là Dns Server.

3. Cấu hình
- Đặt IP (192.168.9.106)
#vi /etc/sysconfig/network-scripts/ifcfg-eth0

- Đặt hostname (server06.hcm.com)
#vi /etc/sysconfig/network
#vi /etc/hosts

- File cấu hình
#cp /usr/share/doc/bind-9.3.3/sample/etc/name.conf /var/named/chroot/etc
#vi /var/named/chroot/etc/named.conf
Nội dung:
zone "hcm.com" {
type master;
file "hcm.db";
};
zone "9.168.192.in-addr-arpa" {
type master;
file "192.168.9.db";
};

- Tạo file database nghịch
vi /var/named/chroot/var/named/192.168.9.db
Nội dung:
$TTL 86400
@ IN SOA server06.hcm.com. root.hcm.com. (
2009062001
3H
15M
1W
1D )
IN NS server06.hcm.com
106 IN PTR server06.hcm.com.
106 IN PTR www.hcm.com.

- Tạo file database thuận
vi /var/named/chroot/var/named/hcm.db
Nội dung:
$TTL 86400
@ IN SOA server06.hcm.com. root.hcm.com. (
2009062001
3H
15M
1W
1D )
IN NS server06.hcm.com
server06 IN A 192.168.9.106
www IN A 192.168.9.106

4. Lab
- Kiểm tra gói httpd (cài đặt nếu chưa có)
#rpm -qa httpd

- start dịch vụ httpd
#service httpd start

- Kiểm tra Server có mở port 80/tcp chưa?
#netstat -ltn

- Truy cập vào web (xuất hiện màn hình default apache)
www.hcm.com

File cấu hình httpd: /etc/httpd/conf/httpd.conf
4.1 Cấu hình Server listen port 8000 thay vì port 80
- Sửa dòng 134 của file cấu hình:
Listen 8000

- restart dịch vụ
#service httpd restart

- Kiểm tra
Mở trình duyệt nhập:www.hcm.com:8000

4.2 Cấu hình email của user quản trị Web Server là admin@hcm.com

- Cấu hình dòng 251 file cấu hình:
ServerAdmin admin@hcm.com

- restart dịch vụ
#service httpd restart

4.3 Đặt tên cho Website chính là www.hcm.com
- Cấu hình dòng 265, file cấu hình:
ServerName www.hcm.com:8000

- restart dịch vụ
#service httpd restart

- Tạo file với nội dung bất kỳ
#vi /var/www/html/index.html

- Mở trình duyệt kiểm tra.

4.4 Cấu hình thư mục chứa Website là /data/web
- Tạo thư mục
#mkdir /data
#mkdir /data/web

- Tạo file với nội dung bất kỳ
#vi /data/web/index.html

- Cấu hình dòng 281 trong file cấu hình
DocumentRoot "/data/web"

- restart dịch vụ
#service httpd restart

4.5 Cấu hình Apache sao cho khi truy cập Website , file home.html sẽ được load đầu tiên.
- Cấu hình dòng 391 file cấu hình
DirectoryIndex home.html

- restart dịch vụ
#service httpd restart

4.6 Xem log của httpd
- Error log:
#tail -f /var/log/httpd/error_log

- Access log:
#tail -f /var/log/httpd/access_log

5. Cấu hình Alias
Yêu cầu: Cấu hình Server sao cho khi truy cập www.hcm.com/soft/ sẽ truy xuất vào thư mục /chiase/soft

- Thêm vào cuối file cấu hình dòng sau:
Alias /soft/ "/chiase/soft/"

- Tạo file /chiase/soft/index.html

- restart dịch vụ
#service httpd restart

- Kiểm tra: truy cập www.hcm.com/soft/

6. Cấu hình chứng thực cho thư mục /chiase/soft
Yêu cầu: Cấu hình Web Server sao cho chỉ có user hv1, hv2 được phép truy xuất vào www.hcm.com/soft.com

- Thêm vào cuối file cấu hình đoạn sau:


AuthType Basic
AuthName "Chung thuc nguoi dung"
AuthUserFile /etc/httpd/conf/htpasswd
Require user hv1 hv2


- Tạo user và passwd chứng thực cho web
#htpasswd -c /etc/httpd/conf/htpasswd hv1
#htpasswd /etc/httpd/conf/htpasswd hv2

- Lưu ý: Dòng lệnh đầu tiên chỉ được phép chạy một lần duy nhất!

- restart dịch vu
#service httpd restart

- Kiểm tra: truy cập vào www.hcm.com/soft/ với các user vừa tạo.

7. Cấu hình Hosting - Cấu hình Web Server Hosting 2 Website
www.hcm.com
www.linux.com

- Cấu hình Dns Server chịu trách nhiệm phân giải 2 record sau
www.hcm.com
www.linux.com

- Tạo 2 file database thuận là hcm.dblinux.db
vi /var/named/chroot/var/named/hcm.db
Nội dung:
$TTL 86400
@ IN SOA server06.hcm.com. root.hcm.com. (
2009062001
3H
15M
1W
1D )
IN NS server06.hcm.com
server06 IN A 192.168.9.106
www IN A 192.168.9.106

vi /var/named/chroot/var/named/linux.db
Nội dung:
$TTL 86400
@ IN SOA server06.linux.com. root.linux.com. (
2009062001
3H
15M
1W
1D )
IN NS server06.linux.com
server06 IN A 192.168.9.106
www IN A 192.168.9.106

- Chỉnh sửa file cấu hình
#vi /var/named/chroot/etc/named.conf
Nội dung:
zone "hcm.com" {
type master;
file "hcm.db";
};
zone "9.168.192.in-addr-arpa" {
type master;
file "192.168.9.db";
};
zone "linux.com" {
type master;
file "linux.db";
};

- Chỉnh sửa dòng 972 file cấu hình
NameVirtualHost 192.168.9.106:80

- thêm vào cuối file cấu hình đoạn sau:


ServerAdmin webmaster@hcm.com
DocumentRoot /data/web
ServerName www.hcm.com
ErrorLog logs/www.hcm.com-error_log
CustomLog logs/www.hcm.com-access_log common


ServerAdmin webmaster@linux.com
DocumentRoot /data/web
ServerName www.linux.com
ErrorLog logs/www.linux.com-error_log
CustomLog logs/www.linux.com-access_log common



- Tạo thư mục web gốc /data/web1 và tạo file /data/web1/index.html

- restart dịch vụ httpd
#service httpd restart

- kiểm tra website

8. Cấu hình Web Server sao cho các user trên hệ thống có thể truy cập vào trang web cá nhân của user

- Cấu hình file httpd.conf
+ Sửa dòng 355
#UserDir disable

+ Dòng 362
UserDir public_html

- Mở rào từ dòng 370 đến 381

- Tạo user hv1 và hv2

- Tạo thư mục:
#mkdir /home/hv1/public_html
#mkdir /home/hv2/public_html

- Tạo file (Nội dung bất kỳ)
#vi /home/hv1/public_html/index.html
#vi /home/hv2/public_html/index.html

- Cấp quyền cho home dir của từng user
#chmod 755 -R /home/hv1
#chmod 755 -R /home/hv2

- restart httpd
#service httpd restart

- Kiểm tra:
truy cập vào web http://www.nhatnghe.com/~hv1http://www.nhatnghe.com/~hv2