Saya pikir untuk mesin pengembangan, lebih nyaman untuk menjalankan Apache sebagai pengguna saat ini untuk menyederhanakan masalah izin? Bagaimana aku melakukan itu? Saya pikir suexec-nya tetapi bagaimana cara mengkonfigurasinya di Ubuntu + Apache?
permissions
apache2
Jiew Meng
sumber
sumber
Edit file berikut sebagai root: / etc / apache2 / envvars
menggunakan perintah:
ubah pengguna dan grup menjadi diri sendiri jika hanya ada satu pengguna dan Anda tidak akan pernah memiliki masalah izin lagi.
IE, jika Anda hanya masuk dan menjalankan server sebagai pengguna 'big_dog':
Heck, dalam hal ini Anda dapat mengubah pengguna itu menjadi pengguna saat ini saya yakin. Kemudian, instal user_dir Anda semua memiliki web saja Anda dapat memiliki kontrol penuh (kecuali Anda memodifikasi ini).
Mulai ulang server (jika tidak yakin, cukup reboot atau goole) dan Anda siap melakukannya.
sumber
sudo chown big_dog.big_dog /var/lock/apache2
sudo chown big_dog.big_dog -R /var/log/apache2
/etc/apache2/uid.conf
export APACHE_RUN_USER=#$(id -u)
memberikan id pengguna dan juga digunakanid -g
untuk grup dalam skrip dan pada akhirnya saya memanggil apache untuk dijalankan.mengapa Anda melakukan ini ,, Saya berjuang dengan masalah perm di masa lalu, tapi ini adalah proses dev saya mulai hari ini:
sudo apt-get install lamp-server^
proc standar untuk menyalakan lampubuat tautan sym ke dir home saya di mana proyek seperti ini:
ln -s /home/user/html /var/www/html
buat tautan sym ke file konfigurasi hosts
ln -s /home/user/html/Apache-VirtualHosts.conf /etc/apache/sites-enabled/000-default
itu dia :)
Ini berfungsi seperti yang diharapkan, tidak ada masalah dengan perms pengguna atau sesuatu yang mirip dengan server apache ,, untuk mysql saya punya sedikit proses lagi ..
hth, tepuk tangan
sumber
Menghindari masalah "harus Anda lakukan", Anda dapat menemukan di mana pengguna untuk apache diatur dengan menjalankan:
Ini kemudian kasus mengedit contoh-contoh di dalam
/etc/apache2/apache2.conf
dan memuat ulang Apache (sudo /etc/init.d/apache2 reload
).sumber
apache2.conf
tidak mengandungwww-
untuk sayagrep -HR "www-" /etc/apache2/
. Jika Anda sudah tahu itu di apache2.conf maka cukup edit file itu. Dalam kasus saya, itu tidak ada di sana, tetapi di / etc / apache2 / envvars sebagai jawaban Eric menunjukkan.apache.conf
mencari${APACHE_RUN_USER}
dan${APACHE_RUN_GROUP}
. Tidakwww-data
secara langsung.buat grup pengguna baru
webdev
dan tambahkanwww-data
pengguna ke dalamnya.Lalu, lanjutkan dan tambahkan pengguna Anda ke grup itu dan jadikan itu grup default untuk pengguna Anda.
Hal terakhir yang harus dilakukan adalah memastikan, grup webdev memiliki hak rwx pada file
Sekarang satu-satunya hal yang dapat terjadi adalah bahwa untuk misalnya www-data membuat file log baru dan Anda tidak dapat menjalankannya.
sumber
www-data
grup, khususnya karena kita berbicara tentang lingkungan pengembangan?