Saya mencoba menyiapkan server apache di laptop Kubuntu 13.04 saya. Saya telah menginstal paket apache2 dan sudo a2enmod userdir; sudo service apache2 restart
, tetapi masih ketika saya mengunjungi http://localhost/~user
, ia mengatakan sesuatu seperti ini:
Forbidden
You don't have permission to access /~user on this server.
Apache/2.2.22 (Ubuntu) Server at localhost Port 80
Hasil dari tail /var/log/apache2/access.log
127.0.0.1 - - [02/Aug/2013:16:22:01 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:16:22:02 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:17:35:30 +0200] "GET /~kaiyin HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:17:35:30 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:17:35:30 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:17:36:26 +0200] "GET /favicon.ico HTTP/1.1" 404 499 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:17:36:26 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:21:05:17 +0200] "GET /~kaiyin HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:21:05:17 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
127.0.0.1 - - [02/Aug/2013:21:05:17 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36"
Hasil dari tail /var/log/apache2/error.log
[Fri Aug 02 21:05:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:05:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:06:54 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:06:54 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:06:59 2013] [error] [client 127.0.0.1] (13)Permission denied: access to /~kaiyin denied
[Fri Aug 02 21:06:59 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:06:59 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:07:17 2013] [error] [client 127.0.0.1] (13)Permission denied: access to /~kaiyin denied
[Fri Aug 02 21:07:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Fri Aug 02 21:07:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
public_html
direktori untuk pengguna? Apakah pengguna yang menjalankan apache memiliki izin untuk membacanya?Jawaban:
The
public_html
direktori harus memiliki hak akses mereka seperti ini sehingga pengguna bahwa Apache berjalan sebagai akses dapat itu:masih belum bekerja?
Jika Anda melihat log kesalahan Apache Anda, Anda mungkin melihat baris seperti ini:
Ini memberi tahu Anda bahwa Apache tidak memiliki izin untuk bernavigasi ke direktori pengguna Anda (~ kaiyin) dalam contoh ini.
Bagaimana cara memperbaikinya?
Anda perlu memastikan bahwa bit baca + eksekusi diatur untuk grup yang mana Apache merupakan anggota atau bit baca + eksekusi lainnya diatur pada direktori pengguna juga sehingga Apache dapat mengakses
public_html
folder di bawah.Contoh
Referensi
sumber
/var/log/httpd/access.log
) dan (/var/log/httpd/error.log
) untuk melihat apakah ada pesan tambahan.public_html
; itu akan dilakukan pada public_html juga jika Anda tidak memerlukan daftar file, jika tidak Apache akan perlu membaca juga (jadi 755/750 daripada 711/710).Pastikan Anda memiliki pengaturan yang benar
/etc/apache2/mods-enabled/userdir.conf
. Saya mendapat izin ditolak setelah chmodding public_html saya dan kemudian memutuskan untuk memeriksauserdir.conf
. Saya perhatikan ada pengaturan untuk versi apache sebelumnya, dan juga yang lebih baru. Saya tahu saya sedang menjalankan yang terbaru sehingga mengaktifkan pengaturan yang lebih baru dan sekarang semua bekerja dengan baiksumber
Anda juga dapat menggunakan
/etc/hosts
file untuk menghilangkan kebutuhan URL sementara. Jika ada referensi untuk URL lengkap dalam tema atau plugin (jika ada), situs tidak akan menampilkan konten dalam format yang tepat.sumber