Mengkonfigurasi Izin untuk FTP dan Apache

10

Saya memiliki server web (Apache2) yang saya akses dengan FileZilla.

Di server web saya, saya memiliki dir / home / admin / www yang saya ikat ke / var / www. Jadi saya bisa mengaksesnya dengan FTP. Ini berfungsi sempurna!

Tetapi setiap kali saya me-restart server web saya, saya harus melakukan bind lagi dan lagi. Tidak bisakah saya mengatakan kepada server web saya bahwa peta-peta itu harus selalu diikat? Juga saya perlu mengatur ulang semua izin saya setiap kali lagi, apa yang saya lakukan salah?

Ontwikkelaar Bij Debugged
sumber

Jawaban:

13

Solusi yang lebih baik dan lebih aman (saya merasa tidak nyaman dengan internet memiliki akses ke folder rumah admin!) Adalah membuat folder webroot di /

Waktu terminal!

cd /
sudo mkdir /webroot
sudo groupadd webdev
sudo usermod -a -G webdev yourusername 
sudo chown www-data:webdev /webroot/

Sekarang arahkan apache ke root dokumen / webroot baru Anda di bagian bawah konfigurasi apache Anda. Ini dapat ditemukan di sini: /etc/apache2/apache2.conf

sudo nano /etc/apache2/apache2.conf

Untuk menyimpan CTRL-O, CTRL-X untuk keluar di nano jika Anda tidak terbiasa dengannya.

Cukup ganti DocumentRoot /var/www/dengan/webroot/

Salin file web Anda sekarang ke webroot.

sudo /etc/init.d/apache2 reload

Apache sekarang seharusnya sudah restart dengan semua konfigurasi dimuat.

Ini telah membuat direktori di root yang disebut webroot, dimiliki oleh apache2, dan pemilik grup adalah webdev grup baru, yang sekarang ditambahkan ke anggota Anda oleh anggota (ini tidak menggantikan grup mana pun!). Ini akan memungkinkan Anda untuk mengedit file di FTP!

Ini adalah solusi yang sangat sederhana untuk server apache satu situs web. Lebih banyak pekerjaan diperlukan jika Anda berencana menjalankan beberapa situs (misalnya, membuat folder terpisah di webroot)

Keuntungan dari ini adalah bahwa jika seseorang menemukan kerentanan, mereka dikunci ke dalam folder webroot, dan bukan folder rumah Anda! Juga jika Anda perlu memperbolehkan lagi pengguna untuk memodifikasi situs, Anda dapat menambahkan pengguna mereka ke grup webdevsudo usermod -a -G theirusername webdev

Semoga ini membantu!

Salam Hormat

Laice
sumber
Bukan masalah :) apakah Anda keberatan jika saya mengganti nama judul untuk lebih mencerminkan jawaban yang telah saya berikan?
Laice
tentu saja tidak :-)
Ontwikkelaar Bij Debugged
untuk beberapa alasan saya tidak mendapatkan webdev pengguna seperti itu ketika saya menggunakan perintah Anda> sudo groupadd webdev saya mencoba ini dan sepertinya berhasil. Lagipula menambahkan pengguna di file / etc / group. sudo usermod -a -G wwwlogin webdev
Benaya
Ini salah saya, dalam jawaban saya, saya memutar pengguna dan grup secara tidak sengaja, ini dikoreksi oleh Damon, pelajaran bisa dipetik!
Laice
@ Damon, saya pikir Anda perlu mengatur izin yang sesuai sehingga pemilik (www-data) dan grup (webdev) memiliki izin yang sama seperti untuk direktori: harus 775 (bukan default 755) dan 664 (bukan 644 ) untuk file.
Eduardo B.