Hướng dẫn về Apache cho người mới bắt đầu

⚡ Tóm tắt thông minh

Máy chủ HTTP Apache cung cấp năng lượng cho hơn một nửa trang web công cộng, và tài liệu này phân tích chi tiết kiến ​​trúc, đường dẫn cài đặt, mô hình lưu trữ ảo, tăng cường bảo mật, ghi nhật ký và triển khai sản xuất để các quản trị viên có thể tự tin vận hành nó trên Linux. Windows, hoặc là macOS môi trường.

  • 🌐 Thiết kế mô-đun: Apache tải các tính năng dưới dạng Đối tượng chia sẻ động (Dynamic Shared Objects), cho phép quản trị viên chỉ kích hoạt những tính năng mà mỗi khối lượng công việc yêu cầu.
  • 🛠️ Các đường dẫn cài đặt linh hoạt: Các trình quản lý gói, bản dựng RPM và các tệp nén mã nguồn cho phép các nhóm điều chỉnh môi trường chạy sao cho phù hợp với hệ điều hành và nhu cầu của các mô-đun.
  • ⚙️ Máy chủ ảo: Một phiên bản Apache có thể phục vụ nhiều trang web thông qua các chỉ thị VirtualHost dựa trên tên miền hoặc địa chỉ IP.
  • 🔒 Nguyên tắc cơ bản về tôi cứng: ServerTokens, ServerSignature, mod_security, mod_evasive và giới hạn yêu cầu giúp giảm thiểu nguy cơ bị tấn công mạng phổ biến.
  • 📊 Khả năng quan sát nhật ký: Các định dạng nhật ký thông dụng và kết hợp, cùng với các chỉ thị tùy chỉnh, cung cấp khả năng hiển thị chi tiết về mọi yêu cầu mà máy chủ xử lý.

Hướng dẫn Apache

Apache là gì?

Apache là một phần mềm ứng dụng đáng chú ý. Nó là ứng dụng máy chủ web được sử dụng rộng rãi nhất trên thế giới, chiếm hơn 50% thị phần trong thị trường máy chủ web thương mại. Apache là ứng dụng máy chủ web được sử dụng rộng rãi nhất trên các hệ điều hành giống Unix, nhưng nó có thể được sử dụng trên hầu hết các nền tảng khác như... Windows, OS X, OS/2, v.v. Từ "Apache" được lấy từ tên của bộ tộc người Mỹ bản địa Apache, nổi tiếng với kỹ năng chiến đấu và lập chiến lược.

Apache là một ứng dụng máy chủ web dựa trên tiến trình, có cấu trúc mô-đun, tạo ra một luồng mới với mỗi kết nối đồng thời. Nó hỗ trợ nhiều tính năng; nhiều tính năng trong số đó được biên dịch thành các mô-đun riêng biệt và mở rộng chức năng cốt lõi của nó, cung cấp mọi thứ từ hỗ trợ ngôn ngữ lập trình phía máy chủ đến các cơ chế xác thực. Lưu trữ ảo là một trong những tính năng đó, cho phép một máy chủ web Apache duy nhất phục vụ nhiều trang web khác nhau từ cùng một phần cứng.

Apache

Cách cài đặt Apache

Trước khi triển khai Apache, điều đáng lưu ý là cần hiểu rõ các phương pháp cài đặt khác nhau. Có rất nhiều cách để cài đặt gói hoặc ứng dụng này, như được liệt kê bên dưới.

  1. Một trong những đặc điểm của việc mở này Ưu điểm của ứng dụng web nguồn là bất kỳ ai cũng có thể tự chuẩn bị trình cài đặt cho môi trường của riêng mình. Điều này cho phép nhiều nhà cung cấp khác nhau như Debian, Red Hat, FreeBSD và SUSE tùy chỉnh vị trí tệp và cấu hình của Apache, có tính đến các ứng dụng đã cài đặt khác và hệ điều hành cơ bản.
  2. Ngoài việc cài đặt từ trình cài đặt của nhà cung cấp, luôn có lựa chọn là biên dịch và cài đặt từ mã nguồn. Việc cài đặt Apache từ mã nguồn không phụ thuộc vào nền tảng và hoạt động trên hầu hết mọi hệ điều hành.

Máy chủ web Apache là một ứng dụng dạng mô-đun, trong đó quản trị viên có thể lựa chọn các chức năng cần thiết và cài đặt các mô-đun khác nhau theo yêu cầu.

Tất cả các mô-đun có thể được biên dịch như sau: Đối tượng chia sẻ động (DSO là một tập tin đối tượng có thể được chia sẻ bởi nhiều ứng dụng trong khi chúng đang thực thi) tồn tại riêng biệt với tệp nhị phân chính của Apache. Phương pháp DSO được khuyến nghị mạnh mẽ; nó giúp đơn giản hóa việc thêm, xóa hoặc cập nhật các mô-đun từ cấu hình máy chủ.

Cài đặt Apache: Nền tảng Linux

Trên các hệ thống dựa trên Red Hat hoặc vòng/phút

Nếu bạn đang sử dụng bản phân phối Linux dựa trên rpm (Red Hat Package Manager, một tiện ích để cài đặt ứng dụng trên hệ thống Linux), tức là Red Hat, Fedora, CentOS hoặc SUSE, bạn có thể cài đặt ứng dụng này bằng Trình quản lý gói dành riêng cho nhà cung cấp hoặc bằng cách trực tiếp xây dựng tệp rpm từ tệp nén mã nguồn có sẵn.

Bạn có thể cài đặt Apache thông qua Trình quản lý gói mặc định có sẵn trên tất cả các bản phân phối dựa trên Red Hat như CentOS, Red Hat và Fedora.

[root@amsterdam ~]# yum install httpd

Tệp nén mã nguồn Apache có thể được chuyển đổi thành tệp rpm bằng lệnh sau.

[root@amsterdam ~]# rpmbuild -tb httpd-2.4.x.tar.bz2

Việc cài đặt gói -devel trên máy chủ của bạn là bắt buộc để tạo tệp .rpm từ mã nguồn.

Sau khi chuyển đổi tệp nguồn thành trình cài đặt rpm, bạn có thể sử dụng lệnh sau để cài đặt Apache.

[root@amsterdam ~]# rpm -ivh httpd-2.4.4-3.1.x86_64.rpm

Sau khi cài đặt, máy chủ không tự động khởi động. Để khởi động dịch vụ, bạn phải sử dụng một trong các lệnh sau trên Fedora, CentOS hoặc Red Hat.

[root@amsterdam ~]# /usr/sbin/apachectl start

[root@amsterdam ~]# service httpd start

[root@amsterdam ~]# /etc/init.d/httpd start

Cài đặt Apache từ nguồn

Nếu bản dựng từ trình quản lý gói không phù hợp với môi trường của bạn, cài đặt từ mã nguồn sẽ cung cấp cho bạn toàn quyền kiểm soát. Cài đặt Apache từ mã nguồn yêu cầu gói -devel phải được cài đặt trên máy chủ của bạn. Bạn có thể tìm thấy phiên bản Apache mới nhất hiện có và tải xuống từ trang web của họ. Trang tải xuống chính thức của ApacheSau khi tải xuống tệp nguồn, hãy di chuyển nó vào thư mục /usr/local/src.

[root@amserversterdam ~] cd /usr/local/src

[root@amserversterdam ~] gzip -d httpd-2.2.26.tar.gz

[root@amserversterdam ~] tar xvf httpd-2.2.26.tar

[root@amserversterdam ~] httpd-2.2.26

Để xem tất cả các tùy chọn cấu hình có sẵn cho Apache, bạn có thể sử dụng tùy chọn ./configure –help. Tùy chọn cấu hình phổ biến nhất là –prefix={tên thư mục cài đặt}.

[root@amserversterdam ~]./configure --help

[root@amserversterdam ~]./configure --prefix=/usr/local/apache --enable-so

[root@amserversterdam ~] make

[root@amserversterdam ~] make install

Ví dụ trên cho thấy quá trình biên dịch Apache trong thư mục /usr/local/apache với khả năng DSO. Tùy chọn –enable-so cho phép các mô-đun cần thiết được tải vào Apache trong quá trình chạy thông qua cơ chế DSO thay vì yêu cầu biên dịch lại.

Sau khi quá trình cài đặt hoàn tất, bạn có thể truy cập trang mặc định của máy chủ web bằng trình duyệt yêu thích của mình. Nếu tường lửa được bật trên máy chủ của bạn, bạn phải tạo ngoại lệ cho cổng 80 trên tường lửa của hệ điều hành. Bạn có thể sử dụng lệnh sau để mở cổng 80.

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

iptables dịch vụ tiết kiệm

Bạn có thể thấy mặc định Màn hình chào mừng Apache2 bằng cách truy cập vào địa chỉ IP máy chủ của bạn.

Cài đặt Apache từ nguồn

Máy chủ ảo là gì?

Sau khi Apache đã được khởi chạy, bước tiếp theo cần làm là học cách lưu trữ nhiều trang web trên cùng một máy. Máy chủ web Apache có thể lưu trữ nhiều trang web trên cùng một máy. TƯƠNG TỰ Máy chủ. Bạn không cần một máy chủ riêng và phần mềm Apache cho mỗi trang web. Điều này có thể đạt được bằng cách sử dụng khái niệm về một Máy chủ ảo or VHost.

Mỗi tên miền mà bạn muốn lưu trữ trên máy chủ web của mình sẽ có một mục riêng biệt trong tệp cấu hình Apache.

Máy chủ ảo

Các loại máy chủ ảo Apache

  1. Máy chủ ảo dựa trên tên
  2. Máy chủ ảo dựa trên địa chỉ hoặc IP

Máy chủ ảo dựa trên tên

Dịch vụ lưu trữ ảo dựa trên tên miền được sử dụng để lưu trữ nhiều trang web ảo trên một địa chỉ IP duy nhất.

Máy chủ ảo dựa trên tên

Để cấu hình hosting ảo dựa trên tên miền, bạn cần thiết lập địa chỉ IP mà bạn sẽ nhận các yêu cầu Apache cho tất cả các trang web mong muốn. Bạn có thể thực hiện điều này bằng chỉ thị NameVirtualHost trong cấu hình Apache, tức là... Tệp httpd.conf hoặc apache2.conf.

Máy chủ ảo Apache Ví dụ:

NameVirtualHost *:80

<VirtualHost 192.168.0.108:80>

ServerAdmin webmaster@example1.com

DocumentRoot /var/www/html/example1.com

ServerName www.example1.com

</VirtualHost>

<VirtualHost 192.168.0.108:80>

ServerAdmin admin@example2.com

DocumentRoot /var/www/html/example2.com

ServerName www.example2.com

</VirtualHost>

Bạn có thể thêm bao nhiêu máy chủ ảo tùy theo nhu cầu của môi trường. Bạn có thể kiểm tra các tệp cấu hình web của mình bằng lệnh:

[root@amsterdam ~]#httpd -t
Syntax OK

Nếu tệp cấu hình có cú pháp không chính xác, nó sẽ báo lỗi:

[root@115 conf.d]# httpd -t

Syntax error on line 978 of /etc/httpd/conf/httpd.conf:

Invalid command '*', perhaps misspelled or defined by a module not included in the server configuration

Máy chủ ảo dựa trên IP

Để thiết lập máy chủ ảo dựa trên địa chỉ IP, bạn cần cấu hình nhiều hơn một địa chỉ IP trên máy chủ của mình. Do đó, số lượng máy chủ ảo mà Apache có thể phục vụ sẽ phụ thuộc vào số lượng địa chỉ IP được cấu hình trên máy chủ của bạn. Nếu máy chủ của bạn có 10 địa chỉ IP, bạn có thể tạo 10 máy chủ ảo dựa trên IP.

Máy chủ ảo dựa trên IP

Trong sơ đồ trên, hai trang web, example1.com và example2.com, được gán các địa chỉ IP khác nhau và đang sử dụng dịch vụ lưu trữ ảo dựa trên IP.

Listen 192.168.0.100:80

<VirtualHost 192.168.10.108:80>

ServerAdmin webmaster@example1.com

DocumentRoot /var/www/html/example1.com

ServerName www.example1.com

</VirtualHost>

<VirtualHost 192.168.10.109:80>

ServerAdmin admin@example2.com

DocumentRoot /var/www/html/example2.com

ServerName www.example2.com

</VirtualHost>

So sánh nhanh Apache và Nginx

Khi lập kế hoạch triển khai hệ thống mới, người ta thường cân nhắc giữa Apache và Nginx. Bảng dưới đây tóm tắt những điểm quyết định phổ biến nhất.

Hệ số Apache HTTP Server Nginx
Mô hình xử lý Tiến trình hoặc luồng cho mỗi kết nối (prefork, worker, event MPMs) Sự kiện điều khiển, không đồng bộ
Cấu hình Hỗ trợ ghi đè tệp .htaccess cho từng thư mục. Cấu hình tập trung, không cần tệp .htaccess
Nội dung động mod_php và các mô-đun khác nhúng môi trường thực thi trong tiến trình. Máy chủ proxy đến PHP-FPM hoặc máy chủ ứng dụng bên ngoài
Thông lượng tệp tĩnh Mạnh mẽ, nhưng dung lượng bộ nhớ trên mỗi kết nối cao hơn. Xuất sắc ngay cả khi xử lý đồng thời rất nhiều tác vụ.
Hệ sinh thái mô-đun Rất lớn; được tải dưới dạng DSO trong quá trình thực thi Các mô-đun được biên dịch sẵn hoặc mô-đun động, hệ sinh thái nhỏ hơn
Trường hợp sử dụng điển hình Hosting dùng chung, quy trình làm việc .htaccess, ứng dụng động hỗn hợp Reverse máy chủ proxy, phân phối tĩnh, điểm cuối có khả năng xử lý đồng thời cao

Apache cần gì để chạy tệp Php?

Việc chạy các tập tin PHP trên Apache cần mod_php Được kích hoạt trên máy chủ của bạn. Nó cho phép Apache diễn giải các tệp .php. Nó có các trình xử lý PHP diễn giải mã PHP trong Apache và gửi HTML đến máy chủ web của bạn.

Nếu mod_php được bật trên máy chủ của bạn, bạn sẽ có một tệp tin tên là php.conf trong thư mục /etc/httpd/conf.d/. Bạn cũng có thể kiểm tra bằng lệnh:

httpd -M | grep "php5_module"

Đầu ra sẽ tương tự như:

Apache cần gì để chạy tệp Php

Trình xử lý Php trong Apache

  • mod_php
  • CGI
  • NhanhCGI
  • suPHP

mod_php Đây là trình xử lý PHP lâu đời nhất; nó biến PHP thành một phần của Apache và không gọi bất kỳ tiến trình PHP bên ngoài nào. Mô-đun này được cài đặt mặc định trong kho lưu trữ của mọi bản phân phối Linux, vì vậy việc bật hoặc tắt nó rất dễ dàng.

Nếu bạn đang sử dụng NhanhCGI với tư cách là trình xử lý PHP, bạn có thể đặt nhiều phiên bản PHP để các tài khoản khác nhau trên máy chủ của mình sử dụng.

Tức là FastCGI. mod_fastcgilà phần mở rộng của mod_fcgid, Nơi mod_fcgid Đây là một giải pháp thay thế hiệu năng cao cho CGI (mod_cgi). Nó khởi tạo đủ số lượng phiên bản CGI để xử lý các yêu cầu web đồng thời. Nó cũng sử dụng suexec để hỗ trợ nhiều người dùng với các phiên bản PHP riêng biệt và cải thiện bảo mật web.

Để chạy các tệp Ruby trên Apache, cần phải bật mod_ruby. Apache cũng có thể xử lý các tệp Ruby thông qua FastCGI. Có thể sử dụng nhiều phiên bản Ruby với sự trợ giúp của mod_fcgid, tức là FastCGI.

Bạn cũng có thể cài đặt Apache Passenger và cấu hình Apache để sử dụng nó cho việc phục vụ các trang Ruby.

(Phusion Passenger, còn được gọi là “Hành khách“Đây là một mô-đun máy chủ web miễn phí được thiết kế để tích hợp với Apache và Nginx.”

Các bước cài đặt mod_ruby trên máy chủ của bạn:

cd /tmp

wget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gz

tar zxvf mod_ruby-1.2.6.tar.gz

cd mod_ruby-1.2.6/

./configure.rb --with-apr-includes=/usr/include/apr-1

make

make install

Cách chạy Ruby với Apache

Chúng ta cần thêm mô-đun mod_ruby vào cấu hình Apache, tức là /etc/httpd/conf.d/ruby.conf, và thêm dòng sau.

LoadModule mô-đun ruby_module/mod_ruby.so

Nếu bạn muốn bật hoặc tắt các mô-đun này, bạn phải chỉnh sửa tệp cấu hình Apache và thêm dấu chú thích hoặc bỏ chú thích vào các mô-đun đó, với điều kiện máy chủ web đã được biên dịch sẵn với chúng.

Chạy Ruby với Apache

Cách bảo mật máy chủ web Apache

Sau khi Apache đã cung cấp nội dung phù hợp, ưu tiên tiếp theo là bảo mật nó. Bảo mật máy chủ web của bạn rất quan trọng; điều đó có nghĩa là chỉ cho phép người khác xem thông tin được chỉ định, bảo vệ dữ liệu của bạn và hạn chế quyền truy cập.

Đây là những biện pháp phổ biến giúp tăng cường bảo mật cho máy chủ web Apache của bạn.

1) Ẩn thông tin phiên bản Apache và hệ điều hành

Apache hiển thị phiên bản và tên hệ điều hành trong các thông báo lỗi, như thể hiện trong ảnh chụp màn hình bên dưới.

Ẩn phiên bản Apache và thông tin hệ điều hành

Kẻ tấn công có thể sử dụng thông tin này để thực hiện một cuộc tấn công khai thác các lỗ hổng bảo mật có sẵn trong phiên bản máy chủ hoặc hệ điều hành cụ thể đó.

Để ngăn Apache hiển thị thông tin này, chúng ta cần sửa đổi tùy chọn “server signature” trong tệp cấu hình Apache. Theo mặc định, tùy chọn này được bật; chúng ta cần đặt nó thành tắt.

vim /etc/httpd/conf/httpd.conf
ServerSignature Off

ServerTokens Prod

Chúng tôi cũng đã thiết lập “ServerTokens Prod”, thiết lập này yêu cầu máy chủ web chỉ trả về Apache và bỏ qua phiên bản chính và phụ của hệ điều hành.

Sau khi chỉnh sửa tệp cấu hình, bạn cần khởi động lại hoặc tải lại máy chủ web Apache để thay đổi có hiệu lực.

service httpd restart

Ẩn phiên bản Apache và thông tin hệ điều hành

2) Vô hiệu hóa danh sách thư mục

Nếu thư mục gốc của tài liệu không có tệp chỉ mục, theo mặc định máy chủ web Apache sẽ hiển thị toàn bộ nội dung của thư mục gốc đó.

Vô hiệu hóa danh sách thư mục

Tính năng này có thể được tắt cho một thư mục cụ thể thông qua chỉ thị “Options” có sẵn trong tệp cấu hình Apache.

<Directory /var/www/html>

    Options -Indexes

</Directory>

Vô hiệu hóa danh sách thư mục

3) Vô hiệu hóa các mô-đun không cần thiết

Nên vô hiệu hóa tất cả các mô-đun không cần thiết mà bạn không sử dụng. Bạn có thể xem danh sách các mô-đun đã được kích hoạt trong tệp cấu hình Apache của mình.

[root@amsterdam ~]#httpd -M

perl_module (shared)

php5_module (shared)

proxy_ajp_module (shared)

python_module (shared)

ssl_module (shared)

Nhiều mô-đun được liệt kê có thể bị vô hiệu hóa, chẳng hạn như mod_imap, mod_include, mod_info, mod_userdir và mod_autoindex, vì chúng hiếm khi được sử dụng bởi bất kỳ máy chủ web sản xuất nào.

vi /etc/httpd/conf/httpd.conf

#LoadModule auth_digest_module modules/mod_auth_digest.so

Sau khi bạn vô hiệu hóa mô-đun bằng cách thêm dấu chú thích, hãy lưu tệp.

Khởi động lại các dịch vụ Apache bằng lệnh sau.

/etc/init.d/httpd restart

4) Hạn chế quyền truy cập vào các tệp bên ngoài thư mục gốc của web

Nếu bạn muốn đảm bảo rằng các tệp nằm ngoài thư mục gốc của trang web không thể truy cập được, bạn cần chắc chắn rằng thư mục đó bị hạn chế bằng các tùy chọn “Cho phép” và “Từ chối” trong tệp cấu hình máy chủ web của mình.

<Directory/>

Options None

AllowOverride None

Order deny,allow

Deny from all

</Directory>

Khi bạn hạn chế quyền truy cập bên ngoài thư mục gốc của trang web, bạn sẽ không thể truy cập bất kỳ tệp nào nằm trong bất kỳ thư mục nào khác trên máy chủ web của mình; bạn sẽ nhận được mã lỗi 404.

Hạn chế quyền truy cập vào các tệp bên ngoài Thư mục gốc của Web

5) Sử dụng mod_evasive để chống lại các cuộc tấn công DoS

Nếu bạn muốn bảo vệ máy chủ web của mình khỏi các cuộc tấn công DoS (Từ chối dịch vụ), bạn phải kích hoạt mô-đun mod_evasive. Đây là một mô-đun của bên thứ ba giúp phát hiện các cuộc tấn công DoS và ngăn chặn chúng gây ra thiệt hại tối đa nếu không được kiểm soát. Bạn có thể tải xuống mô-đun này bên dưới.

Tải file trên

6) Sử dụng mod_security để tăng cường bảo mật cho Apache

Mô-đun này hoạt động như một tường lửa cho Apache và cho phép bạn giám sát lưu lượng truy cập theo thời gian thực. Nó cũng ngăn chặn máy chủ web khỏi các cuộc tấn công vét cạn mật khẩu. Mô-đun mod_security có thể được cài đặt bằng trình quản lý gói mặc định của bản phân phối hệ điều hành của bạn.

Sử dụng mod_security để tăng cường bảo mật Apache

7) Giới hạn kích thước yêu cầu

Apache không có bất kỳ hạn chế nào về tổng kích thước của yêu cầu HTTP, điều này có thể dẫn đến tấn công từ chối dịch vụ (DoS). Bạn có thể giới hạn kích thước yêu cầu bằng chỉ thị Apache “LimitRequestBody” bên trong thẻ Directory. Giá trị có thể được đặt bất kỳ từ 0 đến 2 GB (2147483647 byte) tùy theo yêu cầu của bạn.

<Directory "/var/www/html/uploads">

   LimitRequestBody 512000

</Directory>

Định dạng nhật ký Apache

Khi máy chủ đã được tăng cường bảo mật, việc xem xét nhật ký trở thành công cụ chính để phát hiện sự cố. Nhật ký Apache cung cấp thông tin chi tiết giúp phát hiện các vấn đề thường gặp với máy chủ.

Để tạo nhật ký truy cập, mô-đun mod_log_config phải được kích hoạt.

Có ba chỉ thị có sẵn trong tệp cấu hình Apache.

  • TransferLog: Tạo một tệp nhật ký.
  • LogFormat: Chỉ định định dạng tùy chỉnh.
  • CustomLog: Tạo và định dạng tệp nhật ký.

Chỉ thị TransferLog có sẵn trong tệp cấu hình Apache và nó xoay vòng các tệp nhật ký của máy chủ ảo theo các tham số đã thiết lập.

<VirtualHost www.example.com>

  ServerAdmin webmaster@example.com

  DocumentRoot /usr/www/example/httpd/htdocs/

  ServerName www.example.com

  ServerAlias example.com www.example

  ErrorLog /usr/www/example/httpd/logs/error_log

  TransferLog /usr/www/example/httpd/logs/accesslog

  CustomLog /usr/www/example/httpd/logs/accesslog combined

</VirtualHost>

Hai loại Định dạng nhật ký Apache

  • Định dạng nhật ký chung
  • Định dạng nhật ký kết hợp

Bạn có thể kích hoạt chúng bằng cách chỉnh sửa tệp cấu hình Apache, tức là apache2.conf (Debian/Ubuntu) hoặc httpd.conf (đối với các hệ thống dựa trên rpm).

Định dạng nhật ký chung

LogFormat "%h %l %u %t \"%r\" %>s %b" common

CustomLog logs/access_log common

Nhật ký chung được tạo bởi Apache

[Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test

Định dạng nhật ký kết hợp

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined

CustomLog log/access_log combined

Ở đây,

  • %h là máy chủ từ xa.
  • %l là định danh của người dùng được xác định bởi identd.
  • %u là tên người dùng được xác định bởi quá trình xác thực HTTP.
  • %t là thời gian máy chủ xử lý xong yêu cầu.
  • %r là dòng yêu cầu từ máy khách. (“NHẬN / HTTP/1.0”)
  • %>s là mã trạng thái được máy chủ gửi đến máy khách (500, 404, v.v.).
  • %b là kích thước của phản hồi gửi đến máy khách (tính bằng byte).
  • Referer là trang đã liên kết đến trang này. URL.
  • Tác nhân người dùng là chuỗi nhận dạng trình duyệt.

Nhật ký kết hợp được tạo bởi Apache:

199.187.122.91 - - [06/Mar/2014:04:22:58 +0100] "GET /robots.txt HTTP/1.1" 404 1228 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)"

Custom Log tạo một tệp nhật ký riêng cho mỗi Virtual Host trên máy chủ của bạn. Bạn cần chỉ định nó trong phần cấu hình Virtual Host của tệp cấu hình.

Bạn có thể xem cấu hình máy chủ ảo bên dưới; nhật ký được tạo ra sẽ tùy chỉnh cho máy chủ ảo đó và định dạng sẽ được kết hợp.

Nhật ký kết hợp được tạo bởi Apache

Cấu hình máy chủ web sản xuất đầu tiên của bạn.

Sau khi đã hoàn tất cấu hình, bảo mật và ghi nhật ký, bước cuối cùng là kết hợp tất cả lại với nhau để tạo ra một môi trường sẵn sàng cho sản xuất.

1. Để có một máy chủ web sản xuất hoạt động, bạn cần một máy chủ chuyên dụng. nút (phiên bản vật lý, ảo hoặc đám mây) chạy hệ điều hành Linux, Unix, Windows, macOS, Vv

2. Máy chủ web phải có kết nối mạng trực tiếpđịa chỉ IP tĩnh được cấu hình trên đó.

3. Nó cần phải có tất cả các mô-đun Cần thiết để chạy các trang web. Nếu máy chủ web xử lý các trang PHP, nó cần phải bật mô-đun PHP.

Định cấu hình máy chủ web sản xuất

  1. Nó cũng cần một thứ tốt. antivirus Ứng dụng đã được cấu hình và đang chạy để bảo vệ máy chủ web khỏi các cuộc tấn công phần mềm độc hại hoặc virus. Bạn cũng cần một cơ chế để... cập nhật Hãy cấu hình ứng dụng chống virus hoặc chống phần mềm độc hại một cách thường xuyên mà không cần can thiệp thủ công để đạt được hiệu quả tối đa.
  2. Nếu bạn có hàng trăm tên miền cần được lưu trữ trên máy chủ web của mình, bạn phải triển khai... Các hạn chế về dung lượng hệ thống tệp cho mỗi tên miền, số lượng cơ sở dữ liệu mà mỗi tên miền có thể tạo, số lượng tài khoản email trên mỗi tên miền, v.v.
  3. Nếu máy chủ web của bạn đã được thiết lập cho Đối với dịch vụ lưu trữ chia sẻ, người dùng trên máy chủ web của bạn cần được hạn chế.Người dùng dịch vụ lưu trữ chia sẻ cần có quyền hạn tối thiểu để không làm hỏng các tập tin quan trọng hoặc gây sự cố cho toàn bộ máy chủ. Apache không cung cấp chức năng này và cần các ứng dụng của bên thứ ba cũng như tùy chỉnh hệ điều hành để đạt được điều đó.
  4. Nếu bạn đang thêm một miền mới Trên máy chủ web của bạn, việc này yêu cầu chỉnh sửa hàng trăm mục cấu hình để kích hoạt tất cả các tính năng cho tên miền đã thêm.
  5. Nếu một trong các tên miền được lưu trữ yêu cầu các cài đặt PHP khác nhau So với các lĩnh vực khác, việc triển khai điều này trong lõi Apache rất phức tạp và cần tùy chỉnh rộng rãi máy chủ web của bạn.
  6. Một máy chủ web sản xuất cần một tường lửa Chặn lưu lượng truy cập không mong muốn có thể gây tải cao cho máy chủ của bạn. Thực hiện CÓ THỂ Việc thiết lập các quy tắc bằng dòng lệnh rất phức tạp. Nó đòi hỏi kiến ​​thức chuyên sâu về môi trường Linux hoặc Unix để viết các quy tắc tường lửa hiệu quả nhằm chặn lưu lượng truy cập không mong muốn. IPTABLE dựa trên mô-đun netfilter; nó là một tường lửa cấp hệ điều hành cho phép quản trị viên tạo các quy tắc cho lưu lượng truy cập đến và đi trên máy chủ.
  7. Một máy chủ web sản xuất yêu cầu một số ứng dụng khác nhau như e-mail, FTP để tải tệp lên và Hệ Thống Tên Miền Đối với các tên miền đã được đăng ký nhưng chưa sử dụng. Việc quản lý tất cả các ứng dụng này trên một hệ thống Linux hoặc Unix cốt lõi đòi hỏi chuyên môn về các công nghệ tương ứng.

Như vậy, có thể nói rằng quản lý máy chủ web cho nhiều tên miền là một nhiệm vụ rất phức tạp, đòi hỏi phải chỉnh sửa hàng trăm tệp cấu hình và tùy chỉnh từng ứng dụng để đạt được kết quả mong muốn. Việc khắc phục sự cố do cấu hình sai sẽ rất khó khăn đối với người mới bắt đầu.

Giải pháp sử dụng Cpanel hoặc phần mềm tương tự

cPanel cung cấp một phương thức giao diện đồ họa để quản lý máy chủ web của bạn.Nó được thiết kế để cung cấp dịch vụ lưu trữ quy mô lớn, dễ sử dụng và cấu hình. cPanel đã giảm bớt các rào cản kỹ thuật khi gia nhập lĩnh vực lưu trữ và quản lý máy chủ web. Nó giúp đơn giản hóa các tác vụ phức tạp; nó cung cấp nhiều giao diện web hữu ích và dễ sử dụng để thực hiện các tác vụ quản trị hệ thống thông thường cần thiết để vận hành một máy chủ web.

Giải pháp sử dụng Cpanel hoặc phần mềm tương tự

cPanel biên dịch phiên bản phần mềm của riêng mình.

Nếu bạn cần biên dịch lại máy chủ web (Apache) trên nền tảng Linux thông thường, bạn phải tự chọn hoặc tìm kiếm các mô-đun cần thiết. cPanel cung cấp chức năng EasyApache, một phương pháp biên dịch máy chủ web dựa trên tập lệnh.

Giải pháp sử dụng Cpanel hoặc phần mềm tương tự

Nó không chỉ cung cấp cho bạn các dịch vụ web mà còn... Mail, DNS, FTP và nhiều dịch vụ khác cần thiết cho ứng dụng web của bạn.

Những tác vụ cần đến kiến ​​thức chuyên sâu về hệ điều hành Linux hoặc Unix, chẳng hạn như cài đặt SSL, biên dịch lại Apache với các module PHP khác nhau, cập nhật bảo mật web, cấu hình các quy tắc IPTABLE hiệu quả, thêm người dùng FTP, tạo tài khoản email cho từng tên miền, quét thư mục gốc bằng phần mềm diệt virus và tạo cơ sở dữ liệu, đều dễ dàng thực hiện với cPanel.

Nó cung cấp rất nhiều tập lệnh giúp sửa lỗi, cài đặt và khắc phục sự cố các tác vụ quản trị thông thường.

Nó cung cấp chức năng sao lưu và phục hồi, loại bỏ nhu cầu sao chép thủ công các tệp vào nơi lưu trữ sao lưu. Nếu bạn đang sao lưu tên miền của mình, cPanel sẽ tạo một tệp nén tar chứa thư mục gốc, tài khoản email và thư từ, tài khoản FTP, cơ sở dữ liệu, bản ghi DNS và các ứng dụng khác.

Nó cũng cung cấp tài liệu hướng dẫn đầy đủ và có một cộng đồng người dùng rất lớn, nơi bạn có thể thảo luận và tìm giải pháp cho các vấn đề của mình.

Vì vậy, người ta có thể nói rằng cPanel Đây là một ứng dụng mạnh mẽ để quản lý máy chủ web của bạn với các tính năng cần thiết. Nó cung cấp giao diện dễ sử dụng để quản lý tên miền của bạn và một cơ chế giúp tránh sự phức tạp khi quản lý máy chủ web cốt lõi.

Có rất nhiều sản phẩm cạnh tranh với cPanel, chẳng hạn như Plesk, ISPConfig, Ajenti, Kloxo, Open Panel và ZPanel.

Câu Hỏi Thường Gặp

Chọn Apache cho hosting dùng chung, ghi đè file .htaccess và nhúng PHP thông qua mod_php. Nginx phù hợp với việc phân phối nội dung tĩnh có độ đồng thời cao hoặc làm proxy ngược.

Mã lỗi 403 báo hiệu quyền truy cập bị cấm hoặc hạn chế thư mục, 404 là tài nguyên bị thiếu, 500 là lỗi máy chủ và 503 có nghĩa là máy chủ phụ trợ bị quá tải hoặc không khả dụng.

mod_rewrite cho URL Các quy tắc, mod_ssl cho HTTPS, mod_headers để điều chỉnh phản hồi, mod_deflate để nén và mod_proxy để làm máy chủ proxy ngược cho máy chủ ứng dụng.

Đúng vậy. Trợ lý AI có thể xem xét các đoạn mã httpd.conf, giải thích các quy tắc mod_rewrite, đề xuất các bản vá lỗi VirtualHost và phân tích các mục error_log để tìm ra nguyên nhân gốc rễ có thể xảy ra.

Các nhóm sử dụng AI để dự báo các đợt tăng đột biến lưu lượng truy cập, điều chỉnh số lượng tiến trình xử lý MPM, gắn cờ các mẫu nhật ký bất thường và đề xuất các tinh chỉnh bộ nhớ đệm hoặc nén dựa trên sự kết hợp các yêu cầu được quan sát.

Tóm tắt bài viết này với: