Apache, arka planda çalışan bir programdır. Apache başlangıçta kullanıcı tarafından başlatılır root
(ayrıca denir root-process
). Bu root-process
, müşteri isteklerini yerine getiren birkaç alt işlem başlatır. Güvenlik nedeniyle, alt işlemler kullanıcı tarafından değil root
, en az ayrıcalıklara sahip bir kullanıcı olarak çalıştırılır . Genellikle bu kullanıcının adı apache
veya www-data
.
Bunun apache v1 için hangi kullanıcı olduğunu bulmak için:
ps -ef | grep httpd | grep -v grep
veya apache v2 için:
ps -ef | grep apache | grep -v grep
Apache 2'nin sonucu şöyle olacaktır:
root 5001 10 0 07:21? 00:00:00 / usr / sbin / apache2 -k başlangıcı
www-veri 5021 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k başlangıcı
www-veri 5022 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k başlangıcı
www-veri 5023 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k başlangıcı
Bu durumda kullanıcı / grup www-data
Bu nedenle, bir web sunucusu tarafından bir dizini yazılabilir yapmak için direktörün sahibini veya grubunu Apache'nin sahibine veya grubuna ayarlamalı ve yazma iznini etkinleştirmeliyiz. Genellikle, dizini Apache grubuna ( apache
veya “www-data ya da alt süreçleri başlatmak için hangi kullanıcı kullanılırsa) ait olacak şekilde ayarlıyoruz ve grup için yazma iznini etkinleştiriyoruz.
chgrp www-data /path/to/mydir
chmod g+w /path/to/mydir
( Yukarıdaki komutla www-data
bulduğunuz isim ps
).
ilgili olarak:
2) Ayrıca uygulama / çalışma zamanı dizinini web üzerinden yazılabilir yapmam istendi. Bu apache ile yazılabilir olarak aynı mı?
Evet, bu Apache'nin beklediği gruba yazılabilir olarak ayarlamanız gereken bir dizin. Muhtemelen bu bir yerde olacak /var/www/
veya içinde /etc/apache2/sites-enabled/
ve / veya içinde sanal bir ana bilgisayar olarak ayarlanmış/etc/apache2/sites-available