Назад | Перейти на главную страницу

Могу ли я динамически настраивать пользователей webdav из веб-приложения?

Я хотел бы предложить решение, позволяющее напрямую редактировать документы, размещенные в моем веб-приложении. Я понимаю, что WebDAV можно использовать для решения такой задачи, как Microsoft Office может открывать и сохранять файлы на сервере WebDAV.

Приложение - это в первую очередь PHP, Apache и база данных MySQL, работающая на сервере Linux.

Однако у меня есть новые пользователи, которые регулярно заходят в приложение, и мне нужно иметь возможность настроить доступ по WebDAV для этих пользователей при регистрации, чтобы предоставить им доступ для непосредственного редактирования и сохранения документов.

Есть ли способ настроить WebDAV для создания каталога для хранения файлов пользователей и разрешений WebDAV для доступа к нему через мое веб-приложение?

Я думаю о создании генератора файла конфигурации WebDAV, который можно запустить, когда новый пользователь добавлен, чтобы перестроить файл конфигурации для WebDAV, а затем скрипт cron, который запускается каждые полчаса или что-то, что может скопировать новый файл конфигурации поверх старый (сохраните резервную копию) и перезагрузите конфигурацию для WebDav. Но поскольку WebDAV работает через apache, я не знаю, вызовет ли это кратковременную проблему для веб-приложения.

Возможно, если я укажу, что существует задержка до 24 часов для активации системы, генерации и перезагрузки новой конфигурации каждый день, когда система не используется.

Я могу ответить на часть вопроса, касающуюся Apache. Вы можете выполнить команду «перезагрузить» вместо команды «запустить, остановить, перезапустить», и она перезагрузит конфигурацию без прерывания работы ваших веб-служб Apache. Вы можете выполнять перезагрузку каждые 15 минут, если хотите, чтобы обновления вступали в силу чаще.

Вы можете настроить mod_dav для использования Subversion или файловой системы ОС для хранения ваших данных. Subversion предлагает некоторые возможности для управления пользователями и что-то вроде концепции вашего домашнего каталога, которую, возможно, придется исследовать. Создание репозиториев для контента «на лету» - это концепция, используемая при управлении репозиториями исходного кода. Возможно, вы сможете использовать существующий код для того, что пытаетесь сделать.

Кроме того, инструменты управления и администрирования репозитория исходного кода достаточно продвинуты, чтобы предложить дополнительную поддержку для управления вашим контентом и пользователями.

Я желаю вам удачи в вашем проекте и надеюсь услышать о нем больше.