Nơi đặt trang web địa phương của tôi bắt đầu với phiên bản 2.4.7 của apache2?


50

Gần đây tôi đã cài đặt Ubuntu 14.04, sau đó tôi đã cài đặt lamp-servervà đặt các trang web của mình vào /var/wwwthư mục, nhưng khi tôi mở localhost trong trình duyệt thì không có gì. Tôi nghĩ điều đó đã xảy ra vì Zend đã cập nhật Apache.

Dù lý do có thể là gì, tôi muốn biết nơi giữ các tệp php của mình để tôi có thể truy cập chúng từ trình duyệt của mình.


Mặc dù không phải là câu trả lời cho câu hỏi của OP, nhưng câu trả lời sau đây có thể giúp một số khách truy cập vấp phải câu hỏi này trong khi cố gắng khắc phục một vấn đề có liên quan: Askubfox.com/a/525120/1183
augustin

Câu trả lời:


76

Phiên bản apache2 được xuất bản khi phiên bản Ubuntu 14.04 được tạo ra là 2.4.7 và bắt đầu với phiên bản này, dường như, vì lý do bảo mật, thư mục gốc mới cho máy chủ là:

/var/www/html

Vì vậy, từ bây giờ, đây là nơi bạn phải đặt các tệp cho trang web (cục bộ) của mình. Bạn không nên gặp vấn đề này một lần nữa với các bản cập nhật trong tương lai.


Dù sao, nếu bạn muốn thay đổi thư mục này bằng một thư mục khác, bạn phải sửa đổi (với quyền root) dòng sau từ /etc/apache2/sites-available/000-default.conftệp ( sudo nano /etc/apache2/sites-available/000-default.conf):

DocumentRoot /var/www/html

đến

DocumentRoot /path/to/another/directory

Sau này, để các thay đổi mới có hiệu lực, bạn phải khởi động lại máy chủ apache bằng lệnh sau:

sudo service apache2 restart

10
Thú vị, tôi đã cố gắng tìm kiếm lý do đằng sau động thái này. Nếu có ai quan tâm tôi đã tìm thấy báo cáo lỗi này trong Debian giải thích nó.
Dan

4
Tôi đang bị cấm lỗi sau khi thay đổi này.
Darshana

1
@Darshana Cấu hình mặc định trong apache2.4 không cho phép apache truy cập mọi thứ bên ngoài /var/www/html. Đặt trang web của bạn bất cứ nơi nào khác ngoài thư mục đó (hoặc thư mục con của nó), sẽ gây ra lỗi 403. Bạn cần phải thêm một <Directory /path/to/your/site>chỉ thị để configs vhost của bạn với một requirechỉ thị trong đó.
Dan

Điều này đã không làm việc cho tôi.
dùng124384

Tương tự ở đây .. Bây giờ nó cho tôi Lỗi 403 bị cấm! Tôi nên giải quyết nó như thế nào (Nói một cách đơn giản hơn, noober XIN)
abhishah901

27

Thay vì sửa đổi /etc/apache2/sites-available/000-default.conftrở lại phiên bản cũ, tôi thích giữ các tệp gói mặc định không được sửa đổi.

Một lý do cho điều này là vì vậy nó sẽ không bị hỏng trong lần nâng cấp tiếp theo mà có thể đặt lại 000-default.conftệp.
Bên cạnh đó, những sửa đổi như vậy không được thực hiện chỉ để làm phiền chúng tôi, việc sửa đổi đã được thực hiện vì một lý do chính đáng, vì báo cáo lỗi này trong Debian giải thích .

Máy chủ web của chúng tôi [sic] đặt gốc tài liệu mặc định thành / var / www, trong khi các quản trị viên trang web có xu hướng sử dụng /var/www/example.com. Điều này có ý nghĩa bảo mật nếu khách truy cập truy cập vào tài liệu gốc mặc định, bỏ qua gốc / giả định / tài liệu gốc của example.com. Điều đó có vấn đề nếu dữ liệu nhạy cảm được đặt bên ngoài gốc tài liệu được cho là (ví dụ: xem xét tệp cấu hình /var/www/example-com-db.conf giả định).

Một giải pháp tốt hơn sẽ là di chuyển các tập tin trang web từ /var/wwwđến /var/www/html/.

# 1. move all files excluding the `html` directory
sudo mv /var/www/[!html]* /var/www/html
# 2. Move the hidden files as well which are skipped in previous command
sudo mv /var/www/.[!.]?* /var/www/html/

Ngoài ra, một giải pháp khả thi khác là tạo một Máy chủ ảo khác và vô hiệu hóa máy chủ mặc định bằng lệnh sudo a2dissite 000-default

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.