Я пытаюсь найти лучший способ надежной настройки веб-приложений на моем сервере Arch Linux + nginx. Я делал это раньше, загружая и распаковывая, например, последнюю версию dokuwiki/wordpress в /srv/http/
, а затем настраивая ее вручную, редактируя конфигурационные файлы в этом месте, после смены владельца каталога на пользователя nginx
, Каждый раз, когда выходила новая версия веб-приложения (без встроенного механизма обновления), я повторял эту процедуру, перемещая существующие файлы конфигурации / данных из старого в новое местоположение.
Однако, безусловно, должен быть лучший способ поддержки (установки, обновления, резервного копирования) этих веб-приложений, особенно с учетом того, что у pacman
их много в репозиториях.
У меня есть несколько проблем с этим подходом, а также несколько вопросов, касающихся передовых методов поддержки веб-приложений на сервере:
- файлы, установленные из пакетов в Arch, обычно находятся в
/usr/share/webapps/
. Как насчет файлов данных / конфигурации? Я тоже их туда положу? Или я как-то их символически связываю? Как-нибудь автоматически копировать приложения оттуда в/srv/http
после каждого обновления? - при условии, что я буду ссылаться на эти каталоги или настроить nginx для чтения непосредственно из них, как насчет разрешений? Нужно ли вручную запускать
chown -R root:nginx /usr/share/webapps/new_webapp
после каждого обновления / установки? Или их права собственности автоматически устанавливаются для какой-либо группыwww
? - И последнее, но не менее важное: как насчет конфигурационных файлов этих веб-приложений при обновлении их пакетов? Разве они не будут перезаписаны (в худшем случае)
pacman
или будут созданы тонны файлов.pacnew
(в лучшем случае)?
Как webadmins обычно решают эту проблему? Какие ресурсы описывают лучшие практики в этом вопросе? Я уже использую puppet для управления настройкой различных пакетов, но "правильный" и простой в обслуживании способ установки веб-приложений все же ускользает от меня.