Как сделать multi-tenant приложение из обычного PHP приложения? Есть ли готовые фреймворки для такой задачи?
Вроде бы задача должна быть довольно частая, но пока не получается сформулировать вопрос, который помог бы найти ответ в гугле.
Есть веб-приложение, которое спроектировано без поддержки множественных аккаунтов. И нужно сделать возможность пользователям при регистрации на сайте получать функционал этого приложения, но независимо от других пользователей.
Напрашивается решение сделать для каждого пользователя свою «копию» этого веб-приложения. Вроде бы, достаточно для этого сделать свою БД для каждого пользователя. Таким образом, при регистрации пользователя создаём ему свою базу данных (и, возможно, свою директорию с конфигурационными файлами). Заходя на сайт, пользователь перенаправляется на это веб-приложение так, чтобы оно работало с БД и конфигами этого пользователя (возможно, потребуется немного дописать веб-приложение, чтобы оно брало базу, исходя из регистрационных данных пользователя, — это допустимо).
Тут два вопроса:
1) Нормальное ли это решение, или есть решение лучше?
2) Вроде бы проблема типовая. Есть ли какие-то готовые системы или библиотеки, в которых уже есть эти функции? (Я имею в виду, процесс создания/удаления БД со структурой и файлов, соединённый с user management. Кажется, это что-то похоже на хостинг.)
Есть веб-приложение, которое спроектировано без поддержки множественных аккаунтов. И нужно сделать возможность пользователям при регистрации на сайте получать функционал этого приложения, но независимо от других пользователей.
Напрашивается решение сделать для каждого пользователя свою «копию» этого веб-приложения. Вроде бы, достаточно для этого сделать свою БД для каждого пользователя. Таким образом, при регистрации пользователя создаём ему свою базу данных (и, возможно, свою директорию с конфигурационными файлами). Заходя на сайт, пользователь перенаправляется на это веб-приложение так, чтобы оно работало с БД и конфигами этого пользователя (возможно, потребуется немного дописать веб-приложение, чтобы оно брало базу, исходя из регистрационных данных пользователя, — это допустимо).
Тут два вопроса:
1) Нормальное ли это решение, или есть решение лучше?
2) Вроде бы проблема типовая. Есть ли какие-то готовые системы или библиотеки, в которых уже есть эти функции? (Я имею в виду, процесс создания/удаления БД со структурой и файлов, соединённый с user management. Кажется, это что-то похоже на хостинг.)