Saya ingin mengatur server web lokal di Ubuntu saya (14.04). Jadi saya menginstal semua perangkat lunak untuk mendapatkan server LAMP.
Masalahnya adalah saya melakukan sesuatu yang salah dengan membuat virtualhosts saya. Saya ingin membuat subdomain yang berbeda di localhost saya. Jadi misalnya site1.localhost dan site2.localhost.
Dalam /var/www/
direktori saya , saya membuat tautan simbolik "site1" ke /home/user/Workspaces/site1
.
Dalam file error.log Apache saya, saya mendapatkan kesalahan berikut.
[core:error] [pid 12679] [client 127.0.0.1:59006] AH00037: Symbolic link not allowed or link target not accessible: /var/www/site1
Dalam konfigurasi apache saya, saya punya:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Jadi saya pikir ada sesuatu yang salah dengan izin folder. Saya mencari di Google dan saya menemukan beberapa orang dengan masalah yang sama tetapi semua jawaban yang diberikan di sana tidak berhasil. Saya menambahkan nama pengguna saya sendiri ke grup data-www dan hal-hal seperti itu.
Jadi ls -la /var/www
kembali:
total 12
drwxrwsr-x 3 user www-data 4096 okt 13 19:08 .
drwxr-xr-x 14 root root 4096 okt 1 22:50 ..
drwxr-xr-x 2 root www-data 4096 okt 1 22:50 html
lrwxrwxrwx 1 root www-data 29 okt 13 19:08 site1 -> /home/user/Workspaces/site1/
dan ls -la /home/juul/Workspaces/site1
mengembalikan:
total 24
drwxrwxr-x 4 user www-data 4096 okt 13 18:21 .
drwxrwx--- 3 user user 4096 okt 13 17:31 ..
-rw-rw-r-- 1 user user 0 okt 13 18:21 index.html
drwxrwxr-x 4 user www-data 4096 okt 13 16:12 .metadata
drwxrwxr-x 5 user www-data 4096 okt 13 16:53 Project
Semoga seseorang dapat membantu saya dengan ini :-)
sumber
Saya memiliki instalasi apache standar pada 14,04. Tidak ada file atau direktori yang menentukan "www-data". Apakah Anda mengubah semua ini sendiri? Ada banyak informasi yang ketinggalan zaman atau sekadar salah tentang cara menyiapkan server web, jadi berhati-hatilah dengan siapa yang Anda ikuti, dan batalkan apa yang tidak berhasil.
Yang mengatakan, "site1" harus di
html
direktori, dan dimiliki oleh Anda. Itu tidak benar-benar harus menjadi symlink; Anda dapat menentukan direktori lain di file konfigurasi. Sesuatu seperti ini:sumber
Solusi untuk: link simbolik tidak diperbolehkan atau link target tidak dapat diakses:
/var/www/html/mySymbolicLink
.Ini jelas merupakan masalah dengan izin. Masalahnya adalah bahwa html di bawah direktori home Anda dimiliki oleh pengguna Anda, dan server apache dijalankan oleh pengguna lain sehingga tidak dapat mengakses direktori home Anda.
Solusinya kemudian akan menambahkan pengguna menjalankan apache ke grup Anda, biasanya sama dengan nama pengguna Anda. Jadi, dalam kotak CentOS saya, saya melakukannya sebagai:
Jadi ini menambahkan apache pengguna ke grup dev. Sekarang saya perlu memberikan izin eksekusi.
Dalam
/home
:Ini akan memberikan izin eksekusi ke folder saya hanya untuk anggota grup. Dan itu saja. Anda akan perlu memodifikasi pengguna Apache untuk apa pun yang menjalankan server web Anda, saya percaya untuk Ubuntu pengguna
www-data
.sumber