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.