Dokument zawiera opis aplikacji serwerowej fillup PremiumDB. System pozwala na persystencję danych pochodzących z systemu fillup Desktop, umożliwia równoczesną pracę operatorów fillup Desktop z zasobami firmy oraz przechowywanie danych na serwerach wewnątrz firmy.
Środowisko serwerowe
System operacyjny
Zalecamy instalację produktu na czystym środowisku Unix/Linux. Możliwa jest również instalacja aplikacji na środowisku Windows z użyciem programu WSL2 - Windows Subsystem for Linux – udostępniający zintegrowane środowisko systemu GNU/Linux z poziomu systemu Windows. WSL2 dostępne jest w systemach operacyjnych:
Nie są wspierane:
Instalacja aplikacji po raz pierwszy
1. Przygotowanie środowiska zgodnie z punktem Wymagania sprzętowe, na którym zostanie zainstalowany produkt.
2. Jeżeli planujesz zainstalować aplikację na systemie Windows:
Dalszą części instalacji aplikacji serwerowej fillup PremiumDB należy przeprowadzić z poziomu Linux - wywołanie komendy wsl - która uruchomi nam domyślną powłokę Linux i zaloguje na domyślnego użytkownika:
3. Zainstaluj środowisko uruchomienia kontenerów: docker w wersji co najmniej 20.10.16 (sprawdzenie wersji po instalacji: docker --version) oraz docker compose w wersji co najmniej 2.15.1 (sprawdzenie wersji po instalacji: docker compose version). Więcej informacji na stronie dostawcy rozwiązania: https://docs.docker.com/get-docker/ .
4. Przygotuj katalogi, do których aplikacja serwerowa będzie zapisywać dane. Katalogi powinny być dostępne dla każdego użytkownika systemu:
5. Pobierz najnowszą wersję aplikacji serwerowej PremiumDB - link dostarczony przez firmę e-file.
6. Utwórz katalog, z którego zostanie uruchomiona aplikacja serwerowa. Rozpakuj aplikację do utworzonego katalogu poleceniem z konsoli Linux: unzip efile-fillup-premium… . Rozpakowanie aplikacji poza systemem Linux w Windowsie lub kopiowanie plików może się wiązać z brakiem nadania odpowiednich praw plikom aplikacji, jak np.: prawa do wykonywania skryptu premium.sh.
7. Będąc w katalogu aplikacji skonfiguruj zmienne środowiskowe znajdujące się w pliku: premium.env. Przy definiowaniu wartości nie używaj znaku spacji, wartość powinna być przypisana bezpośrednio po znaku “=”:
8. Dodaj usera, na którym pracujesz do grupy docker:
sudo usermod -aG docker ${USER}
oraz dodaj katalog /.docker
mkdir /.docker
chmod 777 /.docker
9. Uruchom aplikację serwerową PremiumDB: ./premium.sh start
10. Sprawdź lokalnie czy system jest dostępny: curl http://localhost:8030/api/ping - system powinien zwrócić status 200 oraz tekst "OK" i numerem wersji.
11. Sprawdź czy katalogi persystencji danych nie są puste, wskazane pod zmiennymi:
PREMIUM_PREMIUMDB_DATA_PATH.
12. Przed udostępnieniem serwera dla aplikacji desktopowej wskazane jest postawienie serwera proxy do aplikacji fillup PremiumDB, tak aby serwer wykorzystywał protokół https (odpowiednio skonfigurowane certyfikaty domenowe firmy) i był dostępny tylko wewnątrz firmy. Lokalnie (na serwerze) PremiumDB jest dostępny pod url: http://localhost:8030 . Pod tym adresem udostępniamy także panel administracyjny - patrz rozdział Panel Administracyjny.
Aktualizację aplikacji serwerowej PremiumDB można wykonać ręcznie lub przy pomocy dostarczonych skryptów. Uwaga! Nie należy wgrywać starszej wersji od aktualnie uruchomionej - może to spowodować niestabilność aplikacji serwerowej.
Aktualizacja za pomocą skryptów:
Aktualizacja ręczna:
Dla celów utrzymania i kontroli działania aplikacji serwerowej PremiumDB dostarczono panel administracyjny. Panel dostępny jest pod linkiem:
W panelu administracyjnym możemy wyróżnić sekcję raportów formularzy oraz sekcję bazy danych.
Raporty formularzy są niezależną listą od profili wystawionych formularzy w bazie z możliwością filtrowania po różnych kolumnach takich jak np. data czy profil w bazie.
Sekcja baza danych umożliwia zarządzanie kopiami zapasowymi:
Zaimplementowany mechanizm umożliwia zarządzanie sporządzaniem kopii oraz automatycznym czyszczeniem powstałych archiwów baz.
Pliki kopii baz przechowywane są w katalogu zdefiniowanym w sekcji
PREMIUM_PREMIUMDB_DATA_BACKUP_PATH=
Aby połączyć się z serwerem backendowym PremiumDB z systemu fillup Desktop należy utworzyć nowe połączenie do bazy danych (dostępne z poziomu aplikacji Desktop: Ustawienia->Dane aplikacji->Dodaj połączenie do bazy danych).
W polu "Ścieżka do serwera bazy Premium" należy podać adres serwera, pod którym administratorzy firmy uruchomili aplikację serwerową fillup PremiumDB.
Po skonfigurowaniu połączenia możemy już przełączyć się na bazę Premium jak na rysunku poniżej wybierając "Przełącz na tę bazę".
Następnie logujemy się na domyślnie założonego użytkownika "Administrator" z hasłem "admin". Po pierwszym logowaniu zaleca się zmianę hasła użytkownika z poziomu aplikacji fillup Desktop.
Jeżeli logowanie przebiegnie pomyślnie przywita nas ekran powitalny.
Nazwa | e-file | Klient Premium |
Dostarczenie środowiska sprzętowego (serwery, system operacyjny) | - | Pełna odpowiedzialność |
Konfiguracja środowiska WSL2 (1) | - | Pełna odpowiedzialność |
Konfiguracja środowiska Docker | - | Pełna odpowiedzialność |
Instalacja wymaganych aplikacji oraz komponentów Premium | Dostarczenie dokumentacji, wymaganych komponentów Premium oraz wsparcie w procesie instalacji aplikacji | Instalacja zgodnie z dostarczoną dokumentacją |
Monitoring serwerów, utrzymanie środowiska wdrożeniowego w tym usług wymaganych do działania Premium | Wsparcie w zakresie działania aplikacji serwerowej Premium + panel administracyjny | Pełna odpowiedzialność |
Zarządzanie kopiami zapasowymi | Dostarczone mechanizmy w panelu administracyjnym | Pełna odpowiedzialność w tym własne archiwum i przywracanie z kopii zapasowych. Uwaga! W trakcie przywracania kopii zapasowych nie można używać aplikacji Premium przez stacje klienckie. |
Zarządzanie dostępami, bezpieczeństwo danych | - | Zarządzanie dostępem do produktu po stronie klienta: VPN, hasła do baz danych, systemy operacyjne, zabezpieczenia sieci, bezpieczna konfiguracja itp. |
(1) dotyczy tylko instalacji na serwerze z systemem Windows
FAQ
Wszystkie powinny mieć status: “healthy” jak na obrazku poniżej:
Jeżeli kontenery mają status “healthy”, sprawdź czy serwer odpowiada:
curl http://localhost:8030/api/ping - serwer powinien zwrócić status 200 oraz tekst “OK” z numerem wersji.
Generowanie klucza na publicznej stronie WWW:
https://generate-random.org/laravel-key-generator.
Generowania klucza z poziomu aplikacji:
- uruchom aplikację Premium bez ustawienia klucza PREMIUM_APP_KEY (wszystkie pozostałe zmienne w pliku premium.env muszą być już poprawnie skonfigurowane)
- uruchom polecenie: docker exec -i premium_premiumdb_php php artisan key:generate --show
- skopiuj klucz i wprowadź zmiany w pliku konfiguracyjnym premium.env
- zatrzymaj i uruchom ponownie aplikację PremiumDB
Przykład poprawnej wartości klucza:
base64:MWR0ZDJzZjk4cjd0cmFmN2Foa2YzbXBpNGVvdnVxOGE=
Starą wersję aplikacji można usunąć poprzez uruchomienie polecenia:
- ./premium.sh remove
- lub poprzez ręczne usuwanie kontenerów poleceniem docker rm: