Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Rozwiązanie dla aplikacji saas
Forum PHP.pl > Forum > Przedszkole
tomos
Dzień dobry,
Mam aplikację autorską systemy rezerwacji pisaną w czystym php bez frameworka.
Odsprzedaję ją klientom, którzy chcą jej użyć na swojej stronie internetowej .I jak mam klienta to za każdym razem tworzę nowe konto na moim VPS i kopiuję wszystkie pliki, tworzę bazę danych itp.Jest to dość męczące i problematyczne w aktualizacji tych aplikacji typu poprawki, nowe funkcje itp.
Więc wpadłem na pomysł, żeby to małym nakładem pracy przerobić i teraz widzę takie rozwiązania coś jak saas:

1.Rozwiązanie
Zrobić coś na zasadzie, że każde nowo stworzone konto od razu pobiera dane np z /home/systemrezerwacji/, potem robie w plikach config, że system rozpoznaję, z jakiej domeny pochodzi wejście i w pliku config przydziela mu dostęp do bazy oraz katalogu do dodawania swoich plików, zdjęć itp. I nawet wiem jak to zrobić ale administrator VPS mi tego odradził bo powiedział że np jak jeden system rezerwacji zostanie złośliwie zaatakowany to haker będzie miał dostęp do tych plików i jak namiesza to wszystkie systemy rezerwacji ucierpią bo korzystają z tych samych plików źródłowych.I chyba ma rację.

2.Rozwiązanie
Otwieram nowe konto na VPS automatycznie do nowego konta kopiują się pliki ze wskazanego katalogu np /home/systemrezerwacji/ itp i tworzy się baza danych.Z tym wyjątkiem że funkcje lub całe pliki pobiera przez api curl z głównego katalogu czyli np /home/systemrezerwacji/. Będzie łatwiej aktualizować błędy itp.I tu pytanie :
- czy idzie poprzez curl zrobić tak żeby pobierał do używania cały plik php
- czy ta metoda jest bezpieczna czy np w razie ataku haker będzie miał dostęp do pliku który się pobiera za pomocą curl z /home/systemrezerwacji/ i będzie mógł ingerować w ten plik? chodzi o to czy będzie miał dostęp do tego pliku w katalogu głównym /home/systemrezerwacji/

3.Rozwiązanie (rozważałem to rozwiązanie ze względu na bezpieczeństwo i niezależność systemów rezerwacji)
Otwieram nowe konto na VPS automatycznie do nowego konta kopiują się pliki ze wskazanego katalogu np /home/systemrezerwacji/ itp i tworzy się baza danych.Ale do aktualizacji plików np poprawki błedów oraz dodawania nowych funkcjonalności używam curlfile czyli wysyłam pliki z głównego serwera a na systemach rezerwacji jest odbiór uploadowanych plików w ten sposób systemy rezerwacji będą zawsze aktualne itp.

Proszę o sugestie jak to powinno wyglądać, które z tych rozwiązań ma najlepsze zastosowanie? Z góry napiszę że przerabianie tego lub pisanie od nowa np w laravel nie wchodzi w gre.
Pyton_000
Ja bym napisał coś w Ansible do automatyzacji tego procesu. Wtedy dodajesz sobie tylko kilka wpisów konfiguracyjnych, odpalasz i masz gotowy system. Do tego dodatkowy moduł (Role) do robienia update.

Innym pomysłem może być użycie dockera. Zamykasz swój kod PHP w obrazie, wysyłasz do registry (prywatne koniecznie) a na maszynkach robisz docker pull; docker rm; docker run


A jeśli nie chcesz się bawić to 3 chyba najwygodniejsze. Robisz sobie jakiś mały Bash skrypt który kopiuje pliki projektu do wszystkich klientów, zakłada bazy itd.
tomos
Dzięki za odpowiedź. Inne sugestie mile widziane
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.