Máy chủ apache là gì? Bạn nên cài đặt phiên bản Apache nào? Apache và các máy chủ web khác

Máy chủ HTTP Apache là một máy chủ web miễn phí đa nền tảng phần mềm. Apache hỗ trợ các hệ điều hành sau: BSD, Microsoft Windows, Linux, Mac OS, BeOS, Novell NetWare.

Làm cách nào để định cấu hình Apache chính xác?

Thông thường, máy chủ Apache được cấu hình thông qua file .htaccess (hướng dẫn chi tiết). Tệp này nằm trên máy chủ nơi đặt trang web của bạn. Và chính máy chủ sẽ đọc nội dung của nó và áp dụng các cài đặt được chỉ định ở đó. Dưới đây chúng tôi liệt kê các tham số chính thay đổi trong tệp .htaccess và sẽ hữu ích cho quản trị viên web.

Tự động chuyển hướng từ trang này sang trang khác

  • Chuyển hướng từ http://www.site.com sang http://site.com
  • Chuyển hướng ngược từ http://site.com sang http://www.site.com
  • Chuyển từ miền cũ sang miền mới
  • site.com/page hoặc site.com/page/ chuyển hướng đến site.com/page.html
  • Đảo ngược từ site.com/page.html sang site.com/page
  • Chúng tôi xóa dấu gạch chéo ở cuối url (đó là site.com/page/, nó đã trở thành site.com/page)
  • Chuyển hướng tất cả các trang của một phần site.com/razdel-1/razdel-2/page sang các trang của một phần khác site.com/razdel-1/page

Xử lý lỗi

  • Nếu xảy ra lỗi, người dùng, thay vì thông tin tào lao thông thường, sẽ được hiển thị trang đẹp, mà bạn sẽ hỏi.

Thiết lập bảo mật trang web

  • Bảo vệ tiêm
  • Bảo vệ chống trộm hình ảnh
  • Chặn người dùng theo IP
  • Bảo vệ tập tin và thư mục
  • Làm việc với tác nhân người dùng

Mã hóa trang web

  • Làm việc với mã hóa các trang web ở cấp độ máy chủ.

Tối ưu hóa trang web

  • Tăng tốc trang web
  • Làm việc với bộ nhớ đệm
  • Thay đổi trang chủđịa điểm

Cài đặt PHP

  • Làm việc với Tham số PHP, được đặt ở cấp máy chủ.

Thông tin về Apache

Độ tin cậy và tính linh hoạt của cấu hình là những ưu điểm chính của Apache. Nhờ phần mềm này bạn có thể kết nối mô-đun bên ngoàiđược sử dụng để cung cấp dữ liệu, sửa đổi thông báo lỗi và sử dụng DBMS để xác thực người dùng. Apache hỗ trợ IPv6.

Từ tháng 4 năm 1996 đến nay, Apache là máy chủ HTTP phổ biến và phổ biến nhất trên Internet. Theo thống kê, vào tháng 8 năm 2007, một máy chủ HTTP đang chạy trên 51% tổng số máy chủ web; vào tháng 5 năm 2009, con số này giảm xuống còn 46% và vào tháng 1 năm 2011, nó đã tăng lên 59%. Ngày nay, hơn 59% tổng số trang web được phục vụ bởi máy chủ web Apache. Apache được phát triển và hỗ trợ bởi các chuyên gia từ cộng đồng nhà phát triển mở dưới sự bảo trợ của Quỹ phần mềm Apache. Apache được bao gồm trong hầu hết sản phẩm phần mềm, bao gồm IBM WebSphere và Oracle DBMS.

Apache có cơ chế máy chủ ảo tích hợp sẵn. Nhờ đó, bạn có thể phục vụ trên một địa chỉ IP một số lượng lớn các dự án web (tên miền), đồng thời hiển thị nội dung riêng cho từng dự án đó. Đối với mỗi máy chủ ảo, có thể chỉ định cài đặt mô-đun và kernel của riêng bạn, cũng như đặt các hạn chế đối với quyền truy cập vào toàn bộ trang web hoặc một số tệp. Với Apache-ITK, bạn có thể bắt đầu quy trình httpd với mã định danh gid và uid cho mỗi máy chủ ảo. Ngoài ra còn có các mô-đun cho phép bạn giới hạn và tính đến tài nguyên máy chủ (lưu lượng truy cập, RAM, CPU) riêng cho từng máy chủ ảo.

Nếu đối với bạn thì Apache luôn giống như một chiếc hộp đen? Đã đến lúc tìm hiểu những gì đang diễn ra đằng sau hậu trường!

Apache là máy chủ web phổ biến nhất.

Công việc của máy chủ web là chấp nhận yêu cầu từ khách hàng và gửi phản hồi cho những yêu cầu đó. Máy chủ web nhận được một liên kết URL, dịch nó thành tên tệp (đối với các yêu cầu tĩnh) và gửi tệp đó qua Internet với đĩa cục bộ hoặc, ví dụ, dịch nó sang tên chương trình (ví dụ: truy vấn động), thực thi nó và sau đó gửi đầu ra của chương trình đó qua Internet cho người yêu cầu. Nếu vì lý do nào đó mà máy chủ web không thể xử lý và hoàn thành yêu cầu, thay vào đó, nó sẽ gửi thông báo lỗi. Từ, máy chủ web, có thể đề cập đến chính máy tính (máy tính/phần cứng) hoặc phần mềm nhận yêu cầu và gửi phản hồi.

Apache là máy chủ web phổ biến nhất (tiếp theo là Microsoft IIS). Có một số lý do cho sự phổ biến của nó:

  1. Nó có thể được tải xuống và cài đặt miễn phí.
  2. Nó là nguồn mở: nó có sẵn cho tất cả mọi người, về nguyên tắc cho phép bất kỳ ai (có thể làm điều đó) tùy chỉnh mã, tối ưu hóa mã và sửa các lỗi cũng như thiếu sót về bảo mật. Người dùng có thể thêm các chức năng mới và viết các mô-đun mới.
  3. Phù hợp với mọi nhu cầu: Apache có thể được sử dụng cho các website nhỏ có một hoặc hai trang hoặc cho các website lớn với hàng trăm, hàng nghìn trang phục vụ hàng triệu khách truy cập thường xuyên mỗi tháng. Nó có thể phục vụ cả tĩnh và nội dung động.

Apache là gì?

Chức năng mà bạn không cần hoặc quan trọng có thể dễ dàng bị loại bỏ.

Máy chủ HTTP Apache là một phần mềm (hoặc chương trình) chạy trong nền của hệ điều hành cơ bản, hỗ trợ đa nhiệm và cung cấp dịch vụ cho các ứng dụng khác kết nối với nó, chẳng hạn như trình duyệt web của khách hàng. Apache lần đầu tiên được thiết kế để chạy các hệ điều hành Hệ thống Linux/ Unix, nhưng sau đó được điều chỉnh để chạy trên các hệ thống khác, bao gồm cả Windows và Mac. Tập tin nhị phân Apache chạy trên UNIX được gọi là HTTPd(viết tắt của HTTP-daemon) và trong win32, nó được gọi Apache.exe.

Cài đặt Apache trên Linux không đòi hỏi nhiều kỹ năng lập trình (mặc dù việc này không quá dễ dàng). Cài đặt của nó trên Nền tảng Windows rất đơn giản vì bạn có thể chạy nó thông qua GUI.

Lõi Apache ban đầu khá đơn giản và chứa một số tính năng hạn chế. Sức mạnh của nó đến nhiều hơn từ chức năng bổ sung được tích hợp trong nhiều mô-đun được lập trình viên viết và có thể được cài đặt để nâng cao khả năng của máy chủ. Thêm mô-đun mới, tất cả những gì bạn cần làm là cài đặt nó và khởi động lại máy chủ Apache. Chức năng bạn không cần hoặc không muốn có thể được loại bỏ dễ dàng, điều này thực sự có giá trị điểm tốt, vì nó làm cho máy chủ nhỏ và nhẹ, chạy nhanh hơn, tiêu tốn ít tài nguyên hệ thống và bộ nhớ hơn, đồng thời khiến máy chủ ít gặp phải các lỗ hổng bảo mật hơn. Máy chủ Apache cũng hỗ trợ mô-đun của bên thứ ba, một số trong số đó đã được thêm dưới dạng tính năng cố định trong Apache 2. Máy chủ Apache tích hợp rất dễ dàng với các ứng dụng nguồn mở khác như PHP và MySQL, khiến nó thậm chí còn mạnh hơn hiện tại.

Máy chủ web trong đó hình thức đơn giản nhất là một máy tính có phần mềm đặc biệt và kết nối Internet cho phép nó tương tác với các thiết bị khác.

Mọi thiết bị được kết nối với mạng đều có một địa chỉ IP để những thiết bị khác kết nối với mạng đó và liên lạc với nó. Địa chỉ IP này giống với địa chỉ thông thường bạn cần trong đời thựcđể gọi điện hoặc thăm ai đó. Nếu họ không có địa chỉ, bạn không biết cách gọi điện hoặc liên lạc với họ. Địa chỉ IP phục vụ chính xác cùng một mục đích. Nếu một thiết bị không có thiết bị này thì các máy tính khác trên cùng mạng sẽ không biết cách truy cập thiết bị đó.

Máy chủ Apache cung cấp một số dịch vụ mà khách hàng có thể sử dụng. Các dịch vụ này được cung cấp bằng các giao thức khác nhau trên các cổng khác nhau và bao gồm: Giao thức truyền siêu văn bản (HTTP), thường trên cổng 80, Giao thức truyền thư đơn giản (SMTP), thường trên cổng 25, Hệ thống tên miền (DNS) để ánh xạ tên miền tương ứng của chúng. Địa chỉ IP, thường ở cổng 53 và Giao thức truyền tệp (FTP) để tải lên và tải xuống tệp, thường ở cổng 21.

Cách thức hoạt động của Apache

Vai trò chính của Apache liên quan đến giao tiếp qua mạng và cách sử dụng giao thức TCP/IP (giao thức điều khiển đường truyền/giao thức internet cho phép các thiết bị có địa chỉ IP trên cùng một mạng giao tiếp với nhau).

Giao thức TCP/IP là một bộ quy tắc xác định cách máy khách xử lý yêu cầu và cách máy chủ phản hồi, đồng thời xác định cách dữ liệu được truyền, phân phối, nhận và xác nhận.

Máy chủ Apache được cấu hình để hoạt động thông qua các tệp cấu hình có thêm các lệnh để kiểm soát hành vi của nó. Ở trạng thái không hoạt động, Apache lắng nghe các địa chỉ IP được chỉ định trong tệp cấu hình của nó (HTTPd.conf). Bất cứ khi nào nó nhận được một yêu cầu, nó sẽ phân tích các tiêu đề, áp dụng các quy tắc được chỉ định cho nó trong Tập tin cấu hình, và thực hiện hành động.

Nhưng một máy chủ có thể lưu trữ nhiều trang web, không chỉ một trang web mà đối với thế giới bên ngoài, chúng có vẻ tách biệt với nhau. Để đạt được điều này, mỗi trang web này phải được đặt một tên khác nhau, ngay cả khi tất cả chúng đều được hiển thị trên cùng một máy tính. Điều này đạt được thông qua việc sử dụng cái gọi là máy chủ ảo.

Vì địa chỉ IP khó nhớ nên chúng tôi, với tư cách là khách truy cập vào một số trang web nhất định, thường nhập tên miền tương ứng của họ vào trường URL trong trình duyệt của chúng tôi. Sau đó, trình duyệt kết nối với máy chủ DNS, dịch tên miền sang địa chỉ IP của chúng. Trình duyệt sau đó lấy địa chỉ IP được trả về và kết nối với nó. Trình duyệt cũng gửi Chủ nhà tiêu đề với một yêu cầu để nếu máy chủ đang lưu trữ nhiều trang web, nó sẽ biết trang nào sẽ phục vụ.

Ví dụ: nhập www.google.com vào trường địa chỉ của trình duyệt của bạn có thể gửi yêu cầu sau tới máy chủ tại địa chỉ IP đó:

Máy chủ GET/HTTP/1.1: www.google.com

Dòng đầu tiên chứa một số thông tin. Đầu tiên, có một phương pháp (trong trong trường hợp nàyđó là GET), một URI chỉ định trang nào cần tìm nạp hoặc chương trình nào sẽ chạy (trong trường hợp này là thư mục gốc, được ký hiệu là /) và cuối cùng là phiên bản HTTP (trong trường hợp này là HTTP 1.1).

HTTP là một giao thức không phản hồi.

HTTP là một giao thức không phản hồi. Nó là một tập hợp các quy tắc chi phối giao tiếp giữa máy khách và máy chủ. Máy khách (thường, nhưng không nhất thiết phải là trình duyệt web) đưa ra yêu cầu, máy chủ gửi phản hồi và kết nối bị chấm dứt. Máy chủ không chờ giao tiếp bổ sung, giống như trường hợp của các giao thức khác vẫn ở trạng thái chờ xử lý sau khi yêu cầu hoàn tất.

Nếu yêu cầu thành công, máy chủ sẽ trả về mã trạng thái 200 (có nghĩa là trang đã được tìm thấy) và tiêu đề phản hồi cùng với dữ liệu được yêu cầu. . Tiêu đề phản hồi của máy chủ Apache có thể trông giống như thế này:

HTTP/1.1 200 OK Ngày: Chủ nhật, ngày 10 tháng 6 năm 2012 19:19:21 GMT Máy chủ: Apache Hết hạn: Thứ Tư, ngày 11 tháng 1 năm 1984 05:00:00 GMT Kiểm soát bộ đệm: không có bộ đệm, phải xác nhận lại, độ tuổi tối đa= 0 Pragma: no-cache Sửa đổi lần cuối: Chủ nhật, ngày 10 tháng 6 năm 2012 19:19:21 GMT Vary: Accept-Encoding,User-Agent Content-Type: text/html; charset=UTF-8 Độ dài nội dung: 7560

Dòng đầu tiên trong tiêu đề phản hồi là dòng trạng thái. Nó chứa phiên bản HTTP và mã trạng thái. Tiếp theo là ngày tháng và sau đó là một số thông tin về máy chủ lưu trữ và dữ liệu được truy xuất. Tiêu đề Content-Type cho phép khách hàng biết loại dữ liệu được truy xuất để biết cách xử lý dữ liệu đó. Ứng dụng khách Content-Lengthlets biết kích thước của nội dung phản hồi. Nếu yêu cầu không thành công, khách hàng sẽ nhận được mã lỗi và thông báo, chẳng hạn như tiêu đề phản hồi sau trong trường hợp không tìm thấy trang:

Không tìm thấy HTTP/1.1 404

Giao thức TCP/IP

TCP/IP thực chất là hai giao thức được xây dựng chồng lên nhau.

TCP/IP thực chất là hai giao thức được xây dựng chồng lên nhau. Giao thức IP chịu trách nhiệm truyền dữ liệu được truyền từ điểm này sang điểm khác. Nó mang dữ liệu giữa hai điểm, chia dữ liệu thành các gói nhỏ hơn, gắn địa chỉ nguồn và đích vào mỗi gói và truyền dữ liệu.

TCP xử lý phần liên quan đến việc thiết lập kết nối giữa hai bên, đảm bảo dữ liệu đến đích, xử lý mọi mất mát dữ liệu và quản lý khôi phục dữ liệu.

Sau khi nhận được tin nhắn, bên nhận sẽ gửi tin nhắn với xác nhận (ACK) cho người gửi nếu mọi việc suôn sẻ, thông báo cho anh ta về việc dữ liệu đã đến. Nếu có sự cố xảy ra, chẳng hạn như tình huống mất dữ liệu, đích sẽ gửi tin nhắn Không được xác nhận (NAK), thông báo cho nút gửi về sự cố và yêu cầu nút này truyền lại gói dữ liệu.

Như đã thảo luận trước đó, Apache cung cấp nhiều dịch vụ mà khách hàng có thể muốn kết nối để sử dụng hoặc hưởng lợi từ đó. TCP kiểm soát từng dịch vụ để nó được truy cập trên một cổng cụ thể nhằm phân biệt dịch vụ khác nhau. Vì vậy, nó đảm bảo rằng bất kỳ giao diện này(hoặc máy chủ) có thể cung cấp nhiều dịch vụ. . Do đó, khi máy khách kết nối với máy chủ, nó sẽ truyền số cổng cùng với địa chỉ IP. Trình duyệt sử dụng Giao thức HTTP, sử dụng cổng 80 theo mặc định, do đó không cần thông số kỹ thuật thêm.

Hình ảnh sau đây là ảnh chụp nhanh phần mềm FTP của tôi (WinScp). Như bạn có thể thấy, đối với máy chủ FTP, tôi không chỉ cần chỉ định địa chỉ IP (hoặc nhập tên miền) mà còn cần chỉ định số cổng mà máy chủ của tôi cung cấp dịch vụ qua đó. Trong trường hợp FTP, số cổng là 21. Trong trường hợp SFTP (FTP bảo mật), số cổng là 22.

Trên UNIX, có thể tìm thấy danh sách các dịch vụ được cung cấp cùng với số cổng của chúng trong tệp /etc/services. Lệnh sau sẽ hiển thị nội dung của file:

Thêm /etc/services

Dưới đây là ảnh chụp màn hình của một phần của tập tin. Như bạn có thể thấy, các dịch vụ được liệt kê trong cột đầu tiên, theo sau là số cổng được truy cập và tên của giao thức được dịch vụ sử dụng.

Trong cửa sổ, tệp được gọi là Dịch vụ và có thể tìm thấy trong thư mục C:\WINNT\system32\drivers\etc\

Inetd

Để lưu tài nguyên hệ thống UNIX xử lý nhiều dịch vụ của nó thông qua internet-daemon (inetd), trái ngược với daemon liên tục. Inetd- siêu máy chủ lắng nghe nhiều cổng khác nhau và xử lý các yêu cầu kết nối, nhận chúng bằng cách khởi tạo một bản sao mới của daemon (chương trình) tương ứng. Bản sao mới chương trình sau đó lấy nó từ đó và làm việc với khách hàng, và có ý định quay lại lắng nghe trên các cổng máy chủ đang chờ xử lý các yêu cầu mới của khách hàng. Khi yêu cầu được xử lý và giao tiếp hoàn tất, daemon sẽ thoát.

Cấu trúc chung

Như đã đề cập trước đó, Apache có thể được cài đặt trên nhiều hệ điều hành khác nhau. Bất kể nền tảng được sử dụng là gì, một trang web được lưu trữ thường có bốn thư mục chính: htdocs, conf, nhật ký, cgi-bin.

htdocs là thư mục tài liệu máy chủ web Apache mặc định, nghĩa là, nó là một thư mục chung có nội dung thường có thể truy cập được đối với các máy khách kết nối qua Internet. Nó chứa mọi thứ trang tĩnh và nội dung động sẽ được phân phối sau khi nhận được yêu cầu HTTP cho chúng. Vì các tệp và thư mục con trong htdocs có thể được truy cập công khai nên việc xử lý đúng các quyền đối với tệp là rất quan trọng để không ảnh hưởng đến tính bảo mật và an toàn của máy chủ.

conf -Đây là thư mục chứa tất cả các tập tin cấu hình máy chủ. Các tệp cấu hình về cơ bản là các tệp văn bản có thêm các lệnh để kiểm soát hành vi và chức năng của máy chủ web. Mỗi lệnh thường được đặt trên một dòng riêng biệt và hàm băm (#) biểu thị một nhận xét, do đó dòng được truyền qua nó sẽ bị bỏ qua.

nhật ký là thư mục lưu trữ nhật ký máy chủ, nhật ký truy cập Apache và nhật ký lỗi. Máy chủ HTTP Apache cung cấp nhiều cơ chế khác nhau để ghi nhật ký mọi thứ xảy ra trên đó, từ yêu cầu ban đầu thông qua quy trình ánh xạ URL đến giải pháp cuối cùng của kết nối, bao gồm mọi lỗi có thể xảy ra trong quá trình này. Ngoài ra, các mô-đun của bên thứ ba có thể cung cấp khả năng ghi nhật ký hoặc nhập các mục vào tập tin hiện có nhật ký và các ứng dụng như tập lệnh PHP hoặc các trình xử lý khác có thể gửi thông báo đến nhật ký lỗi máy chủ.

cgi-bin -đây là thư mục nơi chúng được lưu trữ kịch bản CGI. CGI (Giao diện cổng chung) xác định cách máy chủ web tương tác với các chương trình tạo nội dung bên ngoài, thường được gọi là chương trình CGI hoặc tập lệnh CGI. Đây là các chương trình hoặc tập lệnh shell được viết để Apache thực thi thay mặt cho khách hàng của nó.

Điều quan trọng cần lưu ý là tên tệp và thư mục ở trên (cũng như vị trí) có thể khác nhau giữa các máy chủ tùy thuộc vào phiên bản Apache được cài đặt và hệ điều hành mà nó đang chạy. Tuy nhiên, các vai trò vẫn được giữ nguyên.

Phần kết luận

Với hơn một nửa số trang web trên Internet chạy trên đó.

Apache đã trở thành máy chủ web phổ biến nhất trên Internet kể từ năm 1996, hỗ trợ hơn một nửa số trang web trên Internet chạy trên nó. Anh ta đã chơi vai trò quan trọng trong quá trình hình thành và sáng tạo World Wide Web, trước đây nó là gì Hôm nay. Những lý do dẫn đến thành công của anh ấy rất rõ ràng và có thể thấy, anh ấy có khả năng duy trì vị trí dẫn đầu, ít nhất là trong một thời gian khá lâu. Hướng dẫn của chúng tôi hôm nay nhằm mục đích giới thiệu phần mềm mạnh mẽ này và tôi hy vọng chúng tôi đã giúp hiểu được mức độ mà Apache đã thực hiện. công cụ tuyệt vời và nó hoạt động như thế nào.

Khi bạn muốn mở một trang web trong trình duyệt của mình, bạn nhập địa chỉ của trang web đó vào thanh địa chỉ. Trình duyệt liên hệ với máy chủ và nói theo nghĩa bóng là nói với nó: “Hãy cho tôi trang web này!” Máy chủ Web là chương trình nhận yêu cầu này và thực thi nó, gửi cho bạn trang web được yêu cầu.

Trong lịch sử, máy chủ web Apache đã trở thành máy chủ web phổ biến nhất trên Internet. Có nhiều phiên bản khác nhau máy chủ này, được sửa đổi cho các nhiệm vụ khác nhau.

Bạn có thể quản lý Apache như thế nào?

Apache được kiểm soát bằng cách thêm các lệnh đặc biệt vào tệp .htaccess. Về cơ bản, các hướng dẫn sẽ cho máy chủ web biết phải làm gì trong một tình huống nhất định. Tệp là một tệp văn bản thông thường có thể được tạo trực tiếp trên máy chủ bằng cách sử dụng trình soạn thảo văn bản vi chẳng hạn hoặc được tạo trên máy tính của bạn và tải lên máy chủ thông qua Giao thức FTP.

Làm cách nào để đặt mật khẩu cho một thư mục?

Để máy chủ web Apache yêu cầu mật khẩu khi truy cập vào thư mục được bảo vệ, bạn cần đặt một tệp trong thư mục này chứa các lệnh sau:

  • AuthName ProtectedZone Thay vì ProtectedZone, bạn có thể viết bất cứ điều gì bạn muốn. Đây là tên của khu vực được bảo vệ; nó sẽ được hiển thị trong trình duyệt khi được nhắc nhập mật khẩu, về cơ bản cung cấp gợi ý cho người dùng. Nếu bạn muốn sử dụng các chữ cái tiếng Nga hoặc nhiều hơn một từ, bạn phải sử dụng dấu ngoặc kép. Ví dụ: AuthName "Nhập mật khẩu đăng nhập của bạn"
  • AuthType Basic Đây là phương pháp mã hóa mật khẩu. Nó hầu như luôn được sử dụng loại này mã hóa. Ví dụ: AuthType cơ bản
  • AuthUserFile /full_path_to_file/.htpasswd Đây là đường dẫn đến tệp nơi thông tin đăng nhập và mật khẩu sẽ được lưu trữ. Nó có thể có hầu hết mọi tên và nằm trong bất kỳ thư mục nào, điều chính là máy chủ web có thể đọc nó, điều này yêu cầu đặt quyền truy cập thích hợp vào tệp này (trên máy chủ của chúng tôi - 644). Tuy nhiên, theo truyền thống, những tệp như vậy được gọi là .htpasswd. Ví dụ: AuthUserFile /home/test/www/site1/public_html/.htpasswd
  • yêu cầu người dùng hợp lệ Dòng này cho biết rằng quyền truy cập vào thư mục được bảo vệ sẽ được phép đối với tất cả người dùng có thông tin đăng nhập và mật khẩu nằm trong tệp .htpasswd. Nếu bạn cần cấp quyền truy cập cho những người dùng cụ thể thì hãy yêu cầu user_user_logins_separated by_space. Ví dụ: yêu cầu người dùng vasya kolya petya Ví dụ: yêu cầu người dùng hợp lệ

Làm cách nào để chỉnh sửa tệp .htpasswd?

Mật khẩu file.htpasswd là mật khẩu thông thường tập tin văn bản. Mỗi người dùng được mô tả trong đó bằng một dòng có dạng đăng nhập:encrypted_password. Dùng để mã hóa mật khẩu chương trình đặc biệt htpasswd. Xin lưu ý rằng bạn không thể đơn giản ghi mật khẩu vào tệp theo cách thủ công; mật khẩu phải được mã hóa bằng chương trình htpasswd.

Nếu tệp .htpasswd chưa tồn tại, chương trình htpasswd phải được khởi chạy bằng khóa chuyển đổi -c:
htpasswd -c /full_path_to_file/.htpasswd user_login
Ví dụ: htpasswd -c /home/test/www/site1/public_html/.htpasswd vasya

Trong trường hợp này, chương trình htpasswd sẽ tạo tệp .htpasswd, yêu cầu mật khẩu cho người dùng và tạo hồ sơ người dùng với thông tin đăng nhập và mật khẩu được chỉ định trong tệp này. Khi thêm người dùng đang theo dõi và đã đổi mật khẩu rồi chương trình hiện cóđược gọi theo cách tương tự nhưng không chỉ định khóa chuyển -c. Để xóa người dùng chỉ cần mở file .htpasswd bình thường soạn thảo văn bản và xóa dòng có tên người dùng và mật khẩu của anh ấy.

Làm cách nào để tạo tệp .htpasswd nếu gói cước không cung cấp quyền truy cập SSH?

Nếu như Kế hoạch thuế quan không cung cấp quyền truy cập qua SSH (quyền truy cập vào dòng lệnh server), sau đó để tạo tệp .htpasswd bạn có thể sử dụng chương trình windows đặc biệt. Để thực hiện việc này, bạn cần tải xuống bản phân phối, giải nén nó và chạy chương trình passwd.exe. Sau đó, trong cửa sổ trên tab “Mật khẩu đơn”, hãy sử dụng nút “Duyệt qua” để đặt tên tệp (thường là .htpasswd) và ở đầu cửa sổ, nhập tên người dùng, mật khẩu và nhấp vào “Mã hóa và nút Lưu”. Sau đó, tệp kết quả phải được tải lên qua FTP vào thư mục mong muốn trên máy chủ của chúng tôi.

Tài liệu này được viết riêng cho những người sắp gia nhập hàng ngũ nhà phát triển web hoặc chỉ đơn giản là muốn hiểu một số điểm phức tạp của quy trình. Tại đây, bạn sẽ tìm hiểu về máy chủ Apache là gì, nó có thể cần thiết để làm gì, lấy nó ở đâu và cách sử dụng nó một cách chính xác. Trong tương lai chúng tôi sẽ cố gắng mô tả một cách tinh tế nhất có thể cài đặt Apache và các tính năng chức năng của nó, để ngay cả những người chuyên nghiệp cũng có thể tìm thấy điều gì đó mới mẻ cho mình trong những tài liệu này.

Để một trang web xuất hiện trên Internet, nó phải được lưu trữ trên máy chủ của nhà cung cấp dịch vụ lưu trữ hoặc của chính bạn, được kết nối với Internet và có địa chỉ IP chuyên dụng. Máy chủ là một máy tính được cài đặt phần mềm đặc biệt, còn được gọi là “máy chủ web”.

Có một số lượng lớn các máy chủ web trên thế giới. Chúng khác nhau về chức năng và mục đích. Hôm nay chúng ta sẽ nói về những cái phổ biến nhất trong số chúng, được cài đặt trên hầu hết các máy chủ của nhà cung cấp dịch vụ lưu trữ. Máy chủ Apache đáp ứng hầu hết mọi nhu cầu phát triển web hiện đại, nhưng đồng thời nó cũng đủ đơn giản để các lập trình viên cài đặt nó để gỡ lỗi chương trình của họ.

Năm 1994, một nhân viên Trung tâm quốc giaứng dụng cho siêu máy tính tại Đại học Illinois Hoa Kỳ (NCSA) Rob McCool đăng trong sử dụng chung máy chủ web đầu tiên được gọi như vậy - daemon NCSA HTTP. Máy chủ đã trở nên phổ biến trong phạm vi hẹp, nhưng vào giữa năm 1994, McCool rời trường đại học và quá trình phát triển bị dừng lại.

Một nhóm nhỏ quản trị viên web quan tâm đã bắt đầu làm việc cùng nhau trên sản phẩm. Trao đổi về danh sách thảo luận qua email, họ đã phát triển các “bản vá” và cải tiến cho máy chủ. Chính họ đã tạo ra Nhóm Apache, nhóm đã phát triển phiên bản đầu tiên của máy chủ Apache. Điều này xảy ra vào tháng 4 năm 1995, khi tất cả các “bản vá” hiện có được áp dụng cho cơ sở (NCSA Server 1.3). Đây là cách bản phát hành công khai chính thức đầu tiên của Apache 0.6.2 xuất hiện.

Phiên bản công khai đầu tiên của Apache xuất hiện vào tháng 4 năm 1995 và phiên bản 1.0 được phát hành vào tháng 12

Công việc trên máy chủ không dừng lại trong một ngày và rất nhanh sau đó nó đã trở thành một trong những máy chủ phổ biến nhất. Sau nhiều thử nghiệm, phiên bản 1.0 xuất hiện vào ngày 1 tháng 12 năm 1995, ổn định và đáng tin cậy. Trong suốt những năm qua và cho đến ngày nay, Apache vẫn hoàn toàn miễn phí. Có lẽ điều này cũng quyết định sự thành công của máy chủ, bởi theo NetCraft, Apache hiện được cài đặt trên 67% tổng số máy chủ trên thế giới.

Máy chủ Apache hiện được cài đặt trên 67% máy chủ trên toàn thế giới. Hiện tại có hai chi nhánh đang được phát triển cùng một lúc

Hiện tại, hai nhánh của Apache đang được phát triển song song - phiên bản 2.0 và 1.3. Phiên bản thứ hai đã trải qua một số thay đổi đáng kể, chủ yếu ảnh hưởng đến cốt lõi của chương trình và một số mô-đun quan trọng. Vì các mô-đun được viết nhà phát triển bên thứ bađối với phiên bản 1.3, sẽ không hoạt động trong phiên bản 2.0, Apache "cũ" cũng được hỗ trợ. Tuy nhiên, nếu bạn định cài đặt Apache lần đầu tiên thì bạn nên xem xét kỹ hơn phiên bản mới.

Apache là một máy chủ web có khả năng mở rộng, mã nguồn mở, đầy đủ tính năng

Vậy Apache là gì? Nó là một máy chủ web có thể mở rộng, đầy đủ tính năng, hỗ trợ đầy đủ giao thức HTTP/1.1 và là nguồn mở. Máy chủ có thể chạy trên hầu hết các nền tảng phổ biến. Có làm sẵn Các tập tin thực thi máy chủ cho Windows NT, Windows 9x, OS/2, Netware 5.x và một số hệ thống UNIX. Đồng thời, nó rất dễ cài đặt và cấu hình. Bạn sẽ có thể xác minh điều này một lát sau.

Apache được cấu hình bằng các tệp cấu hình văn bản. Các cài đặt cơ bản đã được định cấu hình theo mặc định và sẽ hoạt động trong hầu hết các trường hợp. Nếu bạn thiếu chức năng của Apache tiêu chuẩn thì bạn nên xem xét kỹ hơn các mô-đun có thể phân phối lại được viết bởi Nhóm Apache và các nhà phát triển bên thứ ba. Một lợi thế quan trọng là người sáng tạo tích cực giao tiếp với người dùng và phản hồi tất cả các thông báo lỗi.

nhất chức năng đơn giản, điều mà Apache có thể làm - đứng trên máy chủ và phục vụ một trang HTML thông thường. Khi nhận được yêu cầu cho một trang cụ thể, máy chủ sẽ gửi phản hồi tới trình duyệt. Bạn nhập địa chỉ, một trang sẽ mở ra - mọi thứ đều đơn giản.

Sử dụng máy chủ Apache, bạn có thể thực hiện xác thực đơn giản

Một chức năng phức tạp hơn được nhúng trong giao thức HTTP/1.1 là xác thực người dùng. Bằng cách sử dụng quỹ thường xuyên Máy chủ Apache bạn có thể hạn chế quyền truy cập vào một số trang nhất định trang web cho những người dùng khác nhau. Ví dụ, điều này là cần thiết để tạo giao diện quản trị cho trang web. Đối với điều này, các tệp .htaccess và .htpasswd được sử dụng, cũng như các mô-đun mod_auth và mod_access. Người dùng có thể được chia thành các nhóm và mỗi người trong số họ có thể được chỉ định quyền truy cập riêng.

Máy chủ Apache hỗ trợ công nghệ SSI

Để tách biệt các phần thiết kế và chức năng của trang web, cũng như để đơn giản hóa việc sửa đổi các đối tượng tĩnh, có công nghệ SSI. Nó cho phép bạn đặt tất cả thông tin lặp lại vào một tệp (ví dụ: top.inc), sau đó chèn liên kết tới tệp đó vào các trang. Sau đó, nếu bạn cần thay đổi một số dòng trong thông tin này, bạn sẽ chỉ phải thay đổi chúng trong một tệp. Máy chủ Apache hỗ trợ công nghệ này và cho phép bạn sử dụng hết tiềm năng của chúng.

Bạn có thể tạo thư mục tùy chỉnh cho các trang web trên máy chủ Apache

Nếu trên cùng một máy chủ đã cài đặt hệ điều hành Họ Unix và máy chủ Apache có nhiều người dùng, sau đó mỗi người trong số họ có thể tạo một thư mục riêng. Chính xác hơn, nó sẽ được tạo tự động cùng với bí danh. Việc này được thực hiện bằng cách sử dụng mô-đun mod_userdir và lệnh UserDir. Vì vậy, ví dụ: bạn có thể thư mục public_html trong Thư mục chủ người dùng khớp với địa chỉ www.site.ru/~user. Nói chung, đây là những gì được thực hiện trên máy chủ của hầu hết các trang web cung cấp lưu trữ miễn phí. Quản trị viên máy chủ có thể cho phép hoặc từ chối người dùng nhất định tạo trang chủ, sử dụng SSI và các chức năng máy chủ khác. Lưu trữ chính thức thường liên quan đến việc tạo một máy chủ ảo riêng cho mỗi người dùng.

Bạn có thể cấu hình máy chủ ảo. Cảm ơn họ một lần máy chủ vật lý bạn có thể chứa một số ảo

Máy chủ Apache là một trong những máy chủ đầu tiên hỗ trợ máy chủ ảo(máy chủ). Tính năng này cho phép bạn lưu trữ một số trang web chính thức trên một máy chủ vật lý. Mỗi người trong số họ có thể có tên miền, quản trị viên, địa chỉ IP riêng, v.v.

Nếu bạn cần đặt các miền domain.ru và domain.com trên máy chủ của mình thì trước tiên bạn cần đảm bảo rằng chúng được liên kết với địa chỉ IP của bạn trong hệ thống DNS. Sau này trong cấu hình tập tin Apache tạo hai chỉ thị , nơi bạn mô tả từng máy chủ ảo. Như vậy, máy chủ sẽ biết thư mục nào để “gửi” yêu cầu đến.

Apache hỗ trợ làm việc với Tập lệnh PHP, CGI và những người khác

Ngày nay, hầu hết các trang internet đều động. Điều này có nghĩa là họ vẻ bề ngoài và nội dung được hình thành bằng cách sử dụng tập lệnh phần mềm được viết bằng một trong các “ngôn ngữ” (chúng không thể được gọi đầy đủ là ngôn ngữ, định nghĩa khá tùy tiện). Hiện tại, các công nghệ được sử dụng rộng rãi nhất là CGI và PHP. Tất nhiên, Apache có hỗ trợ cả hai, cộng thêm khả năng kết nối các ngôn ngữ khác.

Mô-đun mod_cgi cho phép bạn lưu trữ các tập lệnh CGI trên máy chủ. Nói chung, đây chỉ là những tệp thực thi được viết bằng một trong các ngôn ngữ lập trình hợp lệ. Chúng có thể được chứa ở dạng được biên dịch (ví dụ: đây là những gì chúng làm nếu chúng viết CGI bằng C++) hoặc ở dạng văn bản nguồn(nếu Perl được cài đặt trên máy chủ thì lập trình viên có thể đặt các tệp như vậy. Đôi khi chúng có phần mở rộng .pl).

Đối với PHP, khả năng tích hợp nó vào Apache được cung cấp bởi chính các nhà phát triển PHP. Apache chỉ đóng vai trò trung gian giữa tập lệnh và trình biên dịch. Có hai cách để tích hợp PHP vào Apache. Đầu tiên là cài đặt một mô-đun đặc biệt giúp mở rộng khả năng của máy chủ và sau đó chính nó có khả năng "biên dịch" các tập lệnh. Và thứ hai là cài đặt trong tập tin cấu hình kết nối giữa các tệp php và chính trình biên dịch (nó nằm trên đĩa ở dạng tệp .cgi hoặc .exe).

Phiên bản mới nhất của Apache có một mô-đun để làm việc với mã hóa SSL/TSL mạnh

Dựa trên máy chủ Apache, bạn không chỉ có thể tạo các trang nghiệp dư đơn giản mà còn cả các tài nguyên yêu cầu nghiêm túc. bảo vệ mật mã dữ liệu được truyền đi. Giao thức SSL/TLS được phát triển đặc biệt cho mục đích này và sự hỗ trợ của nó được tích hợp vào Apache 2.0. Bằng cách sử dụng một mô-đun đặc biệt, bạn có thể thực hiện xác thực dựa trên chứng chỉ được cá nhân hóa, điều này giúp đảm bảo gần như chắc chắn tính xác thực của người dùng.

Apache giữ nhật ký chi tiết về mọi thứ xảy ra trên máy chủ

Và tất nhiên, máy chủ Apache có thể ghi nhật ký tất cả các hành động được thực hiện trên nó. Hơn nữa, quản trị viên có thể chọn mức độ chi tiết của giao thức. Các giao thức được giữ riêng biệt đối với các lỗi, đối với hoạt động thành công và cho mỗi máy chủ ảo. Trong một từ, trọn bộđể phân tích kỹ lưỡng các lỗi mới nổi.

Trong khuôn khổ một tài liệu, chúng tôi không chỉ có thể nói chi tiết về tất cả các khả năng của máy chủ Apache mà còn có thể liệt kê chúng một cách đơn giản. Bài viết này nhằm mục đích làm quen sơ bộ lần đầu tiên với người dùng và các nhà phát triển trong tương lai với máy chủ Apache. Trong các tài liệu khác, chúng tôi chắc chắn sẽ đề cập đến tất cả những điều phức tạp của việc xây dựng trang web dựa trên gói phần mềm tuyệt vời này.

Apache (Apache HTTP Server), tên của máy chủ web nổi tiếng và phổ biến nhất hỗ trợ giao thức HTTP/1.1. Về cơ bản, máy chủ web là một chương trình mạnh mẽ được thiết kế để xử lý yêu cầu http từ thanh địa chỉ trình duyệt và quay lại theo yêu cầu này tập tin cần thiết. Để đơn giản hóa, máy chủ web cho phép bạn thiết lập liên lạc giữa trình duyệt và máy chủ, theo sơ đồ sau: trình duyệt yêu cầu cung cấp cho nó các tệp trang web theo địa chỉ và máy chủ web sẽ cung cấp cho nó. Điều này rất đơn giản. “Giao tiếp” diễn ra thông qua giao thức HTTP.

Các máy chủ web, bao gồm cả Apache, được phát triển đặc biệt cho những mục đích này và không một máy chủ hay phần mềm lưu trữ nào có thể hoạt động nếu không có máy chủ web chạy bằng giao thức HTTP.

Gần đây hơn, Apache có độc quyền ảo trong việc giải quyết các vấn đề của mình. Bây giờ máy chủ web Nignix sắp hết thời gian. Sự cộng sinh của Apache và Nignix ngày càng được sử dụng nhiều hơn.

Bạn không thể làm gì nếu không có máy chủ web và xây dựng máy chủ cục bộ. Ngày nay, tình hình là Apache được sử dụng và Hơn nữa, chiếm ưu thế trong tất cả các hội đồng máy chủ cục bộ, cho cả Windows và Linux.

Quản lý Apache

Để làm quen với máy chủ web Apache, bạn nên tự làm quen với cách quản lý dịch vụ Apache từ phía máy khách.

Rất có thể là sự đơn giản Kiểm soát bên ngoài Dịch vụ web Apache và làm cho nó trở nên phổ biến (hoặc đây là một trong những lý do). Để quản lý dịch vụ web Apache, có tập tin đặc biệt, dưới tên .htaccess (có dấu chấm ở đầu). Về chức năng, nó tương tự như tệp robots.txt dành cho robot tìm kiếm. Với các chỉ thị đặc biệt được ghi trong tệp này, bạn, với tư cách là người dùng, có thể kiểm soát việc phân phối các trang trên trang web của mình, tạo chuyển hướng, v.v. mà không cần đào sâu vào phần mềm máy chủ. Ngoài tệp .htaccess, còn có tập tin htpasswd(cũng có dấu chấm ở đầu) và cả các mô-đun mod_auth và mod_access.

Nhưng hãy quay lại máy chủ cục bộ.Để cài đặt (tạo) một máy chủ cục bộ trên máy tính của bạn, bạn không thể làm gì nếu không có Apache. Hãy để tôi nhắc bạn một lần nữa rằng trong các từ viết tắt và LAMP, chữ cái [A] là máy chủ web, Apache.

Trong tất cả các tập hợp máy chủ cục bộ, chẳng hạn như Denver, Open-server, XAMPP, v.v., máy chủ web Apache đều có mặt ưu tiên. Nếu chúng tôi tự lắp ráp máy chủ, đó là điều chúng tôi đang làm, thì Apache cần được cài đặt độc lập.

Tôi nên cài đặt phiên bản Apache nào?

Apache được phát triển thành hai nhánh (phiên bản): Apache 1.3 và Apache 2.x. Không cần cài đặt phiên bản 1.3 cũ nên chúng tôi đang làm việc với phiên bản 2.x.

Bây giờ là phần khó hiểu nhất. Bạn biết rằng hầu hết mọi chương trình đều có thể được cài đặt theo hai cách:

  • Sử dụng trình cài đặt tự động (trình cài đặt), tệp ;
  • Trực tiếp bằng cách tải các thư mục và tập tin chương trình lên thư mục mong muốn trên đĩa.

Với Apache, tình hình như sau:

Đó là tất cả! Cuộc làm quen đầu tiên với Apache đã diễn ra. Trong các bài viết sau, tôi sẽ hướng dẫn bạn cách cài đặt cả hai phiên bản Apache trên máy tính cục bộ của bạn.

Cuối cùng, các liên kết cần thiết

Điều hướng Trang web web Apache Máy chủ (http) hơi khó hiểu nên tôi sẽ cung cấp các liên kết cần thiết:

  • Trang web máy chủ web Apache (http://httpd.apache.org/).
  • Tải xuống máy chủ web Apache ( http://httpd.apache.org/download.cgi)
  • Tải xuống Phiên bản ổn định- phiên bản mới nhất: 2.4.26 (phát hành 19/06/2017) (dành cho Windows).
  • Tải xuống vấn đề lỗi thời - loạt 2.2. 2.2.32 (phát hành 13/01/2017)
  • Phiên bản nhị phân: https://archive.apache.org/dist/httpd/binaries/win32/ (2013-07-10)