Apache, це програма, що працює у фоновому режимі. Apache спочатку запускається користувачем root
(його також називають root-process
). Це root-process
запускає кілька дочірніх процесів, які обробляють запити клієнта. З міркувань безпеки дочірні процеси виконуються не користувачем, root
а користувачем з мінімальними привілеями. Зазвичай цього користувача називають apache
або www-data
.
Щоб дізнатися, що це за користувач apache v1:
ps -ef | grep httpd | grep -v grep
або для apache v2:
ps -ef | grep apache | grep -v grep
Результат для apache 2 буде приблизно таким:
корінь 5001 1 0 07:21? 00:00:00 / usr / sbin / apache2 -k початок
www-дані 5021 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k початок
www-дані 5022 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k початок
www-дані 5023 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k початок
У цьому випадку користувач / група є www-data
Отже, для того, щоб зробити веб-сервер каталогізним для каталогу, ми повинні встановити власника або групу каталогу власнику або групі Apache та надати дозвіл на запис на нього. Зазвичай ми встановлюємо, що каталог належить до групи Apache ( apache
або `www-data або будь-який користувач, який використовується для запуску дочірніх процесів) і даємо дозвіл на запис для групи.
chgrp www-data /path/to/mydir
chmod g+w /path/to/mydir
( www-data
це ім'я, яке ви знайшли за допомогою ps
команди вище).
Щодо:
2) Мені також сказали зробити каталог додатків / програм виконання для веб-запису. Це те саме, що апач для запису?
Так, це каталог, який потрібно встановити для групи, яку очікує Apache. Можливо, це буде десь /var/www/
або він встановлений як віртуальний хост в /etc/apache2/sites-enabled/
та / або/etc/apache2/sites-available