Lần trước có bạn hỏi về quản trị web server linux, mình thấy tài liệu này cũng hay nên post lên cho bạn tham khảo. Tài liệu này mình trích trong quyển “Giáo trình quản trị Linux”. Mong nhận được ý kiến đóng góp của các bạn.
I. Phần mềm Apache
Apache được phát triển dựa trên NCSA web server, là phiên bản cung cấp đầy đủ các tính năng của máy chủ (HTTP) web do dự án Apache Server thực hịên. Apache cung cấp một máy chủ web mã nguồn mở, tin cậy, hiệu quả và dễ dàng mở rộng. Phần mềm máy chủ bao gồm: daemon server, file cấu hình, công cụ quản trị, và tài liệu.
Phần mềm Apache Server sẵn có có trên trang Apache Group. Bạn có thể tải về từ các địa chỉ http://www.apache.org/dist/. Bạn tải về file .tar.gz tương ứng với phiên bản bạn muốn sử dụng. Ví dụ, Phiên bản mới nhất được viết là Apache 1.3.12, vì vậy file bạn cần tải về là apache_1.3.12.tar.gz. Bạn có thể lấy mã nguồn từ địa chỉ
http://www.apache.org/dist/apache_1.3.12.tar.gz.
Giải nén file
Để giải nén file này, sử dụng câu lệnh sau (giả sử rằng bạn đã để file trong thư mục
temp):
cd temp
gzip -d -c apache_1.3.12.tar.gz | tar xvf -
Câu lệnh này tạo một thư mục apache_1.3.12 trong thư mục temp
II. Biên dịch và cài đặt
Chạy các câu lệnh sau:
cd apache_1.3.12
./configure --prefix=<path-to-apache>
make
make install
***Chú ý sử dụng đường dẫn đầy đủ thay cho <path-to-apache>. Đường dẫn đầy
đủ này nên là nơi bạn muốn cài đặt apache server, chẳng hạn như
./configure --prefix=/afs/uncc.edu/usr/q/zlian/apache
7.2.3. Khởi động và tắt WebServer
Khởi động Apache
<path-to-apache>/bin/apachectl start
Ví dụ:
/afs/uncc.edu/usr/q/zlian/Apache/bin/apachectl start
Tắt Apache
<path-to-apache>/bin/apachectl stop
Ví dụ:
/afs/uncc.edu/usr/q/zlian/Apache/bin/apachectl stop
III. Cấu hình Apache
Theo cách truyền thống, cấu hình Apache được chia thành ba file cấu hình:
httpd.conf, access.conf, và srm.conf. Theo thứ tự các file này có ý nghĩa như sau,
* httpd.conf là file cấu hình server chính;
* access.conf là file định nghĩa các quyền truy cập;
* srm.conf các tài nguyên server được định nghĩa;
chẳng hạn như ánh xạ các thư mục và các biểu tượng. Ba file này được
trộn vào một file chung httpd.conf, nó có thể tìm thấy trong thư mục conf. Ví
dụ:
/afs/uncc.edu/usr/q/zlian/apache/conf/
Chú ý: Các hướng dẫn quan trọng cho cấu hình của bạn:
***ServerName:
ServerN ame chỉ ra địa chỉ IP của máy chủ cài đặt dịch vụ WebServer, thông thường nếu máy của bạn là máy cục bộ, không nối mạng, địa chỉ này mặc định là 127.0.0.1 tương ứng với tên máy là localhost. Nếu máy này có địa chỉ mạng, bạn có thể thay thế bằng địa chỉ IP của máy. Để xem địa chỉ của máy bạn thực hiện lệnh:
ifconfig –a
***Listen:
Chỉ dẫn này nói cho server lắng nghe các yêu cầu trên dịa chỉ IP được xác định
và/hoặc cổng TCP/IP . Mặc định, server lắng nghe cổng 80, nhưng bạn nên sử dụng
cổng lớn hơn 1024, bởi vì số ít hơn 1024 rất hay được sử dụng trong các tiến trình của hệ thống. Như trong ví dụ sau, Apache nghe trên cả hai cổng port 8080 và 8081.
listen 8080
listen 8081
Với cấu hình này, bạn có thể kiểm tra xem server của bạn chạy thành công hay chưa bằng cách gõ vào địa chỉ sau trên trình duyệt:
http://localhost:8080
hoặc
http://localhost:8081
***DocumentRoot
Thư mục tài liệu mặc định là <path-to-apache>/htdocs, bạn có thể để tài liệu html , ví dụ billchu.html, trong thư mục này và kiểm tra. Ví dụ:
http://152.15.35.2:8080/billchu.html
Bạn cũng có thể thay đổi thư mục tài liệu bằng sử dụng hướng dẫn sau trong file
httpd.conf:
DocumentRoot /usr/web
Sau đó một truy cập đến http://www.my.host.com/index.html sẽ tương
ứng /usr/web/index.html.
Thường xuất hiện trong khi cấu hình như sau: ("DocumentRoot
/usr/web/") thêm một ký tự “/”ở đuôi, bạn nên tránh điều này.
IV. Xác thực người dùng
Để ngăn chặn truy cập vào các file trên server của bạn, bạn nên sử dụng bảo vệ
user/password, Bạn có thể sử dụng các hướng dẫn sau.
AuthType
AuthName
AuthUserFile
AuthGroupFile
require
<Directory></Directory>
<Files></Files>
*** AuthType: Lựa chọn kiểu xác thực người sử dụng cho một thư mục. Chỉ có Basic và Digest là thực thi hiện tại.
***AuthName: Đặt tên của xác thực cho một thư. Tên xác thực này sẽ được gửi đến client để những người sử dụng biết loại username và password nào để gửi.
AuthName có một đối số; Nếu tên xác thực có dấu cách nó phải được đặt trong dấu trích dẫn.
***AuthUserFile :Đặt tên của file văn bản thuần túy chứa danh sách những người sử dụng và mật khẩu cho việc xác thực người sử dụng. Tên file là đường dẫn đến file người sử dụng. Nếu nó không phải là đường dẫn tuyệt đối (ví dụ, nếu nó không bắt đầu với ‘/’), Nó được xem như đường dẫn tương đối đến ServerRoot.
***AuthGroupFile: Đặt tên của một file văn bản thuần túy chứa danh sách các nhóm người sử dụng cho việc xác thực người sử dụng. Tên file là đường dẫn đến file group.
Nếu nó không phải là đường dẫn tuyệt đối (ví dụ, không bắt đầu với dấu ‘/’), nó được xem như đường dẫn tương đối đến ServerRoot.
***Require: Chọn những người sử dụng nào có thể truy cậo vào một thư mục. Cú pháp cho phép là:
1. Chỉ những người sử dụng được đặt tên có thể truy cập thư mục:
require user userid userid ...
2. Chỉ những người sử dụng trong các nhóm được đặt tên có thể truy cập thư
mục:
require group group-name group-name ...
3. Tất cả những người sử dụng có thể truy cập thư mục:
require valid-user
<Directory> và </Directory> được sử dụng để nhóm một nhóm các
hướng dẫn và nó sẽ chỉ được áp dụng cho thư mục được đặt tên và các thư mục con
của thư mục đó. Một hướng dẫn bất kỳ được cho phép có trong một directory có thể
được sử dụng.
<Files> và </Files> p cung cấp quyền truy cập bởi tên file (bao gồm đường
dẫn đến file).
Ví dụ:
<Directory
"/afs/uncc.edu/usr/q/zlian/apache/htdocs/manual">
AuthType Basic
AuthName "Restricted Directory"
AuthUserFile passwd
AuthGroupFile /dev/null
require valid-user
</Directory>
Để thiết lập file password, bạn có thể sử dụng công cụ có tên là htpasswd được cung cấp bởi Apache. Trước tiên tạo file password bằng cách:
% touch passwd
Trong thư mục "<path-to-apache>/bin/". Để thêm một người sử dụng, thực hiện lệnh:
% htpasswd <path-to-password-file>/passwd zlian
New password:
Re-type new password:
Đến đây bạn đã hoàn thành xong việc cấu hình Apache và thực hiện xác thực người
sử dụng cho dịch vụ web của bạn.
I. Phần mềm Apache
Apache được phát triển dựa trên NCSA web server, là phiên bản cung cấp đầy đủ các tính năng của máy chủ (HTTP) web do dự án Apache Server thực hịên. Apache cung cấp một máy chủ web mã nguồn mở, tin cậy, hiệu quả và dễ dàng mở rộng. Phần mềm máy chủ bao gồm: daemon server, file cấu hình, công cụ quản trị, và tài liệu.
Phần mềm Apache Server sẵn có có trên trang Apache Group. Bạn có thể tải về từ các địa chỉ http://www.apache.org/dist/. Bạn tải về file .tar.gz tương ứng với phiên bản bạn muốn sử dụng. Ví dụ, Phiên bản mới nhất được viết là Apache 1.3.12, vì vậy file bạn cần tải về là apache_1.3.12.tar.gz. Bạn có thể lấy mã nguồn từ địa chỉ
http://www.apache.org/dist/apache_1.3.12.tar.gz.
Giải nén file
Để giải nén file này, sử dụng câu lệnh sau (giả sử rằng bạn đã để file trong thư mục
temp):
cd temp
gzip -d -c apache_1.3.12.tar.gz | tar xvf -
Câu lệnh này tạo một thư mục apache_1.3.12 trong thư mục temp
II. Biên dịch và cài đặt
Chạy các câu lệnh sau:
cd apache_1.3.12
./configure --prefix=<path-to-apache>
make
make install
***Chú ý sử dụng đường dẫn đầy đủ thay cho <path-to-apache>. Đường dẫn đầy
đủ này nên là nơi bạn muốn cài đặt apache server, chẳng hạn như
./configure --prefix=/afs/uncc.edu/usr/q/zlian/apache
7.2.3. Khởi động và tắt WebServer
Khởi động Apache
<path-to-apache>/bin/apachectl start
Ví dụ:
/afs/uncc.edu/usr/q/zlian/Apache/bin/apachectl start
Tắt Apache
<path-to-apache>/bin/apachectl stop
Ví dụ:
/afs/uncc.edu/usr/q/zlian/Apache/bin/apachectl stop
III. Cấu hình Apache
Theo cách truyền thống, cấu hình Apache được chia thành ba file cấu hình:
httpd.conf, access.conf, và srm.conf. Theo thứ tự các file này có ý nghĩa như sau,
* httpd.conf là file cấu hình server chính;
* access.conf là file định nghĩa các quyền truy cập;
* srm.conf các tài nguyên server được định nghĩa;
chẳng hạn như ánh xạ các thư mục và các biểu tượng. Ba file này được
trộn vào một file chung httpd.conf, nó có thể tìm thấy trong thư mục conf. Ví
dụ:
/afs/uncc.edu/usr/q/zlian/apache/conf/
Chú ý: Các hướng dẫn quan trọng cho cấu hình của bạn:
***ServerName:
ServerN ame chỉ ra địa chỉ IP của máy chủ cài đặt dịch vụ WebServer, thông thường nếu máy của bạn là máy cục bộ, không nối mạng, địa chỉ này mặc định là 127.0.0.1 tương ứng với tên máy là localhost. Nếu máy này có địa chỉ mạng, bạn có thể thay thế bằng địa chỉ IP của máy. Để xem địa chỉ của máy bạn thực hiện lệnh:
ifconfig –a
***Listen:
Chỉ dẫn này nói cho server lắng nghe các yêu cầu trên dịa chỉ IP được xác định
và/hoặc cổng TCP/IP . Mặc định, server lắng nghe cổng 80, nhưng bạn nên sử dụng
cổng lớn hơn 1024, bởi vì số ít hơn 1024 rất hay được sử dụng trong các tiến trình của hệ thống. Như trong ví dụ sau, Apache nghe trên cả hai cổng port 8080 và 8081.
listen 8080
listen 8081
Với cấu hình này, bạn có thể kiểm tra xem server của bạn chạy thành công hay chưa bằng cách gõ vào địa chỉ sau trên trình duyệt:
http://localhost:8080
hoặc
http://localhost:8081
***DocumentRoot
Thư mục tài liệu mặc định là <path-to-apache>/htdocs, bạn có thể để tài liệu html , ví dụ billchu.html, trong thư mục này và kiểm tra. Ví dụ:
http://152.15.35.2:8080/billchu.html
Bạn cũng có thể thay đổi thư mục tài liệu bằng sử dụng hướng dẫn sau trong file
httpd.conf:
DocumentRoot /usr/web
Sau đó một truy cập đến http://www.my.host.com/index.html sẽ tương
ứng /usr/web/index.html.
Thường xuất hiện trong khi cấu hình như sau: ("DocumentRoot
/usr/web/") thêm một ký tự “/”ở đuôi, bạn nên tránh điều này.
IV. Xác thực người dùng
Để ngăn chặn truy cập vào các file trên server của bạn, bạn nên sử dụng bảo vệ
user/password, Bạn có thể sử dụng các hướng dẫn sau.
AuthType
AuthName
AuthUserFile
AuthGroupFile
require
<Directory></Directory>
<Files></Files>
*** AuthType: Lựa chọn kiểu xác thực người sử dụng cho một thư mục. Chỉ có Basic và Digest là thực thi hiện tại.
***AuthName: Đặt tên của xác thực cho một thư. Tên xác thực này sẽ được gửi đến client để những người sử dụng biết loại username và password nào để gửi.
AuthName có một đối số; Nếu tên xác thực có dấu cách nó phải được đặt trong dấu trích dẫn.
***AuthUserFile :Đặt tên của file văn bản thuần túy chứa danh sách những người sử dụng và mật khẩu cho việc xác thực người sử dụng. Tên file là đường dẫn đến file người sử dụng. Nếu nó không phải là đường dẫn tuyệt đối (ví dụ, nếu nó không bắt đầu với ‘/’), Nó được xem như đường dẫn tương đối đến ServerRoot.
***AuthGroupFile: Đặt tên của một file văn bản thuần túy chứa danh sách các nhóm người sử dụng cho việc xác thực người sử dụng. Tên file là đường dẫn đến file group.
Nếu nó không phải là đường dẫn tuyệt đối (ví dụ, không bắt đầu với dấu ‘/’), nó được xem như đường dẫn tương đối đến ServerRoot.
***Require: Chọn những người sử dụng nào có thể truy cậo vào một thư mục. Cú pháp cho phép là:
1. Chỉ những người sử dụng được đặt tên có thể truy cập thư mục:
require user userid userid ...
2. Chỉ những người sử dụng trong các nhóm được đặt tên có thể truy cập thư
mục:
require group group-name group-name ...
3. Tất cả những người sử dụng có thể truy cập thư mục:
require valid-user
<Directory> và </Directory> được sử dụng để nhóm một nhóm các
hướng dẫn và nó sẽ chỉ được áp dụng cho thư mục được đặt tên và các thư mục con
của thư mục đó. Một hướng dẫn bất kỳ được cho phép có trong một directory có thể
được sử dụng.
<Files> và </Files> p cung cấp quyền truy cập bởi tên file (bao gồm đường
dẫn đến file).
Ví dụ:
<Directory
"/afs/uncc.edu/usr/q/zlian/apache/htdocs/manual">
AuthType Basic
AuthName "Restricted Directory"
AuthUserFile passwd
AuthGroupFile /dev/null
require valid-user
</Directory>
Để thiết lập file password, bạn có thể sử dụng công cụ có tên là htpasswd được cung cấp bởi Apache. Trước tiên tạo file password bằng cách:
% touch passwd
Trong thư mục "<path-to-apache>/bin/". Để thêm một người sử dụng, thực hiện lệnh:
% htpasswd <path-to-password-file>/passwd zlian
New password:
Re-type new password:
Đến đây bạn đã hoàn thành xong việc cấu hình Apache và thực hiện xác thực người
sử dụng cho dịch vụ web của bạn.
Comment