Apache2: Заборонено Ви не маєте дозволу на доступ / dir / на цьому сервері


17

Я можу отримати доступ, localhostале не до підкаталогівindex.html

Моє default confвиглядає так:

<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

Навіть після дозволу read/edit/writeдоступу до каталогу, його відображається Заборонена помилка. Спробував усі можливі шляхи на форумах, не працював. У когось є рішення.

Між вище я спробував щось для sub directoryдоступу:

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

Підкажіть, будь ласка, можливе рішення. Спасибі!

Відповіді:


17

Давайте зробимо чіткий привид:

<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>

Потім переконайтеся, що ви встановили потрібний дозвіл на зразок цього:

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

Я так і зробив. Ще те саме. А також відмовилися апачі. Чи варто спробувати змінити замість нього в apache.conf?
Shobhit Sharma

Ось річ. Я спробував змінити кореневий каталог, щоб індекс моєї домашньої папки та його все ще вказував на / var / www. Треба знайти правильний файл конф.
Shobhit Sharma

@ShobhitSharma Спробуйте оновити. Якщо ви намагаєтесь знайти свій каталог vhost у домашній папці, вам слід створити іншу зміну vhost лише DocumentRoot /var/wwwзамість зміни типової.
Ачу

Просто здорово. Потрібно лише додати користувача www-data. тепер усі мої користувачі локальної мережі можуть використовувати контент
DearDhruv
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.