Memberikan kepemilikan direktori kepada pengguna apache? [duplikat]

22

Saya telah menginstal wordpress di LAMP. Karena saya baru ke Ubuntu. Jadi, saya Menggunakan tutorial online ini Cara menginstal wordpress di ubuntu secara manual

Tetapi ketika saya mencoba untuk memberikan kepemilikan direktori kepada pengguna apache itu tidak berfungsi, saya memberikan perintah berikut

sudo chown admin:www-data /var/www -R 
sudo chmod g+w /var/www -R

"admin" adalah nama yang saya pilih untuk pengguna basis data wordpress saya. Adakah yang bisa membimbing saya melalui ini?

arximughal
sumber
1
Untuk OS X saya telah menggunakan perintah ini .
Abduhafiz

Jawaban:

29

Jangan gunakan pengguna basis data sebagai pengguna UNIX. Gunakan www-data.

sudo chown -R www-data:www-data /var/www

Ada perbedaan antara pengguna basis data dan pengguna Apache. Pengguna Apache adalah satu-satunya yang benar-benar dapat membaca file. Pengguna basis data hanya dimaksudkan untuk memberikan / mengambil izin baca / tulis basis data.

Selain itu, pertahankan izin default dari pemasangan webapp. Jangan mengubahnya, kecuali untuk pengguna / grup pemilik. Jika Anda diperintahkan oleh webapp, ubah izin.


Jika Anda lebih mementingkan keamanan, Anda bisa menjalankan perintah berikut:

sudo chown -R $USER:www-data /var/www
sudo chmod -R 640 /var/www

Ini membuat file aktual yang dimiliki oleh pengguna Anda, sehingga hanya Anda (dan root) yang dapat memodifikasinya. Alasannya www-datadireferensikan adalah agar Apache masih dapat MEMBACA file, tetapi tidak benar-benar menulis kepada mereka.

The 640memungkinkan Anda (pemilik file) untuk membaca dan menulis, sementara mengizinkan www-datakelompok untuk membaca file. Itu juga memblokir orang lain dari kemungkinan membaca konten file.

(Di atas hanya satu metode yang mungkin ( belum diuji ). Cara yang lebih baik tersedia di sini. )

Kaz Wolfe
sumber
3
Ketahuilah bahwa itu bukan opsi yang paling aman. Lihat tautan yang saya berikan di atas untuk detailnya.
Panther