di Apache pada Ubuntu saya sudah membuat vhost, tetapi di browser saya terus mendapatkan kesalahan "403 Akses terlarang"; log mengatakan " Klien ditolak oleh konfigurasi server: / home / remix / ".
Mencari solusi online saya menemukan banyak posting tentang akses direktori (Izinkan dari semua, dll), tetapi sejauh yang saya tahu saya sudah melakukannya. Di httpd-vhosts.conf ada kode berikut:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/opt/lampp/htdocs/"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/dummy-host.example.com-error_log"
CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "/home/remix/"
ServerName testproject
ServerAlias testproject
<Directory "/home/remix/">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Saya juga menambahkan
127.0.0.1 testproject
ke file / etc / hosts.
Juga, folder / home / remix / berisi file index.html dan vhosts diaktifkan di httpd.conf.
Apakah ada sesuatu yang tidak saya lihat?
Sunting: Ini adalah entri Apache error_log:
[Sat Aug 18 09:15:32.666938 2012] [authz_core:error] [pid 6587]
[client 127.0.0.1:38873] AH01630: client denied by server configuration: /home/remix/
linux
apache-2.2
ubuntu
virtualhost
Remix
sumber
sumber
Jawaban:
Ubah konfigurasi otorisasi Anda:
... ke versi Apache 2.4 yang sama.
Tinjau dokumen ikhtisar pemutakhiran untuk informasi tentang perubahan lain yang perlu Anda buat - dan perhatikan bahwa sebagian besar contoh konfigurasi dan bantuan yang Anda temukan di Google (dan juga situs ini) merujuk ke 2.2.
sumber
Periksa izin pada direktori. Saya berani bertaruh bahwa itu diatur untuk menolak akses ke siapa pun kecuali Anda sendiri, misalnya:
Jika Anda melihat dengan
drwx------
tepat, maka ini masalahnya. Perbaiki dengan menjalankan:sumber
Pastikan bahwa pengguna yang menjalankan
httpd
layanan memiliki akses ke direktori ini.sumber
User
param."klien ditolak oleh konfigurasi server" berarti server Linux itu sendiri melarang akses ke file, bukan Apache.
Jika menyediakan akses melalui perubahan izin / kepemilikan / keanggotaan grup tidak menyelesaikan masalah, penyebab rute mungkin SELinux melarang akses ke folder apa pun yang tidak memiliki konteks SE Linux yang sesuai seperti yang dijelaskan dalam 'Merelokasi Apache DocumentRoot di bawah Selinux' .
setenforce 0
membuat file dapat diaksessetenforce 0
membuat lagi file tidak dapat diaksesMaka pasti akses itu dilarang oleh SELinux apa pun izin file-nya.
sumber
Lain sederhana (tetapi gotcha rumit) yang dapat menyebabkan masalah ini bagi orang-orang adalah ketika direktori pengguna tidak di / home / * Tapi di tempat lain misalnya / nethome / *
Userdir.conf yang disediakan berisi sesuatu seperti ini: (tetapi dengan Userdir: dinonaktifkan)
Spesifikasi Direktori mengasumsikan ~ user == / home / user. Cukup ubah atau tambahkan spesifikasi Direktori untuk tempat direktori home pengguna sebenarnya.
Cukup jelas tapi butuh beberapa saat untuk mencari tahu !! :-P DUH!
misalnya ~ pengguna == / nethome / pengguna
Lihat juga otorisasi yang lebih terbuka pada Direktori itu secara umum.
sumber