Pada mesin Mac OS 10.5 saya, saya ingin mengatur subfolder dari ~/Documents
seperti ~/Documents/foo/html
menjadi http: // localhost / foo .
Hal pertama yang saya pikirkan adalah menggunakan Alias sebagai berikut:
Alias /foo /Users/someone/Documents/foo/html
<Directory "/Users/someone/Documents/foo/html">
Options Indexes FollowSymLinks MultiViews
Order allow,deny
Allow from all
</Directory>
Ini membuat saya Terlarang. Di error_log saya mendapat:
[error] [client ::1] (13)Permission denied: access to /foo denied
Subfolder yang dimaksud memiliki akses chmod 755. Saya sudah mencoba menentukan suka suka http: //localhost/foo/test.php , tapi itu tidak berhasil. Selanjutnya, saya mencoba rute symlink.
Pergi ke /Library/WebServer/Documents
dan membuat symlink ke ~/Documents/foo/html
. Root dokumen memiliki
Options Indexes FollowSymLinks MultiViews
Ini masih membuat saya 403 Forbidden:
Symbolic link not allowed or link target not accessible: /Library/WebServer/Documents/foo
Apa lagi yang saya perlukan untuk mengatur ini?
Solusi :
$ chmod 755 ~/Documents
Secara umum, folder yang akan dibagikan dan semua folder leluhurnya harus dapat dilihat oleh www
pengguna layanan.
sumber
Jawaban:
Saya berani bertaruh bahwa beberapa direktori di atas yang ingin Anda akses tidak memiliki izin untuk membolehkan Apache melewatinya. Menjadi pengguna yang dijalankan Apache sebagai (
sudo -i -u apache
atau apa pun), kemudian coba ubah ke direktori yang menarik danls
itu. Jika Anda tidak dapat (seperti yang diharapkan), maka cobalah masuk ke direktori di atasnya, satu per satu, sampai satu memungkinkan Anda masuk. Subtitle dari itu adalah yang haruso+x
ditetapkan. Busurkan, bilas, ulangi sesuai kebutuhan.sumber
sudo -i -u _www
pada OS X (karena pengguna Apache adalah _www oleh dalam konfigurasi apache default pada OS X), maka saya melakukannyawhoami
, saya masih mendapatkan nama pengguna saya, bukan _wwwsudo - www-data
(untuk Ubuntu).Menggunakan
+FollowSymlinks
sumber
Periksa untuk memastikan bahwa file vault tidak diaktifkan. Saya memiliki masalah yang sama. Saya mencoba segala hal lain yang dapat saya temukan. Tidak ada yang berhasil. Tetapi setelah satu jam mencoba mencari tahu ini, saya ingat bahwa saya telah mengaktifkan file vault.
Menonaktifkan itu menyelesaikan masalah.
sumber
Periksa kepemilikan symlink. Karena Anda menggunakan Mac OS X, maka pemilik symlink dapat diubah. Dalam
/Library/WebServer/Documents
dols -l
Jika symlink Anda
~/Documents/foo/html
dipanggilfoo
dan memiliki izin sepertiKemudian secara default pada OS X Apache berjalan sebagai pengguna _www dan grup _www, jadi dalam kasus yang disebutkan di atas, Apache tidak akan dapat melintasi symlink ke
~/Documents/foo/html
Jalankan
man 8 chown
di terminal sistem Anda, atau lihat itu man chown onlineAnda akan melihat bahwa menggunakan
-h
opsi akan mengubah kepemilikan symlink itu sendiri, dan bukan file yang ditunjuknya (sumbernya). Maka Anda dapat melakukan sesuatu sepertiIni akan mengubah simlink menjadi
dan grup Apache _www akan dapat melintasi tautan.
sumber
Periksa direktori / Pengguna Anda (ls-l / Users) untuk melihat hak-hak pengguna Anda (seseorang).
Apakah direktori 'Situs' tersedia dengan benar di localhost / ~ seseorang?
sumber