Apache2: Terlarang Anda tidak memiliki izin untuk mengakses / dir / di server ini

17

Saya dapat mengakses localhosttetapi tidak pada sub direktoriindex.html

default confPenampilan saya seperti:

<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

Bahkan setelah mengizinkan read/edit/writeakses ke direktori, itu menampilkan kesalahan Terlarang. Mencoba semua kemungkinan jalan keluar di forum, tidak berhasil. Siapa pun punya solusi.

Antara di atas saya mencoba sesuatu untuk sub directoryakses:

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

Tolong sarankan saya solusi yang mungkin. Terima kasih!

Shobhit Sharma
sumber

Jawaban:

17

Mari kita perjelas vhost:

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

Kemudian pastikan Anda menetapkan izin yang benar seperti ini:

sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rw /var/www
Achu
sumber
Saya melakukannya. Masih sama. Restart apache juga. Haruskah saya mencoba memodifikasi di apache.conf saja?
Shobhit Sharma
Ini masalahnya. Saya mencoba mengubah direktori root, ke indeks folder rumah saya dan masih menunjuk ke / var / www. Harus menemukan file conf yang tepat.
Shobhit Sharma
@ShobhitSharma Silakan coba yang diperbarui. Jika Anda mencoba mencari direktori vhost ke folder home, Anda harus membuat perubahan vhost yang berbeda hanya DocumentRoot /var/wwwalih-alih memodifikasi yang default.
Achu
Bagus sekali. Hanya perlu menambahkan pengguna data-www. sekarang semua pengguna jaringan lokal saya dapat menggunakan konten
DearDhruv