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!

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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.