GNU/Linux >> Belajar Linux >  >> Ubuntu

Ubuntu – Bagaimana Mengonfigurasi Izin Untuk Mengizinkan Gedit, Apache, Dan Ide Bermain Bersama?

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:

  1. Saya mengatur Apache untuk dijalankan sebagai pengguna dan grup saya (ini dilakukan baik di httpd.conf, apache2.conf, atau envvars tergantung pada distro Anda)
  2. 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"?
Ubuntu
  1. Cara Menginstal Apache ZooKeeper di Ubuntu

  2. Cara Menginstal dan Mengkonfigurasi Squid 3 di Ubuntu

  3. Cara Menginstal dan mengkonfigurasi server web Apache di Ubuntu 13.10

  1. Cara Menginstal dan Mengonfigurasi Nextcloud dengan Apache di Ubuntu 18.04

  2. Cara Menginstal dan Mengamankan phpMyAdmin dengan Apache di Ubuntu 18.04

  3. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 18.04

  1. Cara Menginstal dan Mengkonfigurasi Redmine di Ubuntu 18.04

  2. Cara Menginstal dan Mengkonfigurasi ownCloud dengan Apache di Ubuntu 18.04

  3. Cara Menginstal dan Mengonfigurasi Samba di Ubuntu 18.04