Truy cập apache linux
Thứ tư, 07/08/2013 | 00:00 GMT+7 Show
Apache là gì?Apache là web server phổ biến nhất trên internet. Nó được sử dụng để phục vụ hơn một nửa số trang web đang hoạt động. Mặc dù có rất nhiều web server khả thi sẽ phục vụ nội dung của bạn, nhưng sẽ rất hữu ích nếu bạn hiểu cách Apache hoạt động vì tính phổ biến của nó. Trong bài viết này, ta sẽ xem xét một số file cấu hình chung và các tùy chọn có thể được kiểm soát trong chúng. Bài viết này sẽ tuân theo cách bố trí Ubuntu / Debian của file Apache, khác với cách các bản phân phối khác xây dựng cấu hình phân cấp. Cách cài đặt Apache trên Ubuntu và DebianNếu bạn chưa cài đặt Apache, bạn có thể thực hiện việc này ngay bây giờ bằng cách đưa ra các lệnh sau: sudo apt-get update sudo apt-get install apache2 Đây là tất cả những gì cần thiết để có một web server hoạt động. Nếu bạn truy cập địa chỉ IP của VPS trong trình duyệt web, bạn sẽ nhận được trang index Apache mặc định: your_domain_name_or_ip_address It works! This is the default web page for this server. The web server software is running but no content has been added, yet. Cấu trúc folder-file Apache trong Ubuntu và DebianTrên Ubuntu và Debian, Apache giữ các file cấu hình chính của nó trong folder "/ etc / apache2": cd /etc/apache2 ls -F apache2.conf envvars magic mods-enabled/ sites-available/ conf.d/ httpd.conf mods-available/ ports.conf sites-enabled/ Có một số file văn bản thuần túy và một số folder con trong folder này. Đây là một số vị trí hữu ích hơn cần quen thuộc:
Như bạn thấy , cấu hình Apache không diễn ra trong một file nguyên khối mà thay vào đó diễn ra thông qua thiết kế module nơi các file mới có thể được thêm vào và sửa đổi khi cần thiết. Nhìn vào file Apache2.confChi tiết cấu hình chính cho server Apache của bạn được lưu trong file "/etc/apache2/apache2.conf". Tệp này được chia thành ba phần chính: cấu hình cho quy trình server Apache global , cấu hình cho server mặc định và cấu hình Server ảo. Trong Ubuntu và Debian, phần lớn file dành cho các định nghĩa chung và cấu hình của server mặc định và server ảo được xử lý ở cuối, bằng cách sử dụng lệnh "Bao gồm ...". Lệnh "Bao gồm" cho phép Apache đọc các file cấu hình khác vào file hiện tại tại vị trí mà câu lệnh xuất hiện. Kết quả là Apache tự động tạo một file cấu hình bao quát khi khởi động. Nếu bạn cuộn xuống cuối file , sẽ có một số câu lệnh "Bao gồm" khác nhau. Các định nghĩa module tải này, tài liệu port.conf, các file cấu hình cụ thể trong folder "conf.d /" và cuối cùng là các định nghĩa Server ảo trong folder "sites-enable /". Ta sẽ tập trung vào phần đầu tiên của file để tìm hiểu cách Apache xác định cài đặt chung của nó. Phần cấu hình globalPhần này được sử dụng để cấu hình một số tùy chọn kiểm soát toàn bộ cách Apache hoạt động. Có một số tùy chọn thú vị mà bạn có thể cần sửa đổi trong phần này: Hết giờTheo mặc định, tham số này được đặt thành "300", nghĩa là server có tối đa 300 giây để thực hiện mỗi yêu cầu. Đây có lẽ là quá cao đối với hầu hết các cài đặt và có thể giảm xuống một cách an toàn trong repository ảng từ 30 đến 60 giây. Cố sống điTùy chọn này, nếu được đặt thành "Bật", sẽ cho phép mỗi kết nối vẫn mở để xử lý nhiều yêu cầu từ cùng một ứng dụng client . Nếu điều này được đặt thành "Tắt", mỗi yêu cầu sẽ phải cài đặt một kết nối mới, điều này có thể dẫn đến chi phí đáng kể tùy thuộc vào cài đặt và tình hình giao thông của bạn. MaxKeepAliveRequestsĐiều này kiểm soát số lượng yêu cầu riêng biệt mà mỗi kết nối sẽ xử lý trước khi chết. Giữ con số này cao sẽ cho phép Apache phân phối nội dung đến từng khách hàng hiệu quả hơn. Đặt giá trị này thành 0 sẽ cho phép Apache phục vụ số lượng yêu cầu không giới hạn cho mỗi kết nối. KeepAliveTimeoutCài đặt này chỉ định thời gian chờ đợi yêu cầu tiếp theo sau khi hoàn thành yêu cầu cuối cùng. Nếu đạt đến ngưỡng thời gian chờ, kết nối sẽ chết. Điều này chỉ nghĩa là lần tiếp theo nội dung được yêu cầu, server sẽ cài đặt một kết nối mới để xử lý yêu cầu đối với nội dung tạo nên trang mà khách hàng đang truy cập. Cấu hình MPMPhần tiếp theo chỉ cấu hình của các tùy chọn MPM (Mô-đun đa xử lý). Bạn có thể tham khảo chéo phần cài đặt Apache của bạn đã được biên dịch bằng cách thoát vào terminal và nhập: apache2 -l Compiled in modules: core.c mod_log_config.c mod_logio.c prefork.c http_core.c mod_so.c Như bạn thấy , trong server này, "prefork.c" là một module đã được biên dịch và cũng nằm trong file "apache2.conf". Cài đặt của bạn có thể có nhiều để lựa chọn, nhưng chỉ có thể chọn một. Bạn có thể điều chỉnh cấu hình của MPM làm việc trước trong phần thích hợp. Khám phá file server ảo mặc địnhKhai báo Server ảo mặc định có thể được tìm thấy trong file có tên "mặc định" trong folder "trang web có sẵn". Ta có thể tìm hiểu về định dạng chung của file Server ảo bằng cách kiểm tra file này. Mở file bằng lệnh sau: sudo nano /etc/apache2/sites-available/default
Server ảo mặc định được cấu hình để xử lý bất kỳ yêu cầu nào trên cổng 80, cổng http tiêu chuẩn. Điều này được định nghĩa trong tiêu đề khai báo có ghi "*: 80", nghĩa là cổng 80 trên bất kỳ giao diện nào. Tuy nhiên, điều này không nghĩa là nó nhất thiết phải xử lý từng yêu cầu đến server trên cổng này. Apache sử dụng định nghĩa Server ảo cụ thể nhất phù hợp với yêu cầu. Điều này nghĩa là nếu có một định nghĩa cụ thể hơn, nó có thể thay thế định nghĩa này. Cấu hình server ảo cấp cao nhấtCác tùy chọn này được đặt trong định nghĩa Server ảo bên ngoài bất kỳ khai báo phụ cấp thấp hơn nào khác. Chúng áp dụng cho toàn bộ Server ảo. Tùy chọn "ServerAdmin" chỉ định một email liên hệ sẽ được sử dụng khi có sự cố server . Điều này có thể được chèn vào trang lỗi nếu bạn đặt "ServerSignature" thành "Email" trong file "/etc/apache2/conf.d/security", vì vậy hãy đảm bảo bạn sẵn sàng nhận thư nếu bạn điều chỉnh cài đặt đó . Nếu ta đang sử dụng định nghĩa này làm mẫu cho các định nghĩa Server ảo khác, ta muốn thêm định nghĩa "Tên server " chỉ định domain hoặc địa chỉ IP mà yêu cầu này sẽ xử lý. Đây là tùy chọn sẽ thêm tính cụ thể cho Server ảo, cho phép nó vượt trội hơn định nghĩa mặc định nếu nó trùng với giá trị Tên server . Bạn cũng có thể đặt Server ảo áp dụng cho nhiều tên bằng cách sử dụng định nghĩa "ServerAlias". Điều này cung cấp các đường dẫn thay thế để đến cùng một nội dung. Một trường hợp sử dụng tốt cho điều này là thêm cùng một domain , đứng trước "www". Tùy chọn "DocumentRoot" chỉ định nơi chứa nội dung được yêu cầu cho Server ảo này. Server ảo mặc định được cài đặt để cung cấp nội dung ngoài folder "/ var / www" trên Ubuntu. Định nghĩa folderTrong định nghĩa Server ảo, có các định nghĩa về cách server xử lý các folder khác nhau trong hệ thống file . Apache sẽ áp dụng tất cả các hướng này theo thứ tự từ ngắn nhất đến dài nhất, vì vậy sẽ có cơ hội overrides các tùy chọn trước đó. Định nghĩa folder đầu tiên áp dụng các luật cho folder "/", hoặc folder root . Điều này sẽ cung cấp cấu hình cơ sở cho Server ảo của bạn, vì nó áp dụng cho tất cả các file được cung cấp trên hệ thống file . Theo mặc định, Ubuntu không cài đặt bất kỳ hạn chế truy cập nào vào hệ thống file . Apache khuyên bạn nên thêm một số hạn chế truy cập mặc định. Bạn có thể sửa đổi điều này như vậy:
Điều này sẽ từ chối quyền truy cập vào tất cả nội dung trừ khi được chỉ định khác trong các định nghĩa folder tiếp theo. Định nghĩa folder tiếp theo dành cho folder root , vì vậy nó chỉ định tùy chọn "cho phép từ tất cả" overrides tùy chọn "/" cho folder này. Tùy chọn "AllowOverride" được sử dụng để quyết định xem file ".htaccess" có thể overrides cài đặt hay không nếu nó được đặt trong folder nội dung. Điều này không được phép theo mặc định, nhưng có thể hữu ích để bật trong nhiều trường hợp. Câu lệnh Alias và ScriptAliasĐịnh nghĩa folder đôi khi được đặt trước câu lệnh "Bí danh" hoặc "ScriptAlias". Bí danh ánh xạ một đường dẫn url đến một đường dẫn folder . ScriptAlias hoạt động theo cách tương tự, nhưng được sử dụng để xác định các folder sẽ có các thành phần thực thi trong đó. Ví dụ: dòng này trong Server ảo xử lý yêu cầu đến "example.com" sẽ cho phép truy cập vào nội dung trong "/ path / to / content /" bằng cách chuyển đến "example.com/content/": Alias /content/ /path/to/content/ Tiếp theo alias , bạn nên nhớ xác định folder với các quyền truy cập như đã thảo luận trong phần trước. Bật các trang web và module trong ApacheSau khi bạn có file Server ảo đáp ứng yêu cầu của bạn , bạn có thể sử dụng các công cụ đi kèm với Apache để chuyển chúng thành các trang trực tiếp. Để tự động tạo một softlink trong folder "hỗ trợ trang web" đến file hiện có trong folder "trang web có sẵn", hãy chạy lệnh sau: sudo a2ensite virtual_host_file_name Sau khi kích hoạt một trang web, hãy chạy lệnh sau để yêu cầu Apache đọc lại các file cấu hình của nó, cho phép thay đổi phổ biến: sudo service apache2 reload Ngoài ra còn có một lệnh đồng hành để tắt Server ảo. Nó hoạt động bằng cách xóa softlink khỏi folder "hỗ trợ trang web": sudo a2dissite virtual_host_file_name , hãy reload cấu hình để thực hiện thay đổi: sudo service apache2 reload Mô-đun có thể được bật hoặc tắt bằng cách sử dụng lệnh "a2enmod" và "a2dismod" tương ứng. Chúng hoạt động theo cách giống như version "trang web" của các lệnh này. Hãy nhớ reload các thay đổi cấu hình của bạn sau khi các module đã được bật hoặc tắt. Kết luậnTa đã xem qua một số file cấu hình Apache cơ bản. Apache rất linh hoạt và rất module , vì vậy nhu cầu cấu hình sẽ khác nhau tùy thuộc vào cài đặt của bạn. Bạn nên hiểu rõ các file cấu hình chính được sử dụng để làm gì và cách chúng tương tác với nhau. Nếu bạn cần biết về các tùy chọn cấu hình cụ thể, các file được cung cấp sẽ được comment tốt và Apache cung cấp tài liệu tuyệt vời . Hy vọng rằng các file cấu hình sẽ không còn đáng sợ như bây giờ và bạn thấy phù hợp hơn khi thử nghiệm và sửa đổi cho phù hợp với nhu cầu của bạn . Tags: Các tin liên quan Cách thiết lập Apache với Chứng chỉ SSL đã ký miễn phí trên VPS |