Quản trị máy chủ web Apache. Hướng dẫn quản trị máy chủ Apache và thương mại điện tử

MỘT SỐ

Trong chương này...

5.1. Giới thiệu

5.3. Địa chỉ IP và cổng

5.4. Lưu trữ ảo theo tên

5.5. Thiết lập hosting ảo theo tên trên máy chủ Apache

5.6. Lưu trữ ảo theo địa chỉ IP

5.1. Giới thiệu

Cho đến nay câu chuyện của chúng ta chỉ giới hạn ở những trường hợp đơn giản nhất. Đây là khi một phiên bản được cài đặt trên một máy nút máy chủ Apache và nó chỉ phục vụ một địa chỉ IP để xử lý các yêu cầu của người dùng đến một trang Web duy nhất. Trong thực tế, lựa chọn này khó có thể xảy ra. Nhiều khả năng là có hàng chục, thậm chí hàng trăm nút, mỗi nút có các yêu cầu về cấu hình và tài nguyên cụ thể.

Máy chủ Apache có thể được cấu hình để hỗ trợ nhiều địa chỉ IP (xem chỉ thị BindA và Listen). Đối với mỗi địa chỉ IP, nó có thể hỗ trợ nhiều cổng1. Mỗi sự kết hợp của các địa chỉ IP và cổng được tham dự có một hoặc nhiều nút. Chương này trình bày chi tiết ba phương pháp thiết lập máy chủ Apache để lưu trữ nhiều nút:

1. Trang chủ của người dùng.

2. Lưu trữ ảo theo tên.

3. Hosting ảo theo địa chỉ IP.

Phương pháp đầu tiên - trang chủ tùy chỉnh - là đơn giản nhất, nhưng khó có thể làm hài lòng những người dùng muốn trả tiền cho dịch vụ này. Phương pháp này tạo các thư mục con người dùng trong thư mục Người dùng và Apache chuyển hướng tất cả các yêu cầu về trang chủ đến thư mục người dùng.

1 Các thuật ngữ địa chỉ IP và cổng được thảo luận chi tiết trong Phụ lục A, Nguyên tắc chung.

Lưu trữ chia sẻ là một tính năng của máy chủ Apache cho phép một máy chủ xử lý các yêu cầu đến nhiều trang Web khác nhau. Máy chủ được cấu hình theo cách phân biệt các yêu cầu đối với các nút ảo theo tên, địa chỉ IP hoặc cả hai. Máy chủ Apache có thể được cấu hình sao cho các nút khác nhau bị ảnh hưởng bởi các lệnh khác nhau (và do đó hoạt động khác nhau). Đối với những mục đích này, lệnh virtualhost được sử dụng. Theo mặc định, các nút ảo kế thừa các thuộc tính của phiên bản máy chủ chính. Tuy nhiên, hầu hết tất cả các lệnh máy chủ cơ bản đều có thể bị bỏ qua hoặc được bổ sung bởi lệnh virtualHost.

Lưu trữ chia sẻ rất phổ biến vì lý do kinh tế. Hàng chục đến hàng nghìn nút có lưu lượng truy cập thấp đến trung bình có thể được hỗ trợ chỉ bằng một nút vật lý. Khuyến khích đăng ký tên miền . Thường có một khoản phí cho nhiều tên. Lưu trữ ảo được thực hiện theo tên hoặc địa chỉ IP.

Phương pháp thứ hai, lưu trữ ảo theo tên, liên quan đến việc liên kết nhiều tên máy chủ với một địa chỉ IP duy nhất. Khi tình trạng thiếu địa chỉ IP ngày càng tăng thì khả năng sử dụng phương pháp này cũng tăng lên.

Có lẽ bạn đã đoán được rằng phương pháp thứ ba, trong lưu trữ chia sẻ theo địa chỉ IP, là một máy là máy chủ cho nhiều địa chỉ IP. Trước đây, đây là phương pháp duy nhất dành cho nhiều dịch vụ lưu trữ và hiện tại nó vẫn là giải pháp duy nhất để xử lý lưu lượng truy cập đến từ các phiên bản trình duyệt cũ hơn2. Địa chỉ IP có thể được liên kết với nhiều thẻ giao diện mạng (NIC). Mặt khác, các hệ điều hành hiện đại cho phép bạn hỗ trợ nhiều địa chỉ IP bằng một card mạng.

Để các thay đổi cấu hình có hiệu lực, máy chủ Apache phải được khởi động lại như bình thường.

5.2. Trang chủ của người dùng

Phương pháp này sử dụng chỉ thị UserDir để đặt URL vào một số thư mục trên hệ thống, như trong Hình 2. 5.1.

5.2.1. Chỉ thị UserDir some_directory

Lệnh này nhằm mục đích chỉ ra rằng nội dung Web sẽ được tìm thấy trong thư mục con cụ thể của thư mục gốc của người dùng. Khi lệnh này đang chạy, máy chủ Apache chấp nhận các yêu cầu có dạng:

http://www.example.com/~userguy

và sử dụng tài nguyên hệ thốngđể xác định thư mục gốc của userguy. Giả sử nó nằm trong thư mục /home, do đó đường dẫn đến thư mục gốc userguy sẽ là /home/userguy. Nếu một lệnh tương tự như

UserDir some_directory,

máy chủ Apache sẽ tìm kiếm nội dung web được hiển thị trong thư mục con some_directory của thư mục /home/userguy 3. Theo logic của ví dụ của chúng tôi, điều này sẽ dẫn đến thư mục

/home/userguy/some_directorу

2 Các trình duyệt triển khai tiêu chuẩn HTTP nhỏ hơn 1.1, vì những lý do mà chúng ta sẽ thảo luận sau, không thể hỗ trợ lưu trữ theo tên.

3 Giá trị mặc định public_html

Cơm. 5.1. Trang chủ của người dùng

5.2.2. Chỉ thị UserDir /an/absolute/path

Có một cách để đặt đường dẫn tuyệt đối đến một thư mục cụ thể trong đó nội dung Web của tất cả người dùng được lưu trữ. Phương pháp này giả định rằng mỗi người dùng có thư mục con riêng trong thư mục được chỉ định bởi lệnh UserDir. Ví dụ: nếu máy chủ Apache nhận được một URL

http://www.example.com/~timmy/xfly.html,

khi lệnh UserDir /var/user/webspace có hiệu lực,

sau đó máy chủ trả về /var/user/webspace/timmy/x files.html

5.2.3. Chỉ thị UserDir /an/absolute/*/with/wildcard

Trong cả ba tùy chọn cho lệnh UserDir, tùy chọn này có nhiều khả năng được sử dụng nhất. Phương pháp này chỉ định đường dẫn tuyệt đối tới thư mục nơi người dùng lưu trữ tài liệu Web của họ. Ở đây, thay vì tên người dùng, dấu hoa thị “*” được chỉ định. Và khi máy chủ Apache nhận được yêu cầu tới một người dùng cụ thể

http://www.example.com/~susie,

nó phân tích tên người dùng (được biểu thị bằng ký tự "~") và thay thế dấu hoa thị bằng tên người dùng. Ví dụ, nếu ở Hiện nay Lệnh UserDir hợp lệ:

UserDir /home/*/public_html,

máy chủ Apache sẽ chuyển hướng URL này đến thư mục /home/susie/public_html

5.3. Địa chỉ IP và cổng

Trước khi định cấu hình lưu trữ chia sẻ, bạn cần định cấu hình máy chủ để nghe trên các cổng thích hợp. Theo mặc định, máy chủ Apache giám sát IP

cổng 80 cho tất cả các địa chỉ IP có sẵn trên máy chủ. Tùy thuộc vào nhiệm vụ mà máy chủ phải đối mặt, điều này có thể đủ. Các lệnh được mô tả trong phần này sẽ cho phép bạn định cấu hình địa chỉ của mình và giám sát cổng.

5.3.1. Xác định địa chỉ IP:

Chỉ thị địa chỉ BindAddress

Lệnh BindAddress yêu cầu máy chủ Apache giám sát một địa chỉ IP cụ thể hoặc một dải địa chỉ. Lệnh sau đặt máy chủ Apache lắng nghe địa chỉ 192.168.1.10:

Địa chỉ Bind 192.168.1.10

Để nghe tất cả các địa chỉ IP đang hoạt động, bạn cần chỉ định lệnh

5.3.2. Xác định một cổng IP$: Chỉ thị port portnum

Theo mặc định, máy chủ Apache lắng nghe cổng IP 80 của địa chỉ IP đã cho. Điều này đúng vì cổng 80 là " cổng tiêu chuẩn", được xác định bởi giao thức HTTP và do đó sẽ được truy cập số lớn nhất Trình duyệt web.

Mặt khác, bạn có thể cần phải thay đổi điều này cài đặt chuẩn và do đó chỉ giới hạn quyền truy cập vào những trình duyệt biết cổng nghe. Một ví dụ điển hình về việc sử dụng máy chủ Apache như vậy là việc sử dụng nó như một máy chủ proxy và chế độ hoạt động này cũng có thể hữu ích cho việc thiết lập mạng nội bộ của công ty. Lưu ý rằng không giống như lệnh Listen (sẽ được thảo luận trong phần tiếp theo), mỗi lần chỉ có thể áp dụng một lệnh Port. Ví dụ: để máy chủ Apache bắt đầu nghe trên cổng 4444, bạn cần đặt lệnh

5.3.3. Xác định một hoặc nhiều cổng IP$: Chỉ thị nghe

Không giống như lệnh Port, lệnh Listen không ghi đè các lệnh Listen khác. Để máy chủ Apache lắng nghe trên cổng 80 (chuẩn HTML) và cổng (giả định cảng địa phương), chúng ta sẽ sử dụng một chuỗi các lệnh

Ngoài ra, lệnh Listen có thể được sử dụng để xác định địa chỉ IP. Giả sử rằng ví dụ trên đang nghe trên địa chỉ IP 192.168.1.2. Các lệnh Listen sau đây sẽ có tác dụng tương tự:

Nghe 192.168.1.2:80

Nghe 192.168.1.2:

5.3.4. Cấu hình nhiều cổng IP

Hai phương pháp có thể được đề xuất để hỗ trợ nhiều địa chỉ IP trên một hệ thống:

Mua và cài đặt một số bảng giao diện.

Trên một số hệ điều hành, bạn có thể sử dụng lệnh ifconf ig để thiết lập giám sát một card giao diện cho nhiều địa chỉ IP.

Khá hiển nhiên rằng ý tưởng mua nhiều card giao diện thì không cần bình luận. Điều tương tự không thể xảy ra khi sử dụng lệnh ifconfig. Lệnh ifconfig (cấu hình giao diện) thực hiện hai chức năng:

Hiển thị thông tin cấu hình cho giao diện hiện có.

Thay đổi hoặc thêm thông tin cấu hình giao diện.

Chức năng đầu tiên có những lợi ích không thể phủ nhận nhưng không liên quan trực tiếp đến máy chủ. Để thực hiện việc này, chỉ cần sử dụng lệnh ifconfig để xác định tên của thẻ được yêu cầu.

/home/root> ifconfig eth0

Kết quả sẽ là phản hồi sau (tất nhiên tùy thuộc vào loại hệ thống):

eth0 Link encap:Ethernet HWaddr 0 0: 2 0: 7 8: 1 7: 9 A: E B

inet addr:192.168.1.1 Beast:192.168.1.255 mặt nạ:255 . 255. 255. 0 LÊN CHẠY PHÁT SÓNG ĐA NĂNG MTU:1500 Số liệu:!

Gói RX: 260652 lỗi: 0 bị rớt: 0 tràn: 0 khung: 0

Gói TX: 565370 lỗi: 0 bị rớt: 0 tràn: 0 sóng mang: 0 va chạm: 0

Mặt khác, lệnh ifconfig đôi khi có thể được sử dụng để nhập thông tin mới. Đây là đội đã tạo ra thiết bị ảo eth0: l. Nó sẽ giám sát các địa chỉ IP khác nhau (192.168.100.2).

/home/root> ifconfig eth0:1 192.168.1.2 netmask 255 . 255. 255. 0

Nếu được định cấu hình thành công, et h0:1 sẽ hoạt động như thể nó thực sự ở đó, phản hồi các ping và yêu cầu của người dùng như thể bạn đã thực sự chi 50 USD cho một thẻ mới.

5.4. Lưu trữ chia sẻ theo tên

Shared hosting theo tên tương đối Sửa đổi mới Tiêu chuẩn HTTP. Với phương pháp này, nhiều tên miền khác nhau được liên kết với một địa chỉ IP duy nhất. Tất cả các tên miền đều được đăng ký và tất cả các yêu cầu đều được chuyển hướng đến cùng một địa chỉ IP. Máy chủ phân biệt yêu cầu này với yêu cầu khác bằng cách sử dụng tiêu đề HOST được định cấu hình cho từng máy chủ ảo được định cấu hình trên máy chủ.

Điều này là không còn nghi ngờ gì nữa quyết định tốt phần nào làm giảm tốc độ cạn kiệt không gian địa chỉ Internet. Vấn đề duy nhất là chỉ những trình duyệt tuân thủ tiêu chuẩn HTTP 1.1 mới hoạt động với tiêu đề HOST. Do đó, việc truy cập các nút ảo như vậy bằng trình duyệt lỗi thời sẽ khá khó khăn.

Quá trình thiết lập dịch vụ lưu trữ như vậy có thể được chia thành ba giai đoạn:

Thông báo cho DNS rằng địa chỉ IP hiện có cũng liên quan đến tên của máy chủ ảo mới.

Giao tiếp với máy chủ Apache cách các yêu cầu được định tuyến đến máy chủ ảo.

5.4.1. Hệ thống tên miền và đăng ký tên

Hệ thống tên miền (DNS) là một dạng tương tự của các trang vàng trên Internet. Đây là cơ sở dữ liệu phân tán về địa chỉ IP và tên miền liên quan. Nếu không có Hệ thống tên miền hoặc thứ gì đó tương tự, Internet không thể tồn tại. Nếu không có cơ sở dữ liệu DNS, một URL được đặt trong trình duyệt hoàn toàn vô dụng cho đến khi tìm thấy địa chỉ IP tương ứng trong cơ sở dữ liệu DNS.

Phần II. Quản trị máy chủ web

Với tình hình đang diễn ra Tiện ích mở rộng Internet, tên miền tốt còn lại ngày càng ít. Tất cả các tổ hợp tên miền ba chữ cái có thể có đều đã hết, vì vậy bạn không cần phải lo lắng về điều này. Hầu hết các từ tiếng Anh đã được sử dụng. Yêu cầu tên miền mới có thể được gửi tới http://www.networksolutions.com (xem Hình 5.2).

Cơm. 5.2. Đăng ký tên miền

Nếu bạn có Tên miền thứ làm bạn hài lòng trong mọi việc, thì điều tồi tệ nhất sẽ ở phía sau bạn. Trong thực tế chung cho người dùng trung bình Hoàn toàn không cần thiết phải tự mình đăng ký tên miền. Đối với hầu hết, việc đăng ký DNS bao gồm việc điền vào biểu mẫu và gửi nó đến các đại lý ISP thích hợp.

DNS là một cơ sở dữ liệu phân tán, tức là nó không thể được tìm thấy cùng một lúc trên một máy chủ. Yêu cầu của người dùng có thể đi qua nhiều máy chủ trước khi tìm thấy kết quả phù hợp. Một tác dụng phụ là việc đăng ký tên miền mới thông qua mạng DNS trên toàn thế giới phải mất hàng giờ, đôi khi thậm chí vài ngày.

5.5. Thiết lập chia sẻ lưu trữ theo tên trên máy chủ Apache

Thật tốt khi việc lưu trữ ảo theo tên tương đối dễ dàng. Để làm điều này, bạn chỉ cần thực hiện hai bước, mặc dù thành thật mà nói, bước thứ hai có thể khó khăn.

1. Sử dụng chỉ thị NameVirtualHost, xác định địa chỉ IP sẽ được sử dụng để lưu trữ ảo.

2. Sử dụng một cặp chỉ thị Vir tualHost, chọn các chỉ thị chỉ liên quan đến một mục tiêu cụ thể Web ảo nút.

5.5.1. Gán IP cho hosting ảo có tên: NameVirtualHost

Sử dụng lệnh NameVirtualHost, đặt địa chỉ IP của máy chủ ảo trong tệp cấu hình httpd.conf. Ví dụ: một lệnh như

TênVirtualHost 192.168.1.1

sẽ cảnh báo máy chủ Apache rằng có khả năng nhận được yêu cầu tại địa chỉ 192.168.1.22 tới các máy chủ khác ngoài máy chủ tiêu chuẩn. Để Apache được hưởng lợi từ thông tin này, các chỉ thị dành riêng cho máy chủ ảo phải được chỉ định bằng dấu ngoặc đơn của Virtualhost.

Số cổng có thể được đặt bằng lệnh NameVirtualHost.

NameVirtualHost 192.168.1.1:80

Lưu trữ ảo theo tên chỉ hoạt động đối với các trình duyệt Web tuân thủ tiêu chuẩn HTTP 1.1 trở lên. Lý do cho điều này là tiêu chuẩn HTTP 1.1 có chỉ thị HOST chỉ định tên máy chủ (và cổng). Đây là nơi trình duyệt Web lấy thông tin. Nếu không có chỉ thị này, máy chủ sẽ không thể xác định trang Web nào có thể được liên kết với địa chỉ IP mà người dùng yêu cầu.

5.5.2. Bắt đầu lưu trữ ảo: chỉ thị Virtualhost

Lệnh Virtualhost là một "toán tử khung". Nó chỉ được áp dụng theo cặp và giới hạn phần đầu và phần cuối của các lệnh liên quan đến lưu trữ ảo. Tiếp tục với ví dụ, chúng ta có:

Tên máy chủ www.examplel.org

DocumentRoot/some/other/thư mục

Xin lưu ý rằng các chỉ dẫn bên trong dấu ngoặc đơn , chỉ áp dụng cho máy chủ ảo được chỉ định bởi lệnh ServerName. Chỉ thị kèm theo trong ngoặc đơn , hủy cài đặt mặc định cho địa chỉ IP đó. Giới hạn về số lượng lệnh có thể được đặt trong dấu ngoặc toán tử , KHÔNG. Nhưng vẫn có những giới hạn hợp lý nhất định (xem Bảng 5.1).

Bảng 5.1. Chỉ thị không áp dụng trong lưu trữ chia sẻ

chỉ thị

Mục đích

Lệnh BindAddress được sử dụng để

cung cấp một hoặc nhiều địa chỉ IP để nghe

máy chủ.

Lệnh Listen được sử dụng để đặt IP

địa chỉ và có thể cả cổng. Không cần kiểm tra và gỡ lỗi

Không thể kết nối với máy chủ ảo.

Số lượng máy chủ nhàn rỗi tối đa, đang hoạt động

không hoạt động tại bất kỳ thời điểm nào, dành cho hoạt động

Nút đã chọn không được chỉ định.

Số lượng máy chủ tối thiểu đang chạy không tải trong

tại bất kỳ thời điểm nào, đối với một nút cụ thể không

được yêu cầu.

Phần II. Quản trị máy chủ web

Cuối bảng 5.1

chỉ thị

Mục đích

Số yêu cầu tối đa cho mỗi đứa trẻ

Số lượng yêu cầu tối đa cho quá trình sinh ra.

Chỉ định vị trí của tệp chứa PID của bản gốc

quá trình ban đầu trên máy chủ.

Xác định vị trí của cấu hình toàn cầu

Chỉ định xem máy chủ nên được khởi động bằng tiến trình inetd hay như

có một quá trình tự trị.

Các loại MIME phải được cấu hình trên toàn cầu.

Thao tác này chỉ được thực hiện bên ngoài dấu ngoặc đơn

5.5.3. Máy chủ ảo mặc định

Cách sử dụng từ khóa _default_ thay vì địa chỉ IP cho biết rằng thông tin cấu hình bạn chỉ định sẽ được sử dụng theo mặc định trong trường hợp các yêu cầu đến không thể tìm thấy nút ảo mong muốn trong số các nút hiện có. Bạn không cần phải làm điều này, nhưng một khi đã làm, bạn sẽ không hối hận. Cấu hình máy chủ hiện tại có thể đơn giản đến mức không cần thiết, nhưng vẫn cách tiếp cận tiêu chuẩn có thể khá hữu ích.

Chỉ thị tiêu chuẩn...

5.5.4. Địa chỉ IP$ hay tên miền?

Nếu bạn xem xét kỹ hơn các lệnh được mô tả trong chương này (VirtualHost, BindAddress, v.v.), bạn sẽ nhận thấy rằng nhiều lệnh trong số đó được thiết kế để xác định tên miền thay vì địa chỉ IP. Ví dụ: một bộ chỉ thị

Nhiều chỉ thị khác nhau...

đúng về mặt kỹ thuật và thực sự dễ đọc hơn so với sử dụng địa chỉ IP. Thật không may, điều này có tác động tiêu cực đến hiệu suất. Khi lưu trữ theo tên, máy chủ Apache, mỗi khi nhận được yêu cầu, sẽ buộc phải tìm kiếm tên đã cho trong DNS và điều này làm chậm đáng kể công việc.

5.6. Lưu trữ ảo theo địa chỉ IP$

Dịch vụ lưu trữ ảo dựa trên IP không yêu cầu trình duyệt của người dùng gửi tiêu đề Máy chủ (điều này chỉ đúng với các trình duyệt tuân thủ HTTP 1.1) và do đó, tùy thuộc vào yêu cầu của máy chủ, có thể không yêu cầu tính độc quyền. Dưới đây là các giai đoạn của quá trình lưu trữ ảo theo địa chỉ IP:

1. Tạo và đăng ký tên máy chủ ảo mới.

2. Định cấu hình hệ thống để nó có thể giám sát các địa chỉ IP mới (xem phần “Địa chỉ IP và Cổng” trong chương này).

3. Đặt kết nối DNS giữa địa chỉ IP mới và tên máy chủ.

4. Một thông báo tới máy chủ Apache về cách xử lý các yêu cầu hướng đến máy chủ ảo.

Hầu hết các yêu cầu này đã được thảo luận. Để biết thông tin về cách tạo và đăng ký tên máy chủ mới, hãy xem phần "Dịch vụ lưu trữ chia sẻ theo tên" trong chương này. Quy trình tạo tên mới cũng tương tự. Tuy nhiên, khi đăng ký tên máy chủ ảo mới với sử dụng DNS bạn cần tạo một địa chỉ IP mới.

Việc cấu hình hệ thống để nó có thể giám sát các địa chỉ IP mới sẽ được thảo luận trong phần “Địa chỉ IP và Cổng” trước đó trong chương này.

Sự khác biệt chính giữa việc định cấu hình máy chủ Apache để lưu trữ ảo theo tên và lưu trữ ảo theo địa chỉ IP là trong trường hợp thứ hai, bạn không cần phải sử dụng các dịch vụ của chỉ thị NameVirtualHost. Để tạo nút có tên www.example2.com tại 192.168.1.2, bạn cần:

Tên máy chủwww.example2.com

5.6.1.Kết hợp các nút ảo dựa trên tên và địa chỉ IP

Không có lý do gì có thể ngăn cản sự kết hợp của cả hai phương pháp trên cùng một hệ thống. Đầu tiên, tạo tất cả các máy chủ ảo cần thiết theo địa chỉ, sau đó khớp các địa chỉ cho máy chủ ảo theo tên. Nếu lệnh NameVirtualHost đã được áp dụng ít nhất một lần cho một địa chỉ IP cụ thể thì địa chỉ này sẽ bị mất đối với dịch vụ lưu trữ ảo tại địa chỉ đó.

5.7. Những gì bạn cần cấu hình cho lưu trữ chia sẻ

Trong tất cả các ví dụ, chỉ thị được đặt trong dấu ngoặc đơn cố ý. Về mặt kỹ thuật, không cần thiết phải chỉ định bất cứ điều gì trong ngoặc đơn, mặc dù việc chỉ định chúng trong trường hợp chúng không chứa bất kỳ thứ gì là hoàn toàn vô nghĩa. Một số chỉ thị được mô tả trong phần này chỉ có thể được gọi là dành riêng cho dịch vụ lưu trữ chia sẻ.

Khi định cấu hình các lệnh, bạn cần nhớ rằng các nút ảo không tuân theo các thuộc tính của máy chủ Apache chính. Cấu hình máy chủ ảo phải ghi đè, mở rộng hoặc sao chép cấu hình máy chủ chính.

Tối thiểu, bạn phải chỉ định lệnh ServerName cho mỗi nút ảo:

Tên máy chủ www. trang2. com

Một thành phần cần thiết khác là chỉ thị Docum entRoot, chỉ định điểm bắt đầu cho bất kỳ tìm kiếm nào. Tôi nghĩ rằng trong một tình huống mà Tài liệu web một lần khách hàng cá nhân các thư mục riêng biệt được phân bổ, điều này chắc chắn sẽ phù hợp.

Tài liệuRoot /home/site2

Lệnh Serve rAdmin cho phép bạn chỉ định địa chỉ email chính xác của quản trị viên của mỗi nút ảo. Đây là địa chỉ sẽ gửi thư với các thông báo về các vấn đề phát sinh trong quá trình hoạt động của máy chủ.

Quản trị viên máy chủ [email được bảo vệ]

Phần II. Quản trị máy chủ Web$

Chúng tôi cũng có thể đề cập đến các tệp ErrorLog và TransferLog, vì việc phân tích của chúng giúp đơn giản hóa việc gỡ lỗi và phân tích lưu lượng truy cập. Tuy nhiên, hãy nhớ rằng các hệ thống Unix (bao gồm cả hệ điều hành Linux) thường áp đặt giới hạn về số lượng tệp mà các quy trình riêng lẻ có thể mở. Việc chỉ định một tệp nhật ký riêng cho từng máy chủ ảo có thể nhanh chóng vượt quá giới hạn này. Thật không may, tôi phải yêu cầu bạn tham khảo tài liệu hệ thống của mình để tìm hiểu cách bạn có thể tác động đến các hạn chế áp đặt cho từng hệ thống cụ thể. Nếu bạn có bất kỳ nghi ngờ nào như vậy, hãy kiểm tra tệp nhật ký hệ thống của bạn. Hệ điều hành Unix rất giỏi trong việc phát hiện loại vi phạm này.

Bản tóm tắt

Cuốn sách này nhằm mục đích trở thành một hướng dẫn tham khảo khá toàn diện về máy chủ Web Apache. Tài liệu được trình bày trong đó đảm nhận một mức độ nhất định trình độ tin học, nhưng kiến ​​thức công nghệ mạng nó không được yêu cầu. Mặc dù thực tế là vấn đề chính của cuốn sách nằm ở khu vực thương mại điện tử, các ứng dụng bao gồm rất nhiều vấn đề và thông tin cần thiết để tạo và vận hành máy chủ Web. Đây là vấn đề khớp tên và địa chỉ IP, chi tiết và cú pháp giao thức TCP/IP biểu thức chính quy. Ngoài ra, từ góc độ quản trị Web, các chủ đề tạo ra một hệ thống cũng được đề cập đến. thanh toán điện tử và tương tác với cơ sở dữ liệu.

Apache

Máy chủ Web Apache được mệnh danh là viên ngọc quý của phong trào phần mềm nguồn mở. Bạn có thể nhận được nó hoàn toàn miễn phí. Nó có hiệu suất tuyệt vời và do đó được sử dụng rộng rãi hơn tất cả các máy chủ Web khác cộng lại. Hiện tại, 61,5% tất cả các trang Web trên thế giới được xây dựng bằng máy chủ Apache.

Sự phát triển nhanh chóng của "các hệ thống nguồn mở" cũng giống như quá trình chọn lọc sinh học tự nhiên - tất cả các hệ điều hành Linux và các tiện ích gửi thư trên thế giới dần dần lấp đầy trang bìa tạp chí Time và bị máy quảng cáo đè bẹp trong khi vô số tiện ích DOS chậm rãi nhưng không thể tránh khỏi. tiếp cận lịch sử thiết bị /dev/. Apache sẽ không bao giờ phổ biến đến thế nếu nó không hoạt động ổn định.

Máy chủ Apache có thêm một lợi thế nữa mà các máy chủ khác không có được hệ thống mở: Nó đơn giản đến mức bất kỳ người dùng nào có đủ kỹ năng đều có thể thành thạo nó một cách trọn vẹn. Có Chúa mới biết, tôi không phải là một fan cuồng của Microsoft, nhưng nếu tôi được giao nhiệm vụ lựa chọn giữa hệ điều hành Linux và hệ điều hành Windows 2000, tôi sẽ ngay lập tức chọn Windows trước khi bạn kịp chớp mắt. Và nhân tiện, điều này không nên coi là thiếu tôn trọng Linux: các hệ điều hành, đặc biệt là hệ điều hành nhiều người dùng, rất phức tạp. Cách duy nhất để người dùng bình thường có thể tiếp cận chúng là đơn giản hóa chúng.

May mắn thay, nhóm nhiệm vụ có thể được giải quyết bằng máy chủ Apache không quá rộng. Những ai bắt đầu tìm hiểu máy chủ với cảm giác không chắc chắn và sợ hãi những điều mới sẽ cảm thấy nhẹ nhõm hơn khi biết rằng bản thân quy trình cấu hình và bảo trì máy chủ không khó lắm. Bản chất của việc thành thạo một máy chủ, tùy thuộc vào mức độ kinh nghiệm của bạn, là nắm vững các khái niệm cơ bản về hệ điều hành, nắm vững các lệnh giúp máy thực hiện những gì bạn muốn và nắm vững biệt ngữ. Nếu bạn là chuyên gia về một trong những vấn đề này, bạn sẽ thấy Thực ra Một bất ngờ thú vị.

Truyện ngắn

Máy chủ Apache bắt nguồn từ máy chủ httpd được tạo bởi Rob McCall (Rob McCool) tại Trung tâm Ứng dụng Siêu máy tính Quốc gia (NCSA). Năm 1995, httpd là máy chủ Web phổ biến nhất hiện nay, nhưng đến năm 1994 McCall rời NCSA, sự phát triển của chương trình bị đình trệ. Vì vậy, để hỗ trợ và phát triển nó, một nhóm nhỏ các quản trị viên Web đã tập hợp lại và thành lập hạt nhân của một tổ chức mà ngày nay được nhiều người biết đến với cái tên “Nhóm Apache”. Các thành viên của nó là

Brian Behlendorf (Brian Behlendorf)

Roy T. Fielding(Roy T. Fielding)

Rob Hartill (Rob Hartill)

David Robinson (David Robinson)

Clif Skolnik (Vách đá Skolnick)

Randy Terbush (Randy Terbush)

Robert Thầu (Robert S.Thau)

Andrew Wilson (Andrew Wilson)

Hợp tác chặt chẽ với Eric Hagberg (Eric Hagberg), Frank Peters (Frank Peters) Và Nicholas Pioch (Nicholas Pioch), "Nhóm Apache được kết hợp" đã xuất bản các bản sửa lỗi cho httpd 1.3, bổ sung thêm một số tính năng mới và vào tháng 4 năm 1995 đã phát hành phiên bản tiếp theo của máy chủ dưới tên Apache 0.6.2.

Kể từ đó, "nhóm Apache", như họ sớm được biết đến, đã cống hiến hết mình cho việc tùy chỉnh và cải tiến phần mềm. Hiện nay có các phiên bản dành cho hầu hết các hệ điều hành chính, mặc dù nền tảng Unix là nền tảng dẫn đầu không thể tranh cãi trong số đó.

Về cốt lõi, máy chủ Web Apache là kết quả cuối cùng công việc chung hoành tráng của một nhóm lập trình viên có trình độ cao. Một câu hỏi tự nhiên được đặt ra là điều gì đã thôi thúc họ làm việc trên Apache thay vì phát triển phần mềm thương mại thông thường để kiếm được nhiều tiền. Bạn có thể trích dẫn trang web tại đây apache.org:

"Máy chủ Apache tồn tại để cung cấp các giải pháp cấp thương mại, đáng tin cậy bằng cách sử dụng Giao thức HTTP. Nó cung cấp một nền tảng để các cá nhân và tổ chức có thể xây dựng các hệ thống đáng tin cậy cho cả ứng dụng thử nghiệm và ứng dụng quan trọng. Chúng tôi tin rằng các công cụ được xuất bản trên Internet, rơi vào tay bất kỳ ai hoặc công ty nào tham gia phát triển sản phẩm phần mềm, sẽ có thể giúp kiếm tiền bằng cách tạo ra Dịch vụ bổ sungđể tạo ra các mô-đun chuyên dụng và cung cấp dịch vụ cho hỗ trợ kỹ thuật. Chúng tôi hiểu rằng việc "làm chủ" thị trường là một lợi thế kinh tế và trong ngành công nghiệp phần mềm, điều này có nghĩa là chỉ cần kiểm soát việc nhận thanh toán từ người dùng sản phẩm phần mềm là đủ. Thông thường, tình trạng này có thể đạt được bằng cách "sở hữu" giao thức mà các công ty tiến hành hoạt động kinh doanh của mình. Bởi vì các giao thức được sử dụng trên Internet là “đất không có người”, nên nó vẫn là lĩnh vực của các công ty lớn và nhỏ. Bằng cách này, dường như có thể ngăn chặn "quyền sở hữu riêng" đối với giao thức và đảm bảo sự tồn tại của một sản phẩm phần mềm đáng tin cậy sử dụng giao thức, hoàn toàn miễn phí cho tất cả các công ty và không thể đánh giá thấp điều này."

Phần mềm mã nguồn mở

Máy chủ web Apache có thể dễ dàng được phân loại là một trong những sản phẩm được gọi là phần mềm nguồn mở. Được cung cấp theo truyền thống được lưu trữ chương trình ứng dụng thường chỉ chứa mã đối tượng thực thi được và không nguồn, từ đó chương trình được biên soạn. Apache và các sản phẩm tương tự khác không chỉ đưa vào bản phân phối của mình mã đối tượng thực thi mà còn cả mã nguồn mà mã đối tượng được tạo ra.

Từ quan điểm của người dùng cuối, điều này có ý nghĩa. Ví dụ, khi thực hiện cuốn sách này, rất nhiều vấn đề đã nảy sinh trong văn phòng của chúng tôi. Phần mềm thương mại lớn chạy trên hệ điều hành thương mại lớn không phản hồi. Nó ngừng phản hồi với đầu vào. Chúng tôi đã cố gắng theo dõi ngăn xếp và một số thứ khác, nhưng do thiếu văn bản nguồn, không thể thực hiện bất kỳ bước quan trọng nào. Do đó, tất cả các chẩn đoán có thể có đã bị loại bỏ và cùng với phần mềm được chuyển đến nhà cung cấp để phân tích. Rất tự nhiên, vấn đề đã được giải quyết, nhưng phải mất hai tuần.

Vì vậy, nó là một thủ tục rất phức tạp. Nếu chúng ta làm việc với open phần mềm, thì giải pháp chắc chắn sẽ được tìm ra nhanh hơn nhiều. Và trong trường hợp cụ thể này, vẫn chưa rõ chính xác vấn đề là gì và ngay cả khi chúng tôi biết lý do, chúng tôi chắc chắn sẽ không thể khắc phục được. Chúng tôi hoàn toàn phụ thuộc vào nhà cung cấp của mình.

Tất nhiên, làm việc với “hệ thống mở” có phần bất thường. Thật vậy, trong trường hợp làm việc với phần mềm nguồn mở, không có ai chịu trách nhiệm trực tiếp về việc duy trì phiên bản mở của máy chủ Apache, không số điện thoại miễn phí, bạn có thể gọi vào lúc 2 giờ sáng nếu có chuyện gì xảy ra với máy chủ và bạn không biết phải làm gì. Sự hỗ trợ tồn tại dưới dạng các nhóm tin và trang web, nhưng nó đến khi nó thuận tiện cho người cung cấp sự hỗ trợ chứ không phải cho người cần nó.

Máy chủ web Apache, giống như những máy chủ khác sản phẩm phần mềm lớp "phần mềm nguồn mở" chỉ được hưởng lợi từ tính sẵn có liên tục của chúng đối với cộng đồng lập trình. Bởi vì có nhiều nhà phát triển làm việc trên mỗi dự án "nguồn mở" hơn cả tập đoàn giàu nhất có thể thuê, mã lỗi được phát hiện và sửa nhanh hơn nhiều.

Hãy để tôi đề nghị rằng chất lượng văn bản thô thường cao hơn sản phẩm thương mại. Suy cho cùng, động lực chính của các nhà phát triển làm việc trên các sản phẩm “mở” là tình yêu lập trình như một công cụ quá trình sáng tạo. Vì vậy, khi làm việc với “sản phẩm mở”, bạn có thể thu được nhiều lợi ích nhất mẫu tốt nhất các chương trình. Điều này hoàn toàn trái ngược với một sản phẩm thương mại nơi phần lớn thời gian làm việc được dành cho các cuộc họp, cuộc trò chuyện qua điện thoại và cuối cùng là kiểm kê số dư.

Cấu trúc của cuốn sách này

Cuốn sách này dành cho các quản trị viên máy chủ Apache ở nhiều trình độ khác nhau. Cần phải làm quen với các khái niệm cơ bản được sử dụng trong ngành công nghiệp máy tính. Đào tạo đặc biệt không cần thiết cho quản trị Web. Đối với những người hoàn toàn mới làm quen với máy chủ Apache, có một phần giới thiệu khá lớn, trong đó bạn có thể tìm thấy mọi thứ bạn cần để tăng tốc nhanh nhất có thể.

Sau khi làm quen với các khái niệm cơ bản, bạn có thể muốn nhanh chóng triển khai một hoặc hai tính năng của máy chủ (chẳng hạn như lưu trữ chia sẻ). Các chương của cuốn sách này được tổ chức thành các bài tiểu luận riêng lẻ độc lập dành cho hầu hết các vấn đề chủ đề đa dạng. Và bạn có thể đọc chúng theo bất kỳ thứ tự nào.

Do tính mở với thế giới nên máy chủ Apache không ngừng được cải tiến. Các tính năng mới được cung cấp và bổ sung mỗi ngày. Đôi khi đó là một sự cải tiến chức năng cơ bản máy chủ, nhưng thường xuyên nhất - các mô-đun mới hoặc cải tiến. Vì lý do này, ngay cả những quản trị viên có kinh nghiệm cũng phải thỉnh thoảng mở rộng lĩnh vực chuyên môn của mình. Tôi hy vọng cuốn sách này có điều gì đó có giá trị để cung cấp cho cả những quản trị viên Apache dày dạn kinh nghiệm.

Cuối cùng, các phụ lục thảo luận về nhiều chủ đề về mạng và lập trình. Nhiều trong số này không liên quan trực tiếp đến máy chủ Apache, nhưng vì máy chủ Apache yêu cầu một mạng hoạt động nên sự nghiệp quản trị viên Web của bạn có thể sẽ yêu cầu một số kiến ​​thức về quản trị và lập trình mạng nói chung. Các ứng dụng này không bao gồm tất cả nhưng chúng có thể rất hữu ích.

Phần I, “Cơ bản”

Phần I trình bày các khái niệm và kỹ thuật cơ bản để quản trị máy chủ Apache. Nó sẽ hướng dẫn bạn quy trình lấy và cài đặt máy chủ Apache được cấu hình phù hợp với nhu cầu của bạn. Nếu bạn là người mới làm quen với máy chủ Apache, rất có thể bạn sẽ cần đọc tất cả bốn chương theo trình tự, đặc biệt là Chương 1, “Các khái niệm cơ bản”. Thông tin có trong Chương 1 đến Chương 4, cùng với các phụ lục, là đủ để giúp bất kỳ người mới bắt đầu nào bắt đầu.

Phần II, "Quản trị máy chủ web"

Phần II mô tả các tính năng nâng cao hơn của máy chủ Apache. Và nếu bạn đã nắm vững các khái niệm cơ bản về máy chủ, bạn có thể bỏ qua các chương trong phần này. Mỗi chương được hình thành như một bài luận khép kín về một chủ đề được thể hiện rõ ràng ngay từ tiêu đề chương.

Phần III, “Thương mại điện tử”

Phần III thảo luận các vấn đề liên quan trực tiếp đến thương mại điện tử, tương tác với cơ sở dữ liệu và cơ chế kiếm tiền bằng Internet. Chương cuối cùng của phần này là một nghiên cứu điển hình về việc tạo ra cơ sở hạ tầng trung tâm thương mại.

Phần IV, “Phụ lục”

Các phụ lục chứa thông tin quá chuyên biệt nên không thể đưa vào phần còn lại của cuốn sách (chẳng hạn như cú pháp chỉ thị) hoặc có thể được mô tả là thông tin liên quan (chẳng hạn như Phụ lục E, "Các khái niệm Unix"). Một số trong số chúng được trình bày dưới dạng các bài tiểu luận giáo dục ngắn, một số khác - như một tài liệu tham khảo đơn giản.

Làm thế nào để sử dụng cuốn sách này

Trong tài liệu được trình bày trong cuốn sách, bạn có thể tìm thấy các ví dụ về lệnh và chỉ thị cấu hình, thường kèm theo giải thích và đôi khi là bản in. Thông tin chi tiết Không có thảo luận nào về cú pháp của các lệnh và lệnh hệ thống trong các chương chính. Những thông tin như vậy có thể được tìm thấy trong các phụ lục, đặc biệt là trong phụ lục A, “Chỉ thị chung” và B, “Chỉ thị khác”. Hy vọng rằng, bằng cách nhìn vào một lệnh xa lạ với bạn, bạn có thể xác định được công dụng của nó.

Sự thành công hay thất bại của bất kỳ giao dịch máy chủ Apache cụ thể nào đều phụ thuộc vào cấu hình bên trong của máy chủ, nội dung được truyền, cấu hình hệ điều hành và sự thay đổi thất thường của các dịch vụ hỗ trợ mạng. Do đó, không thể nói chắc chắn hoàn toàn liệu các ví dụ được trình bày ở đây có hoạt động trên một máy cụ thể hay không. Tác giả chỉ có thể thề với toàn bộ trách nhiệm rằng tất cả họ đều làm việc cho mình.

Trong một số trường hợp, chủ đề ban đầu của một chương cụ thể đã được thiết lập ở chương trước. Ví dụ: các máy chủ ảo được thảo luận ở Chương 8, “Bảo mật”, đã được thảo luận ở Chương 4, “Khởi động, Khởi động lại và Dừng”. Nếu ý nghĩa của một chỉ dẫn cấu hình cụ thể không rõ ràng, bạn có thể nên tham khảo ý kiến chỉ mục chủ đề hoặc đọc về mục đích của nó trong các chương trước.

Cần nhấn mạnh rằng trong các ví dụ về lệnh của hệ điều hành, ưu tiên dành cho các lệnh của hệ điều hành Unix nói chung và các lệnh của hệ điều hành Linux nói riêng. Không có sự trùng hợp ngẫu nhiên trong việc này, bởi khi viết cuốn sách này, đó là một máy Linux được sử dụng làm máy chủ thử nghiệm, một số công việc được thực hiện trên Windows NT, Windows 95 và Mac OS X.

Một trong những quy ước Unix mà tôi rất tự hào nhưng không thể tìm thấy ở bất kỳ đâu trong tài liệu máy chủ Apache, đó là cách khai báo một biến môi trường. Nó có thể lưu trữ một cách lâu dài vào danh mục. Trong cuốn sách này, bạn có thể thấy biến hệ thống Unix OS $APACHE, biến này lưu trữ tên của thư mục mà máy chủ Web Apache được cài đặt. (Thư mục này được gọi là ServerRoot trong các tệp cấu hình.)

Quy ước đánh máy

Để hiển thị các lệnh, chỉ thị, tên và thông báo trong hệ thống Unix một phông chữ đặc biệt được sử dụng:

Ví dụ về lệnh có tham số

Những ví dụ tuyệt vời tập tin cấu hình thường được phân bổ riêng.

Chỉ thịA

Chỉ thịB

Chỉ thịC

Chỉ thịD

Cuối cùng, tôi đã cố gắng chia nhỏ mô tả của các chỉ thị bằng các tiêu đề có ý nghĩa. Trong khi hầu hết các chỉ thị máy chủ Apache đều có tên cung cấp đủ người dùng có kinh nghiệm một gợi ý về các chức năng của chúng (ví dụ: AddModule và Port), các chức năng khác liên quan đến các khả năng duy nhất của máy chủ Web Apache và khó mô tả bằng mười hai ký tự (ví dụ: DocumentRoot).

Mọi thắc mắc, nhận xét, chỉnh sửa hoặc đề xuất cải tiến có thể gửi tới: [email được bảo vệ] .

Hydra

Thay cho lời bạt, hãy chấp nhận những suy nghĩ của tôi về tầm quan trọng của sinh vật được miêu tả trên bìa cuốn sách này. Đây là một con Hydra, được vẽ bởi một người tên là bài đăng của Tom (bài đăng của Tom). Những con thú thần thoại đã trở thành chủ đề truyền thống cho thiết kế bìa sách trên hệ thống mở do Prentice Hall xuất bản. Vì vậy Hydra là hiện thân khá thích hợp của Apache. Xét cho cùng, nhiều phiên bản Apache chạy đồng thời trên một máy tính rất gợi nhớ đến nhiều đầu hydra. Đúng không? Để lựa chọn thành công hình ảnh thần thoại với hàm răng sắc nhọn như vậy, tôi xin cảm ơn người biên tập của tôi Miles Williams (Miles Williams), và cũng bởi vì anh ấy không làm phiền tôi với đủ loại kỳ lân, tiên nữ và các linh hồn ma quỷ khác.

HTTPS (HyperText Transfer Protocol Secure) không phải là một giao thức độc lập mà là sự phát triển của HTTP (Giao thức truyền siêu văn bản) theo hướng bảo mật. Nghĩa là, một cơ chế mã hóa dữ liệu truyền đã được thêm vào HTTP thông thường. Mã hóa được thực hiện với sử dụng SSL(Lớp cổng bảo mật). Điều này hoạt động như thế nào trong thực tế?

Khi kết nối với máy chủ qua Giao thức HTTPS(tiêu chuẩn cổng TCP 443), trước tiên trình duyệt và máy chủ gửi lời chào, trao đổi các thuật toán mã hóa được hỗ trợ và đồng ý về thuật toán nào họ sẽ sử dụng. Máy chủ cung cấp nó cho trình duyệt khóa công khai(chứng chỉ) sẽ được sử dụng để mã hóa. Tóm lại, họ đồng ý về sự hợp tác đôi bên cùng có lợi. Thông thường họ quản lý để đi đến thỏa thuận và thiết lập kết nối an toàn. Tất cả điều này xảy ra ở lớp sáu của mô hình OSI. Và chỉ sau đó HTTP mới có hiệu lực, hoạt động ở cấp ứng dụng - cấp thứ bảy.

Để kích hoạt hỗ trợ HTTPS trên Apache đã được cài đặt, bạn cần: , và (Hoặc ).

Tạo chứng chỉ tự ký

Chúng tôi đi đến thư mục Apache nơi lưu trữ các khóa.

# cd /etc/apache2/ssl

Tạo chứng chỉ tự ký và chìa khoá mới máy chủ không có mật khẩu:

# openssl req -new -newkey rsa:1024 -nodes -keyout citename-CA.key -x509 -days 365 \
" \
-out citename-CA.crt

Đối số lệnh:

yêu cầu Tạo chứng chỉ mới
-mới yêu cầu đăng kí chứng chỉ
-newkey rsa:1024 Mới đóng Khóa RSA dài 1024 bit
-điểm giao Không mã hóa khóa riêng
-keyout trích dẫn-CA.key Lưu khóa riêng trong citename-CA.key
-x509 Giấy chứng nhận tự ký
-ngày 365 Thời hạn hiệu lực của chứng chỉ
-subj Thông tin về chủ sở hữu chứng chỉ.

C - Ký hiệu quốc gia gồm hai ký tự
ST - Cộng hòa / Vùng / Lãnh thổ / Khu vực
L - Địa phương
O - Tổ chức
OU - Đơn vị tổ chức
CN - Tên chứng chỉ. Nếu được tạo cho máy chủ thì tên máy chủ phải được chỉ định.
emailAddress - và vì vậy nó có vẻ rõ ràng

-out citename-CA.crt Lưu chứng chỉ trong citename-CA.crt

Chúng tôi đặt quyền truy cập vào các phím.

# chmod 600 /etc/apache2/ssl/*.crt

Thiết lập máy chủ Apache

Kích hoạt hỗ trợ SSL trong dòng tùy chọn máy chủ. Để thực hiện việc này, hãy thêm -D SSL vào đó

/etc/conf.d/apache2

APACHE2_OPTS="-D SSL"

Cấu hình máy chủ ảo

Cấu hình tập tin máy chủ ảo. Máy chủ ảo mặc định cũng có thể sử dụng được nếu hỗ trợ của nó được kích hoạt trong Apache.

Nghe 11.222.33.4:443

Tên máy chủ citename.ru

Quản trị viên máy chủ Địa chỉ này E-mailđược bảo vệ khỏi chương trình thư rác. Bạn phải kích hoạt JavaScript để xem nó.

Cho phépGhi đè tất cả

Lệnh cho phép, từ chối
Cho phép từ tất cả

Tùy chọn SSL +StdEnvVars


Tất cả những gì còn lại là khởi động lại Apache

# /etc/init.d/apache tải lại

Định cấu hình nhiều máy chủ ảo để hoạt động với SSL

Ví dụ: có ba máy chủ có cùng địa chỉ IP: citename.ru, shop.citename.ru, cite-name.ru. Đối với họ, bạn cần tạo ba trang web có nội dung khác nhau và truy cập chúng qua HTTPS.

Chúng tôi tạo chứng chỉ tự ký cho họ.

# cd /etc/apache2/ssl
# openssl req -new -newkey rsa:1024 -nodes -keyout citename-CA.key -x509 -days 365 \
-subj "/C=RU/ST=Arkh/L=Arkh/O=OAO/OU=Sales/CN=citename.ru/emailAddress= Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó. " \
-out citename-CA.crt
# openssl req -new -newkey rsa:1024 -nodes -keyout shop-citename-CA.key -x509 -days 365 \
-subj "/C=RU/ST=Arkh/L=Arkh/O=OAO/OU=Sales/CN=shop.citename.ru/emailAddress= Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó. " \
-out shop-citename-CA.crt
# openssl req -new -newkey rsa:1024 -nodes -keyout cite-name-CA.key -x509 -days 365 \
-subj "/C=RU/ST=Arkh/L=Arkh/O=OAO/OU=IT/CN=cite-name.ru/emailAddress= Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó. " \
-out cite-name-CA.crt
# chmod 600 /etc/apache2/ssl/*.crt
# chmod 600 /etc/apache2/ssl/*.key

Và chúng tôi cấu hình máy chủ ảo.

/etc/apache2/vhosts.d/citename_ssl_vhost.conf

Nghe 11.222.33.4:443

NameVirtualHost 11.222.33.4:443

Tên máy chủ citename.ru

Quản trị viên máy chủ Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.

DocumentRoot "/var/www/localhost/htdocs"

Tùy chọn Chỉ mục FollowSymLinks

Cho phépGhi đè tất cả

Lệnh cho phép, từ chối
Cho phép từ tất cả

ErrorLog /var/log/apache2/ssl_citename_error_log

TransferLog /var/log/apache2/ssl_citename_access_log

Nhật ký tùy chỉnh /var/log/apache2/ssl_citename_request_log\

"%t %h %(SSL_PROTOCOL)x %(SSL_CIPHER)x \"%r\" %b"

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile /etc/apache2/ssl/citename-CA.crt

SSLCertificateKeyFile /etc/apache2/ssl/citename-CA.key

Tùy chọn SSL +StdEnvVars


Tên máy chủ shop.citename.ru

Quản trị viên máy chủ Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.

DocumentRoot "/var/www/shop/htdocs"

Tùy chọn Chỉ mục FollowSymLinks

Cho phépGhi đè tất cả

Lệnh cho phép, từ chối
Cho phép từ tất cả

ErrorLog /var/log/apache2/ssl_shop_citename_error_log

TransferLog /var/log/apache2/ssl_shop_citename_access_log

Nhật ký tùy chỉnh /var/log/apache2/ssl_shop_citename_request_log\

"%t %h %(SSL_PROTOCOL)x %(SSL_CIPHER)x \"%r\" %b"

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile /etc/apache2/ssl/shop-citename-CA.crt

SSLCertificateKeyFile /etc/apache2/ssl/shop-citename-CA.key

Tùy chọn SSL +StdEnvVars

Tên máy chủ cite-name.ru

Quản trị viên máy chủ Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.

DocumentRoot "/var/www/cite-name/htdocs"

Tùy chọn Chỉ mục FollowSymLinks

Cho phépGhi đè tất cả

Lệnh cho phép, từ chối
Cho phép từ tất cả

ErrorLog /var/log/apache2/ssl_cite_name_error_log

TransferLog /var/log/apache2/ssl_cite_name_access_log

Nhật ký tùy chỉnh /var/log/apache2/ssl_cite_name_request_log\

"%t %h %(SSL_PROTOCOL)x %(SSL_CIPHER)x \"%r\" %b"

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile /etc/apache2/ssl/cite-name-CA.crt

SSLCertificateKeyFile /etc/apache2/ssl/cite-name-CA.key

Tùy chọn SSL +StdEnvVars

Hướng dẫn quản trị máy chủ web Apache và thương mại điện tử - Hawkins S. - 2001

Cuốn sách này được dự định là một tài liệu khá toàn diện Hướng dẫn tham khảo máy chủ web Apache. Tài liệu được trình bày trong đó đòi hỏi một mức độ hiểu biết nhất định về máy tính, nhưng không cần phải có kiến ​​​​thức về công nghệ mạng. Mặc dù trọng tâm chính của cuốn sách là lĩnh vực thương mại điện tử nhưng các phần phụ lục đề cập đến rất nhiều vấn đề và thông tin cần thiết để tạo và vận hành máy chủ Web. Đây là vấn đề về khớp tên và địa chỉ IP, chi tiết giao thức TCP/IP và cú pháp biểu thức chính quy. Ngoài ra, dưới góc độ quản trị Web, các chủ đề về tạo hệ thống thanh toán điện tử và tương tác với cơ sở dữ liệu cũng được đề cập đến.

Hawkins, Scott.
Hướng dẫn quản trị máy chủ web Apache và thương mại điện tử.
Mỗi. từ tiếng Anh M.: Nhà xuất bản William, 2001. - 336 tr. : phù sa, - Paral. tit.eng.
ISBN 5-8459-0212-6 (tiếng Nga)
ISBN 0-13-089873-2 (tiếng Anh)
BBK 32.973.26-018.2.75
UDC 681.3.07
X68

PHẦN I. CƠ BẢN
Chương 1. CÁC KHÁI NIỆM CƠ BẢN
Chương 2. CÀI ĐẶT MÁY CHỦ WEB APACHE
Chương 3. CẤU HÌNH MÁY CHỦ WEB APACHE
Chương 4. KHỞI ĐỘNG, KHỞI ĐỘNG LẠI VÀ DỪNG MÁY CHỦ

PHẦN II. QUẢN TRỊ WEB-CEPBEPA
Chương 5. LƯU TRỮ NHIỀU NÚT WEB
Chương 5. MÁY CHỦ PROXT VÀ BỘ NHỚ
Chương 7. ĐĂNG KÝ VÀ GIÁM SÁT
Chương 8. AN TOÀN
Chương 9. TRANG WEB ĐỘNG
Chương 10. CẤU HÌNH HIỆU SUẤT MÁY CHỦ
Điều 11. TÁI LẠI ĐỊA CHỈ
Chương 12. THÀNH PHẦN CỦA MÔ-ĐUN

PHẦN III. THƯƠNG MẠI ĐIỆN TỬ
Điều 13. THANH TOÁN TIỀN MẶT
Chương 14. TƯƠNG TÁC VỚI CƠ SỞ DỮ LIỆU
Chương 15. VÍ DỤ VỀ MỘT NÚT THƯƠNG MẠI

PHẦN IV. CÁC ỨNG DỤNG
Phụ lục A. CHỈ DẪN CƠ BẢN
Phụ lục B. CÁC CHỈ ĐỊNH KHÁC
Phụ lục B. KHÁI NIỆM GIAO THỨC TCP/IP
Phụ lục D. CHUYỂN ĐỔI TÊN THÀNH ĐỊA CHỈ IP
Phụ lục E. GIẢI QUYẾT CÁC VẤN ĐỀ PHÁT SINH TRONG KHI VẬN HÀNH MẠNG
Phụ lục E. KHÁI NIỆM UNIX
Phụ lục G. WINDOWS NT CONCEPT
Phụ lục 3. MÃ TRẠNG THÁI HTTP
Phụ lục I. TỪ BIỂU THÔNG THƯỜNG
Phụ lục K. GIAO DIỆN MOD_PERLAPI
Phụ lục L. NGƯỜI ĐIỀU HÀNH NGÔN NGỮ PHP

chỉ mục chủ đề

Tải xuống miễn phí sách điện tử V. định dạng thuận tiện, xem và đọc:
Tải xuống sách Hướng dẫn quản trị máy chủ web và thương mại điện tử Apache - Hawkins S. - 2001 - fileskachat.com, tải xuống nhanh chóng và miễn phí.

Tải PDF
Bạn có thể mua cuốn sách này dưới đây giá tốt nhất với mức giảm giá khi giao hàng trên khắp nước Nga.Mua cuốn sách này