Apache2: Cấm Bạn không có quyền truy cập / dir / trên máy chủ này


17

Tôi có thể truy cập localhostnhưng không phải là thư mục conindex.html

Hình của tôi default confnhư:

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/*/>
    Allow from None
    Order allow,deny
</Directory>
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Ngay cả sau khi cho phép read/edit/writetruy cập vào thư mục, nó vẫn hiển thị lỗi Cấm. Đã thử tất cả các cách có thể trong các diễn đàn, đã không làm việc. Bất cứ ai cũng có một giải pháp.

Giữa những điều trên tôi đã thử một cái gì đó để sub directorytruy cập:

<Directory /var/www/*/>
    Allow from None
    Order allow,deny
</Directory>

Xin đề nghị tôi giải pháp có thể. Cảm ơn!

Câu trả lời:


17

Hãy làm cho vhost rõ ràng:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Sau đó, đảm bảo bạn đặt quyền đúng như thế này:

sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rw /var/www

Tôi đã làm như vậy. Vẫn giống nhau. Khởi động lại apache là tốt. Thay vào đó, tôi có nên cố gắng sửa đổi trong apache.conf không?
Shobhit Sharma

Đây là điều. Tôi đã cố gắng thay đổi thư mục gốc, đến chỉ mục thư mục nhà của tôi và nó vẫn trỏ đến / var / www. Phải tìm tập tin conf đúng.
Shobhit Sharma

@ShobhitSharma Vui lòng thử cập nhật. Nếu bạn cố gắng định vị thư mục vhost của mình vào thư mục nhà, bạn chỉ nên tạo một thay đổi vhost khác thay DocumentRoot /var/wwwvì sửa đổi mặc định.
Achu

Tuyệt vời Chỉ cần thêm người dùng dữ liệu www. bây giờ tất cả người dùng mạng cục bộ của tôi đều có thể sử dụng nội dung
DearDhruv
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.