Làm cách nào để định cấu hình apache2 với các liên kết tượng trưng trong / var / www /?


14

Tôi muốn thiết lập một máy chủ web cục bộ trên Ubuntu của mình (14.04). Vì vậy, tôi đã cài đặt tất cả phần mềm để có được một máy chủ LAMP.

Vấn đề là tôi đã làm gì đó sai với việc tạo các virtualhost của mình. Tôi muốn tạo các tên miền phụ khác nhau trên localhost của tôi. Vì vậy, ví dụ site1.localhost và site2.localhost.

Trong /var/www/thư mục của tôi, tôi đã tạo một liên kết tượng trưng "site1" /home/user/Workspaces/site1.

Trong tệp Apache error.log của tôi, tôi đã gặp lỗi sau.

[core:error] [pid 12679] [client 127.0.0.1:59006] AH00037: Symbolic link not allowed or link target not accessible: /var/www/site1

Trong cấu hình apache của tôi, tôi có:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

Vì vậy, tôi nghĩ rằng có điều gì đó sai với các quyền của các thư mục. Tôi đã tìm kiếm trên Google và tôi tìm thấy một vài người có cùng vấn đề nhưng tất cả các câu trả lời được cung cấp đều không có kết quả. Tôi đã thêm tên người dùng của riêng mình vào nhóm dữ liệu www và những thứ tương tự.

Vì vậy, ls -la /var/wwwtrả lại:

total 12
drwxrwsr-x  3 user www-data 4096 okt 13 19:08 .
drwxr-xr-x 14 root root     4096 okt  1 22:50 ..
drwxr-xr-x  2 root www-data 4096 okt  1 22:50 html
lrwxrwxrwx  1 root www-data   29 okt 13 19:08 site1 -> /home/user/Workspaces/site1/

ls -la /home/juul/Workspaces/site1trả lại:

total 24
drwxrwxr-x 4 user www-data 4096 okt 13 18:21 .
drwxrwx--- 3 user user     4096 okt 13 17:31 ..
-rw-rw-r-- 1 user user        0 okt 13 18:21 index.html
drwxrwxr-x 4 user www-data 4096 okt 13 16:12 .metadata
drwxrwxr-x 5 user www-data 4096 okt 13 16:53 Project

Hy vọng ai đó có thể giúp tôi với điều này :-)

Câu trả lời:


5

Các quyền này đang ngăn apachekhông cho bạn truy cập

drwxrwx--- 3 user user     4096 okt 13 17:31 ..

Bạn cần cấp quyền thực thi cho người khác:

chmod o+x /home/juul/Workspaces/

(và có lẽ /home/juul/cũng như vậy).


theo câu trả lời @muru, đảm bảo rằng tất cả các thư mục chứa có tập quyền "x". Nếu một người không có thì nó sẽ không bao giờ hoạt động
dawez

3

Tôi có một cài đặt apache tiêu chuẩn vào ngày 14.04. Không có tệp hoặc thư mục chỉ định "dữ liệu www". Bạn đã thay đổi tất cả những chính mình? Có rất nhiều thông tin lỗi thời hoặc đơn giản là không chính xác về cách thiết lập máy chủ web, vì vậy hãy cẩn thận với những người bạn theo dõi và hoàn tác những gì không hoạt động.

Điều đó nói rằng, "site1" phải nằm trong htmlthư mục và thuộc sở hữu của bạn. Nó không thực sự cần phải là một liên kết tượng trưng; bạn có thể chỉ định một thư mục khác trong tệp cấu hình. Một cái gì đó như thế này:

# Add this to the end of the existing 000-default.conf file (after "</VirtualHost>")
<VirtualHost *:80>
    <Directory  /home/user/Workspaces/site1>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    DocumentRoot /home/user/Workspaces/site1
    ServerName site1
</VirtualHost>

1

Giải pháp cho: Liên kết tượng trưng không được phép hoặc không thể truy cập mục tiêu liên kết : /var/www/html/mySymbolicLink.

Đây rõ ràng là một vấn đề với các quyền. Vấn đề là html trong thư mục chính của bạn thuộc sở hữu của người dùng của bạn và máy chủ apache được điều hành bởi một người dùng khác do đó không thể truy cập vào thư mục chính của bạn.

Giải pháp sau đó sẽ là thêm người dùng đang chạy apache vào nhóm của bạn, thông thường giống như tên người dùng của bạn. Vì vậy, trong hộp CentOS của tôi, tôi đã làm như sau:

sudo usermod -a -G dev apache

Vì vậy, điều này thêm người dùng apache vào nhóm dev. Bây giờ tôi cần phải cấp quyền thực thi.

Trong /home:

chmod g+x dev -R

Điều này sẽ cấp quyền thực thi cho thư mục của tôi chỉ cho các thành viên của nhóm. Và đó là nó. Bạn sẽ cần phải sửa đổi người dùng Apache cho bất cứ điều gì đang chạy máy chủ web của bạn, tôi tin cho Ubuntu người dùng là www-data.

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.