Saya mengatur Berbagi Web dalam Preferensi Sistem pada Mac OS X 10.6 dan mengklik tautan yang diberikannya di sana. Sayangnya, Apache memberi saya kesalahan 403 ini:
Terlarang
Anda tidak memiliki izin untuk mengakses / ~ nama pengguna/index.html di server ini.
Menampilkan log akses: 10.0.1.2 - - [30/Jun/2010:16:25:15 -0700] "GET /~myusername/ HTTP/1.1" 403 210
Log kesalahan ditampilkan: [Wed Jun 30 16:26:09 2010] [error] [client 10.0.1.2] client denied by server configuration: /Users/myusername/Sites/
Anehnya, mengakses http: // localhost berfungsi dengan baik. Hanya dengan dua folder pengguna yang bermasalah, folder pengguna lain, yang lebih baru dari peningkatan sistem saya, berfungsi dengan baik.
Saya pernah menggunakan mesin ini di Leopard sebelumnya, jadi saya chodod semuanya ~/Sites
ke 755, yang tidak ada gunanya. Ada saran? Saya kira saya telah melakukan sesuatu pada mesin saya yang menyebabkan ini, karena saya tidak bisa membayangkan Apple mengacaukan sesuatu seperti ini.
Saya memang membuat PEAR dengan instruksi ini , tetapi saya tidak tahu apakah itu bisa menjadi penyebabnya.
sumber
Jawaban:
Apple memiliki dokumen pendukung untuk masalah ini . Memperbaiki masalah ini melibatkan menciptakan sebuah file
/etc/apache2/users/yourusername.conf
( yourusername menjadi akun nama pendek , misalnyadanielbeck
- itu biasanya nama folder rumah Anda di/Users
) dengan isi sebagai berikut:Setelah itu, jalankan
sudo chown root:wheel /etc/apache2/users/yourusername.conf
dan mulai ulang Apache.sumber
sudo apachectl restart
di terminal Anda.Agar Apache dapat melihat file, pengguna yang dijalankan oleh Apache (mungkin
www
atau_www
) harus memiliki akses ke direktori Situs pengguna ini. Setelah membaca / mengeksekusi akses ke konten~/Sites
tidak cukup, karena itu harus diizinkan untuk melintasi dari/
jalan setapak ke~/Sites
. Jadi pastikan/
,/Users
,/Users/myusername
, dan/Users/myusername/Sites
semua memiliki setidaknyaa+x
izin (bit eksekusi pada direktori memungkinkan kelas pengguna untuk melintasi direktori, bahkan jika Baca akses tidak diperbolehkan).Jika salah satu dari direktori tersebut tidak menunjukkan
x
set terakhir (yang untuk "yang lain"), maka gunakan sesuatu sepertichmod a+x ...
untuk mengaturnya untuk direktori itu.Jika ACL untuk salah satu dari direktori tersebut menunjukkan bahwa pengguna
www
telah secara khusus ditolak aksesnya, maka gunakan argumen yang sesuaichmod
untuk memperbaiki ACL.sumber
Sebagai referensi, saya hanya berurusan dengan ini, dan tidak ada jawaban di sini yang bekerja dalam kasus spesifik saya. Saya mengkonfigurasi host virtual, tetapi yang lebih penting, saya membutuhkan file htaccess saya untuk benar-benar berfungsi.
Saya mengubah "AllowOverride None" menjadi "AllowOverride All" di file /etc/apache2/users/USERNAME.conf saya, dan semua situs saya mulai dilarang.
Saya mengubahnya kembali dan kemudian mengubahnya hanya untuk satu situs di file httpd-vhosts.conf saya, dan hanya situs itu yang terlarang.
Setelah melihat log dan melihat masalahnya dengan penulisan ulang url dan kurangnya FollowSymLinks, saya kembali ke file USERNAME.conf. Saya beralih "AllowOverride None" ke "AllowOverride All" dan menambahkan "Opsi + FollowSymLinks" pada baris berikutnya.
Segalanya mulai bekerja. Saya berasal dari menggunakan xampp di windows dan memiliki banyak pengaturan ini sudah diatur di seluruh server untuk boneka seperti saya.
sumber
Options +FollowSymLinks
bekerja seperti mantra.Saya memiliki masalah yang sama: Akun saya (lama) tidak dapat diakses, tetapi akun pengguna lain yang dibuat setelah memutakhirkan ke Lion bekerja dengan baik.
Setelah memastikan /etc/apache2/users/USERNAME.conf Anda terlihat seperti ini:
lakukan root chown sudo: wheel /etc/apache2/users/USERNAME.conf
tampaknya pengaturan izin ini tidak diatur selama peningkatan OS, dan pengguna Apache tidak dapat membaca file konfigurasi, dan melempar kesalahan.
Setidaknya ini menyelesaikannya untuk saya.
sumber
sudo apachectl restart
setelah itu.pembaruan untuk Lion di 10/2011 saya juga harus menambahkan
UserDir diaktifkan sehingga /etc/apache2/extra/httpd-userdir.conf saya seperti ini:
sumber
Melanjutkan percakapan dari komentar pertanyaan awal - Lihat
/etc/apache2/httpd.conf
file Anda . Di mesin saya, saya punya ini:Saya curiga milik Anda dikomentari. Samar-samar saya ingat mengubah ini dengan tangan ketika pindah dari 10.5 ke 10.6 dan default berubah.
Ini mungkin jelas, tetapi Anda harus menggunakan
sudo
untuk mengedit file karena itu akan dimiliki oleh root.sumber
Kasus saya adalah XAMPP + Mac OS X 10.7 + Direktori di Folder Dropbox (referensi silang pertanyaan saya yang lain di Stack Overflow)
403 Akses Terlarang dilaporkan oleh Apache, oleh karena itu, saya mengikuti komentar di atas untuk mengubah Pengguna di
/XAMPP/xamppfiles/etc/httpd.conf
, dariUser nobody
menjadiUser my_user_name
. Mulai ulang Apache & berfungsi dengan baik.sumber
Anda mungkin tidak mengaktifkan Indeks . Jika tidak, Anda harus membuat file indeks (
index.html
atauindex.php
) atau menentukan file secara eksplisit, yaituhttp://localhost/~me/mypage.html
.sumber
~myusername
sama sekali saya percaya.http://localhost/
harus menunjuk ke/Users/youruser/Sites/
.