Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Linux

Giải quyết lỗi mod_authz_host trong Apache trên Linux – Hướng dẫn từng bước

Khi cài đặt dịch vụ apache2 trên Red Hat Enterprise Linux, Arch, Scientific Linux, Debian Server, Ubuntu Server hoặc bất kỳ bản phân phối nào khác hỗ trợ dịch vụ này, bạn có thể thấy rằng mình gặp lỗi về mô-đun mod_authz_host ngăn chặn việc thực thi dịch vụ. Bạn có thể thấy lỗi này xảy ra bất cứ khi nào bạn khởi động lại dịch vụ Apache2. Lỗi này thường xuất hiện dưới dạng cảnh báo cú pháp về dòng đầu tiên của tệp  nhưng về mặt lý thuyết, bạn có thể gặp một số lỗi khác.

Bất kể bạn gặp sự cố với dòng nào, cách khắc phục không liên quan nhiều đến việc mod_authz_host không được cài đặt hoặc thậm chí không được tải vào RAM. Trên thực tế, nếu bạn gặp phải lỗi này thì điều đó có nghĩa là dịch vụ máy chủ Apache2 đang tải mô-đun  chính xác. Vấn đề chỉ liên quan đến thực tế là một lệnh không đúng ở đâu đó và việc sắp xếp lại mã sẽ khắc phục vấn đề của bạn khá nhanh chóng. Xin lưu ý rằng đôi khi bạn sẽ thấy hướng dẫn cài đặt mod_authz_host trong apache2, điều này không liên quan đến cuộc thảo luận này. Lỗi của bạn không đến từ việc thiếu gói cụ thể cũng như không đến từ bất kỳ loại phụ thuộc chưa được đáp ứng nào. Cách các nhà phát triển chọn cách diễn đạt những lỗi này dẫn đến những quan niệm sai lầm phổ biến này.

Sửa các Chỉ thị Mô-đun limit.conf

Để thảo luận, chúng tôi sẽ sử dụng bách khoa toàn thư về phân phối Linux tại distrowatch.com cho các ví dụ của chúng tôi. Tài liệu chính thức của Apache2 sử dụng dev.example.com làm ví dụ và trong mọi trường hợp, bạn sẽ không muốn sử dụng một trong hai địa chỉ này.

Mở tệp  bằng trình chỉnh sửa văn bản. Vì đây là thư mục được bảo vệ nên bạn cần có quyền truy cập root. Chúng tôi đã sử dụng , nhưng bạn cũng có thể sử dụng vi hoặc trình soạn thảo văn bản khác mà bạn thích. Bạn thậm chí không nhất thiết phải sử dụng trình chỉnh sửa bảng điều khiển nhưng hãy đảm bảo sử dụng gksu thay vì sudo nếu thích hợp.

Sau khi bạn tải tệp xong, hãy chú ý đến nội dung có nội dung như sau:

Từ chối đơn hàng, cho phép

Từ chối tất cả

Cho phép từ distrowatch.com

Văn bản này chỉ nên tồn tại bên trong khối. Lưu ý khoảng trống trong thẻ đầu tiên. Nếu bạn có dòng văn bản đó nổi xung quanh bên ngoài bất kỳ khối nào, hãy thêm thẻ xung quanh nó hoặc di chuyển nó để nó đọc như sau:

    Từ chối đơn hàng, cho phép

    Từ chối tất cả

    Cho phép từ distrowatch.com

Hãy nhớ rằng bạn sẽ cần thay thế distrowatch.com bằng URL thực tế mà bạn đang làm việc. Nếu bạn tìm thấy bất kỳ dòng nào tham chiếu trực tiếp đến dev.example.com thì bạn đã sao chép chúng trực tiếp từ mã ví dụ hoặc chúng được thêm theo mặc định. Miền example.com chỉ tồn tại để minh họa trong các tài liệu kỹ thuật và không phục vụ mục đích thực sự nào. Tài liệu chính thức tại httpd.apache.org/docs/2.2/howto/access.html thực sự có tham chiếu đến chúng. Bạn có thể xóa chúng một cách an toàn khi thêm văn bản mới vào.

Nếu bạn cần đưa một thư mục vào tệp limit.conf của mình thì bạn có thể thay thế các thẻ bằng thẻ, nhưng bạn cần đảm bảo duy trì khoảng trống trong thẻ đầu tiên một lần nữa. Đảm bảo lưu tài liệu rồi đóng tài liệu trước khi khởi động lại dịch vụ Apache2. Từ nay trở đi bạn sẽ không gặp phải bất kỳ vấn đề nào nữa.

Đây là ý nghĩa của máy chủ Apache khi nó trả về một lỗi như:

Lỗi thực tế sẽ có số dòng thay cho octothorpe, nhưng điều đó cho thấy rằng các lệnh không được đặt an toàn bên trong các thẻ nói trên. Bạn có thể muốn điều hướng trực tiếp đến dòng được đưa ra trong lỗi khi gỡ lỗi tập lệnh để kiểm tra xem nó có vấn đề gì. Mặc dù lỗi được đề cập sẽ cho bạn biết rằng nhật ký lỗi Apache có thể có nhiều thông tin hơn nhưng nó có thể chỉ củng cố các khái niệm tương tự được thảo luận ở đây.

Các lỗi cú pháp trong tương lai có thể được sửa theo cách tương tự. Bạn có thể thấy rằng sau khi sửa lỗi đó, dịch vụ Apache2 lại phát sinh một lỗi khác. Điều này là bình thường, nghe có vẻ lạ vì nó chỉ thực thi mã cho đến dòng đầu tiên mà nó phát hiện thấy có vấn đề. Nếu có vấn đề gì đó xảy ra sau này, thì vấn đề đó sẽ không bao giờ xảy ra với họ. Nếu bạn gặp phải bất kỳ vấn đề nào như vậy thì hãy chú ý đến số dòng khi chỉnh sửa tệp . Nếu bạn đang sử dụng nano để chỉnh sửa tệp, bạn luôn có thể giữ phím Ctrl và nhấn phím C để tìm dòng mà con trỏ của bạn hiện đang ở. Điều này sẽ giúp quá trình gỡ lỗi diễn ra suôn sẻ hơn nhiều.

Bạn có thể thấy rằng bạn có nhiều khối trôi nổi xung quanh theo cách không gắn liền với bất cứ thứ gì. Mỗi trong số này cần phải có thẻ trên chúng. Hãy xóa các khối bổ sung bất cứ lúc nào bạn thấy mình có nhiều bản sao của cùng một URL có cùng chỉ thị chính xác vì những bản sao này có thể gây ra sự cố. Nói chung, bạn chỉ cần có một bản sao duy nhất của bất kỳ URL cụ thể nào, vì bạn không nên chuyển các chỉ thị bổ sung về một URL tới máy chủ apache2 vì cuối cùng chúng có thể chống lại nhau.

GIỚI THIỆU TÁC GIẢ

Giải quyết lỗi mod_authz_host trong Apache trên Linux – Hướng dẫn từng bước

Mũi tên Kevin

Kevin Arrows là một chuyên gia công nghệ giàu kinh nghiệm và hiểu biết với hơn một thập kỷ kinh nghiệm trong ngành. Anh có chứng chỉ Chuyên gia Công nghệ được Chứng nhận của Microsoft (MCTS) và có niềm đam mê sâu sắc trong việc cập nhật những phát triển công nghệ mới nhất. Kevin đã viết nhiều về nhiều chủ đề liên quan đến công nghệ, thể hiện chuyên môn và kiến ​​thức của mình trong các lĩnh vực như phát triển phần mềm, an ninh mạng và điện toán đám mây. Những đóng góp của ông cho lĩnh vực công nghệ đã được các đồng nghiệp công nhận và tôn trọng rộng rãi, đồng thời ông được đánh giá cao nhờ khả năng giải thích các khái niệm kỹ thuật phức tạp một cách rõ ràng và ngắn gọn.