Wszystko, czego phaf potrzebuje, aby wrócić po awarii, znajduje się w trzech miejscach: w folderze danych, w config.json i — jeśli go używasz — w bazie SQL Server. Rób ich kopie regularnie i raz przetestuj przywracanie.
Co archiwizować
| Element | Gdzie | Dlaczego to ważne |
|---|---|---|
| Klucz szyfrowania | C:\phaf\data\phaf.master_key | Bez niego nie da się odczytać żadnego zapisanego hasła. Trzymaj dodatkową kopię poza zwykłymi kopiami zapasowymi (zobacz niżej). |
| Folder danych | C:\phaf\data\ | Użytkownicy, ustawienia bezpieczeństwa, obszary robocze i przepływy, certyfikaty, współdzielone połączenia, wiadomości oraz — przy SQLite — baza danych. |
| Konfiguracja | C:\phaf\app\config.json | Folder danych, port i połączenie z bazą danych. |
| Baza SQL Server | Twój SQL Server | Transakcje, logi i audyt, jeśli używasz SQL Server. Włącz ją do zwykłego planu kopii zapasowych SQL Server. |
| Witryna IIS | C:\phaf\iis\web.config i certyfikat | Warstwa HTTPS. |
Nie musisz archiwizować samego C:\phaf\app: zawsze możesz go zainstalować ponownie instalatorem tej samej wersji. Zachowuj instalatory instalowanych wersji.
Klucz szyfrowania
Skopiuj phaf.master_key raz po pierwszym uruchomieniu i trzymaj go oddzielnie od zwykłych kopii zapasowych — w sejfie haseł lub na zaszyfrowanym nośniku offline, z dostępem ograniczonym do administratorów. Klucz nie zmienia się w czasie, więc jedna kopia wystarczy.
Traktuj klucz jak hasło
Każdy, kto ma jednocześnie kopię folderu danych i klucz, może odczytać hasła zapisane w phaf. Nigdy nie przechowuj klucza w tym samym miejscu co kopie danych bez szyfrowania.
Jak wykonywać kopie
Z SQLite
Kopiuj folder danych przy zatrzymanej usłudze phaf, aby plik bazy był spójny. Codzienna kopia zwykle trwa kilka sekund:
$svc = (Get-Service | Where-Object DisplayName -like 'phaf*').Name
Stop-Service $svc
$stamp = Get-Date -Format 'yyyy-MM-dd'
Compress-Archive -Path C:\phaf\data, C:\phaf\app\config.json -DestinationPath "E:\Backups\phaf-$stamp.zip"
Start-Service $svcZaplanuj to na spokojną porę albo dodaj folder do oprogramowania do kopii zapasowych z krokiem przed kopią, który zatrzymuje usługę, i krokiem po kopii, który ją uruchamia.
Z SQL Server
Kopię bazy danych wykonuje SQL Server, a phaf w tym czasie działa dalej. Folder danych i config.json archiwizuj oprogramowaniem do kopii plików; phaf nie musi być zatrzymany. Wykonuj obie kopie mniej więcej w tym samym czasie, aby pliki i historia transakcji do siebie pasowały.
Jak często
- Codziennie — folder danych,
config.jsoni baza SQL Server. - Po każdej ważnej zmianie — nowe przepływy, certyfikaty lub użytkownicy.
- Przed każdą aktualizacją — zawsze.
- Jednorazowo — klucz szyfrowania, w osobnym bezpiecznym miejscu.
Przechowuj kopie z co najmniej 14 dni lub zgodnie z własną polityką retencji.
Przywracanie na tym samym lub nowym serwerze
- Przygotuj serwer jak w Wymaganiach.
- Uruchom instalator tej samej wersji phaf, a następnie zatrzymaj usługę phaf.
- Przywróć
C:\phaf\dataiconfig.json. Sprawdź, czyphaf.master_keyjest w folderze danych. - Z SQL Server: przywróć bazę danych albo wskaż w
config.jsonprzywróconą kopię. HasłoENC:v1:nadal działa, bo klucz jest ten sam. - Ponownie ustaw konto usługi i uprawnienia do folderów (Usługa Windows).
- Za pierwszym razem uruchom phaf w Safe Mode, aby wszystko sprawdzić, zanim pliki zaczną płynąć: dodaj
"safeMode": truedoconfig.json, uruchom usługę, sprawdź przepływy i połączenia, a potem usuń tę linię i uruchom usługę ponownie.
Przetestuj raz
Po instalacji przywróć kopię zapasową na serwerze testowym. To jedyny sposób, by wiedzieć, że kopia jest kompletna, a klucz pasuje.