Saya tahu pertanyaan ini banyak ditanyakan, tetapi solusi yang saya lihat tidak berhasil untuk saya.
Saya hanya memiliki satu host virtual diaktifkan, dan saya mencoba untuk mengaktifkan akses ke folder yang tidak di bawah root dokumen
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
Alias /movies /home/username/Videos/Movies
<Directory /home/username/Videos/Movies/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Saya menetapkan /etc/apache2/envvars
sebagai berikut
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=public
Saya memastikan bahwa / home / nama pengguna / Video / dan sub foldernya dimiliki oleh username:public
, mengatur izin ke 777 (setelah 775 tidak berfungsi) dan memastikan bahwa pengguna www-data
milik grup public
.
Sekarang, ketika saya menelusuri http://localhost/movies
saya dapatkan
[Mon Apr 21 11:28:14.971844 2014] [core:error] [pid 1385:tid 140067725104896] (13)Permission denied: [client 127.0.0.1:46603] AH00035: access to /movies/ denied (filesystem path '/home/username/Videos') because search permissions are missing on a component of the path
Tetapi ketika saya mengatur /etc/apache2/envvars
untuk menjalankan Apache di bawah username
(nama pengguna saya sendiri) semuanya berfungsi dengan baik. Masalahnya terkait izin, tapi saya tidak melihat bagaimana dalam kasus saya; terutama ketika saya mengatur izin 777
. Ada ide?
Versi PS Ubuntu 14,04, Apache 2,4,7 dan saya tidak mengedit file konfigurasi lainnya.
/home
ACL Anda diaktifkan? (ada tanda "+" di akhir bit izin jika itu kasusnya (periksa dengan ls -l
))