Saya menggunakan Ubuntu Desktop 11.04 biasa dan memasang tumpukan lampu saya menggunakan server-lampu. Saya mencoba menggunakan Netbeans sebagai IDE saya.
Saat ini, semua virtual host dijalankan dari /var/www/vhostname
— tetapi karena saya belum mengonfigurasi grup atau izin apa pun, jika saya mencoba membuka file apa pun melalui Netbeans, file tersebut tidak memiliki izin menulis.
Bagaimana cara mengatur izin (atau mengkonfigurasi Apache atau Netbeans) dengan benar sehingga:
- File yang dibuat dengan script php bisa
rw
oleh Netbeans - File yang dibuat oleh Netbeans dapat berupa
rw
oleh Apache
Saya mencoba untuk chown
semuanya ke pengguna/grup saya yang memberi izin menulis kepada Netbeans, tetapi Apache tidak memiliki izin menulis.
Catatan:Ini murni untuk mesin pengembangan — tidak digunakan dalam produksi, dan saya satu-satunya pengguna di kotak ini.
PERBARUI
Saya dulu menggunakan metode dalam jawaban yang saya tandai sebagai diterima, tetapi sekarang saya melakukan sesuatu yang lebih sederhana:
- Saya mengatur Apache untuk dijalankan sebagai pengguna dan grup saya (ini dilakukan baik di httpd.conf, apache2.conf, atau envvars tergantung pada distro Anda)
- Saya chown /var/www ke pengguna dan grup saya
Voila, Apache memiliki akses baca/tulis, dan saya memiliki akses baca/tulis saat mengerjakan proyek.
Jawaban yang Diterima:
Apa yang saya sarankan untuk dilakukan sebagian besar telah dijelaskan dalam pertanyaan Tanya Ubuntu ini.
Untuk kasus khusus ini saya akan menginstal suPHP yang singkatnya memungkinkan Anda untuk mengeksekusi skrip PHP sebagai pengguna Anda di bawah Apache.
Dengan melakukan hal berikut:
sudo chown -R youruser:youruser /var/www
find /var/www/ -type d -exec chmod 0755 {} \;
find /var/www/ -type f -exec chmod 0644 {} \;
Instal suphp-common
dan libapache2-mod-suphp
dari ppa ini (Apa itu PPA dan bagaimana cara menggunakannya?)
Nonaktifkan mod_php5
dan aktifkan mod_suphp
sudo a2enmod suphp
sudo a2dismod php5
Perbarui host virtual Anda untuk menyertakan baris ini di bagian bawahnya:
suPHP_UserGroup youruser youruser
Mengganti youruser
dengan pengguna yang Anda gunakan untuk mengedit file di server. Mulai ulang Apache.
Mulai saat ini Apache akan mengeksekusi semua skrip php adalah pengguna Anda, yang berarti mereka dapat dimiliki oleh pengguna/grup Anda dan tidak perlu menggunakan izin gila seperti 777. Karena semuanya dijalankan sebagai pengguna Anda, semua file dibuat oleh php skrip akan dimiliki oleh pengguna Anda juga! Ada banyak hal keren lainnya yang dapat Anda lakukan dengan suPHP; namun, dari apa yang terdengar seperti inilah yang Anda perlukan untuk memulai.
Terkait:Ubuntu - Masalah mengunduh daftar paket karena kesalahan "Hash sum mismatch"?