Tại sao Mac OS X Lion Apache DocumentRoot / usr / htdocs?


15

Tôi bối rối.

Tôi không thấy nơi /usr/htdocsđược chỉ định là DocumentRoot cho apache2 trên Mac OS X Lion.

Đây là DocumentRoot mặc định trên bản cài đặt OSX Lion mới.

Ai đó có thể chỉ cho tôi nơi này được chỉ định?

Tôi đã xem trong toàn bộ /etc/apache2thư mục và không thể tìm thấy quy tắc đó.


không có gì trong cấu hình /etc/apache2/available-sites/*?
ragnq

Thiết lập OSX mặc định không sử dụng cấu trúc các trang có sẵn hoặc các trang được kích hoạt.
vinhboy

1
Nó không thể. Một bản cài đặt OS X Lion mới sử dụng /Library/WebServer/Documents, giống như các bản phát hành chính trước Lion, cũng là nơi nút Mở thư mục trang web máy tính trong các tùy chọn hệ thống »Chia sẻ» Chia sẻ web . Bạn đã cài đặt trình quản lý gói như Homebrew, Fink hoặc MacPorts; XAMPP hoặc một giải pháp tương tự của Apache? Đầu ra của which httpdps aux | grep httpdtrong Terminal là gì?
Daniel Beck

Tôi đã không cài đặt bất kỳ trình quản lý gói. Nhưng cảm ơn, tôi sẽ nhìn xuống con đường đó. Tôi thấy /Library/WebServer/Documentschỉ thị trong tệp httpd.conf. Tuy nhiên, nó rõ ràng đang bị ghi đè ở một nơi khác. Tôi đã thử làm theo tất cả các tham chiếu đến tệp .conf khác, nhưng vẫn chưa có may mắn.
vinhboy

Tại sao không grepcho /usr/htdocsvào máy của bạn và xem nó bị ghi đè ở đâu? - (/ cc @dan, bạn không nhận được câu trả lời cho việc này)
slhck

Câu trả lời:


14

Khi "Chia sẻ web" KHÔNG được bật, nó sẽ lấy /usr/htdocsquyền root. Khi bạn bật "Chia sẻ web", nó sẽ lấy tệp cấu hình tại /etc/apache2/httpd.conf. Thư mục sẽ là thư mục được chỉ định gần phần sau trên tệp.

<IfDefine WEBSHARING_ON>
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/Library/WebServer/Documents"

Ngoài ra, bạn có thể sử dụng thư mục "Trang web" của mình khi /Users/USERNAME/Sitestruy cập localhost/~USERNAME.


Tại chỗ trên. Cũng lưu ý dòng ServerRoot "/usr"- với Chia sẻ web TẮT và không có DocumentRoot thay thế được chỉ định, có vẻ như mặc định của Apache là tìm htdocstrong Root gốc được xác định.
rymo

Có đúng là một số <IfDefine WEBSERVICE> nên được bình luận kể từ khi là WEBSERVICE không?
Gucho Ca

0

Trước tiên hãy bật Chia sẻ web của bạn, Chuyển đến tùy chọn hệ thống -> Chia sẻ sau đó bật chia sẻ web. Tôi đã viết một bài về nó.


Bạn có thể thêm chi tiết? Bài viết của bạn chứa nhiều thông tin hơn những gì bạn nói ở đây.
Simon Sheehan

vì vậy anh ấy đã viết một bài đăng, đi và đọc nó và kết hợp chia sẻ web của bạn trong sư tử))) Tôi cũng đã làm điều này, trước đây tôi có thư mục "Trang web" trong thư mục nhà của tôi và mọi thứ đều hoạt động.
thánh

0

Q này đã giúp tôi giải quyết vấn đề tương tự trên SnowLeopard ngày hôm nay. Hãy coi chừng: đó là httpd.conftrong /private/etc/apache2 không /etc/apache2 (mà cũng tồn tại) mà đã đọc và chỉ ra /Library/WebServer/Documentstrong trường hợp của tôi.

Tôi hy vọng điều này sẽ giúp (những người khác cũng vậy).


Toàn bộ thư mục / etc là một liên kết đến / private / etc vì vậy hai cái này là một và giống nhau.
Fireandlight27

@ Fireandlight27 Tôi không nghĩ đó là trên SL, vì tôi sẽ viết khác. Tôi rất vui vì họ được liên kết trong trường hợp của bạn; Phiên bản HĐH nào?
P Marecki
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.