Thư mục Symlink / var / www


17

Tôi đã cố gắng tạo một liên kết tượng trưng:

/ var / www -> / home / NGƯỜI DÙNG / mã /

Theo /programming/9104337/create-a-symbolic-link-of-directory-in-ubfox , tôi đã nhập lệnh sau:

sudo ln -s / var / www / home / NGƯỜI DÙNG / mã

Tuy nhiên, kết quả không như tôi mong đợi. Liên kết của tôi được lưu trữ bên trong thư mục / www thay vì liên kết chính thư mục www. Tôi sử dụng apache làm máy chủ web cục bộ, trong trường hợp của tôi, tôi phải truy cập mã của mình dưới dạng

localhost / code / DỰ ÁN

trong khi tôi muốn có một cái gì đó như

localhost / DỰ ÁN

Thư mục codesẽ chỉ phục vụ như một thư mục nơi tôi lưu trữ tất cả các dự án của tôi.

Bất cứ điều gì tôi đang bỏ lỡ?


1
Bạn đã xóa wwwthư mục? Nó sẽ tạo một liên kết tượng trưng trong www nếu www tồn tại. Nó sẽ tạo ra một liên kết tượng trưng gọi là www nếu www không tồn tại.
Mendhak

Không wwwcó còn nguyên vẹn. Symlink trong wwwthư mục không phục vụ mục đích tôi đã đề cập
user236603

Bạn không thể có hai mục có cùng tên (một thư mục và symlink trong trường hợp của bạn) trong cùng một thư mục. Ý bạn là gì khi bạn nói /var/www/file.txt? Bạn phải quyết định ...
Rmano

Bạn nên đọc lại bình luận của @ Shah ... bạn cần xóa wwwvà sau đó tạo liên kết tượng trưng.
GabrielF

Câu trả lời:


3

Xóa (hoặc di chuyển, để an toàn) wwwthư mục trước khi bạn tạo liên kết tượng trưng.

Vì vậy, bạn nên có một /var, nhưng không nên có /var/www. Sau đó, và chỉ sau đó, một liên kết tượng trưng được gọi wwwsẽ được tạo trỏ đến thư mục localhost / code / dự án của bạn.


1
câu trả lời được chấp nhận này là sai, trước hết bạn nói "xóa" hoặc "di chuyển" trong khi chúng ta đang nói về các lệnh vì vậy bạn cũng nên đặt lệnh shell tương ứng. Thứ hai, anh ta có nguồn và đích sai trong lệnh ln!
sarah.ferguson

1
-1 để trả lời câu hỏi không được hỏi và không chỉ ra vấn đề thực sự mà người dùng đang mắc phải.
Shadur

29

Tôi nghĩ rằng bạn có ln -s'nguồn' và 'mục tiêu' sai vòng


SAU :

sudo ln -s /var/www /home/USER/code


ĐÚNG:

sudo ln -s /home/USER/code /var/www


bạn sẽ kết thúc với một liên kết tượng trưng trong /home/USER/codethư mục của bạn chỉ ra var/wwwsai.

Ví dụ: tôi có một thư mục cho trang web của sally trong /home/webs/sallybydesign/

cd /var/www

Không nên có thư mục hoặc tập tin có tên sallybydesigntrong /var/wwwbởi vì chúng ta sẽ phải thực hiện một.

 sudo ln -s  /home/ndmaque/webs/sallybydesign /var/www/sallybydesign

để xem tệp mới (một liên kết tượng trưng)

ls -l

bạn sẽ thấy một tập tin được gọi sallybydesign, đó là một liên kết tượng trưng đến home/webs/sallybydesignthư mục của bạn và nếu bạn chạy

ls sallybydesign/ 

bạn sẽ thấy các tập tin trong home/webs/sallybydesignthư mục của bạn .

Nếu vậy, bạn có thể trỏ tệp vhost của mình vào /var/www/sallybydesignvà nó sẽ tự động kế thừa tất cả các /var/wwwquyền apache và giải quyết một loạt các vấn đề.


Có điều gì đó thay đổi trong biểu tượng liên kết vài bản cập nhật cuối cùng với Ubuntu không? Tôi dường như không thể thực hiện liên kết tượng trưng nữa và tôi gặp lỗi 403 nổi tiếng.
Daniel


1
Các quyền không được tự động kế thừa theo mặc định. Đảm bảo chmod 0755 -Rbật sallybydesigntrong ví dụ trên để cho phép máy chủ web đọc. Ngoài ra, bạn phải AllowOverride Alltrong thư mục mặc định cho / (thường là trong apache.conf).
Daniel

ls sally /, đã nhận Too many levels of symbolic links.
Adi Prasetyo
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.