Поскольку я программист, а не администратор, я надеюсь, что вы можете мне помочь:
В настоящее время я пишу веб-приложение, которое использует (XML) файлы конфигурации, которые пользователь сможет также редактировать через само приложение (в веб-интерфейсе).
Таким образом, приложению необходимы права на чтение и запись для них.
И когда пакет приложения обновляется в системе, он, конечно, должен использовать уже существующие файлы конфигурации, которые уже использовала более старая версия. (Поскольку формат файлов конфигурации может незначительно меняться от версии к версии, процесс обновления также может изменять / обновлять файлы конфигурации)
Итак, где находится официальное (Debian) и строго официальное (LSB/FHS) место для этих файлов?
/etc/myWebApp/config/
(с символическойWEBROOT/myWebApp/config -> /etc/myWebApp/config/
)?WEBROOT/myWebApp/config/
?- где-нибудь еще?
И как организовать процесс обновления? Просто переименуйте старые файлы конфигурации в config_*.xml.160207
и переведите их содержимое в новый формат в config_*.xml
? Или использовать каталог конфигурации для каждой версии?
Как следует обрабатывать понижение версии пакета (например, когда PPA создан для бета-тестеров и пользователь хочет отказаться от бета-тестирования и вернуться к стабильным версиям)? Автоматическое обратное переименование или оставить это пользователю, чтобы это исправить самому?
Примечание. В этом случае "пользователь" является администратором веб-приложения. Таким образом, он имеет все полномочия, чтобы изменить файлы конфигурации. (Но не обязательно много Linux знает как и часто не является root). Тогда "конечный пользователь" будет реальным пользователем приложения и его настроенного контента.