Apache2: Yasak Bu sunucuda / dir / dizinine erişim izniniz yok


17

localhostAlt dizinlere erişebilirim ama erişemiyorumindex.html

Benim default confgibi görünüyor:

<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/writeDizine erişime izin verdikten sonra bile , Yasak hatası gösteriyor. Forumlarda mümkün olan tüm yolları denedim, işe yaramadı. Herkesin bir çözümü var.

Yukarıdaki arasında sub directoryerişim için bir şey denedim :

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

Lütfen bana olası çözümü öner. Teşekkürler!

Yanıtlar:


17

Hayaleti netleştirelim:

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

Ardından, aşağıdaki gibi doğru izni ayarladığınızdan emin olun:

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

Ben de öyle yaptım. Hala aynı. Apache de yeniden başlatıldı. Bunun yerine apache.conf dosyasında değişiklik yapmayı denemeli miyim?
Shobhit Sharma

Işte burada. Kök dizini, ana klasör dizinime değiştirmeye çalıştım ve hala / var / www 'i işaret ediyor. Doğru conf dosyasını bulmalıyım.
Shobhit Sharma

@ShobhitSharma Lütfen güncellenmiş olanı deneyin. Vhost dizininizi ana klasöre bulmaya çalışıyorsanız DocumentRoot /var/www, varsayılanı değiştirmek yerine yalnızca farklı bir vhost değişikliği oluşturmanız gerekir .
Achu

Harika. Sadece www-data kullanıcısını eklemeye gerek yok. şimdi tüm yerel ağ kullanıcı içeriği kullanabilir
DearDhruv
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.