Instalacja EZD RP krok po kroku dla administratorów JST
- 1.1. Lista kontrolna przedinstalacyjna (Pre-installation Checklist)
- 2.2. Weryfikacja wymagań systemowych
- 3.3. Proces instalacji – instrukcja krok po kroku
- 4.4. Konfiguracja wstępna i ustawienia systemowe
- 5.5. Konfiguracja bazy danych – optymalizacja wydajności
- 6.6. Konfiguracja użytkowników i ról
- 7.7. Pierwsze uruchomienie i weryfikacja działania
- 8.8. Testy akceptacyjne i walidacja (UAT)
- 9.9. Rozwiązywanie typowych problemów instalacyjnych
- 10.10. Optymalizacja powdrożeniowa
Instalacja systemu EZD RP to wieloetapowy proces wymagający precyzyjnego planowania oraz solidnej wiedzy technicznej z zakresu administracji systemami Linux/Windows Server, bazami danych oraz architekturą sieciową. Niniejszy przewodnik krok po kroku przeprowadzi administratorów JST przez cały cykl instalacyjny – od audytu przedwdrożeniowego po finalne testy akceptacyjne.
1. Lista kontrolna przedinstalacyjna (Pre-installation Checklist)
Przed rozpoczęciem właściwej instalacji należy starannie przygotować środowisko. Poniższa checklista zawiera wszystkie kluczowe zadania przygotowawcze:
- Weryfikacja wymagań sprzętowych: Upewnij się, że serwer spełnia minimalne wymagania systemowe określone w dokumentacji NASK (CPU: min. 8 rdzeni, RAM: min. 32 GB, dysk: min. 500 GB SSD)
- Przygotowanie systemu operacyjnego: Zainstaluj wspierany OS (Ubuntu 22.04 LTS, CentOS Stream 9, Windows Server 2022) z najnowszymi aktualizacjami bezpieczeństwa
- Konfiguracja zapory sieciowej: Otwórz porty 80 (HTTP), 443 (HTTPS), 5432 (PostgreSQL) oraz 22 (SSH) w firewallu
- Certyfikaty SSL: Zamów certyfikat SSL od zaufanego dostawcy (Let's Encrypt, Certum) lub użyj wewnętrznego CA jeśli instalacja w środowisku testowym
- Konta systemowe: Utwórz dedykowanego użytkownika systemowego dla procesu EZD RP (np.
ezdrp) z ograniczonymi uprawnieniami (zasada least privilege) - Dokumentacja sieci: Przygotuj schemat topologii sieci, adresy IP, nazwy FQDN oraz dane dostępowe do infrastruktury backupowej
- Backup i rollback plan: Zdefiniuj procedury awaryjnego przywrócenia systemu w przypadku niepowodzenia instalacji
2. Weryfikacja wymagań systemowych
EZD RP jest aplikacją enterprise'ową wymagającą solidnej infrastruktury. Oficjalne wymagania minimalne to:
Wymagania serwerowe (środowisko produkcyjne dla JST do 500 użytkowników):
- Procesor: Intel Xeon lub AMD EPYC, min. 8 rdzeni / 16 wątków, 2.4 GHz
- Pamięć RAM: 32 GB DDR4 ECC (zalecane 64 GB dla instancji powyżej 200 użytkowników)
- Dysk: 500 GB SSD NVMe dla systemu operacyjnego i aplikacji + oddzielny macierz RAID 10 dla bazy danych (min. 2 TB)
- Karta sieciowa: Gigabit Ethernet (1 Gbps), zalecane dual-port dla redundancji
- System operacyjny: Ubuntu Server 22.04 LTS, CentOS Stream 9, RHEL 9, Windows Server 2022 Standard/Datacenter
Wymagania dla bazy danych:
- PostgreSQL 14.x lub nowszy (zalecane 15.x dla lepszej wydajności)
- Dedykowany serwer bazodanowy z min. 64 GB RAM (w środowiskach o wysokim obciążeniu)
- Automatyczne kopie zapasowe z replikacją na zdalny serwer backup
Oprogramowanie pomocnicze:
- Java Runtime Environment (JRE) 17 LTS lub nowsze
- Apache Tomcat 10.x lub WildFly 27 (serwer aplikacji Java EE)
- Nginx lub Apache HTTP Server jako reverse proxy i load balancer
- Narzędzia monitoringu: Prometheus + Grafana lub Zabbix
3. Proces instalacji – instrukcja krok po kroku
Krok 1: Pobranie dystrybucji EZD RP
Zaloguj się do portalu partnerskiego NASK (https://partner.nask.pl) przy użyciu poświadczeń Twojej jednostki. Pobierz najnowszą stabilną wersję pakietu instalacyjnego EZD RP (plik .tar.gz lub .zip w zależności od systemu operacyjnego). Weryfikuj sumę kontrolną SHA-256 dla upewnienia się o integralności pliku:
sha256sum ezd-rp-3.5.2.tar.gzPorównaj wynik z oficjalnym hash'em publikowanym na stronie NASK.
Krok 2: Instalacja Java Runtime Environment
EZD RP wymaga JRE 17 LTS. Instalacja na Ubuntu:
sudo apt update
sudo apt install openjdk-17-jre-headless
java -versionUpewnij się, że wersja Java to minimum 17.0.x.
Krok 3: Instalacja i konfiguracja PostgreSQL
PostgreSQL to oficjalnie wspierana baza danych dla EZD RP. Instalacja na Ubuntu:
sudo apt install postgresql-15 postgresql-contrib
sudo systemctl enable postgresql
sudo systemctl start postgresqlUtwórz dedykowaną bazę danych oraz użytkownika dla EZD RP:
sudo -u postgres psql
CREATE DATABASE ezdrp_production;
CREATE USER ezdrp_user WITH ENCRYPTED PASSWORD 'SecurePassword123!';
GRANT ALL PRIVILEGES ON DATABASE ezdrp_production TO ezdrp_user;
\qSkonfiguruj PostgreSQL do akceptowania połączeń z serwera aplikacyjnego edytując plik /etc/postgresql/15/main/pg_hba.conf:
host ezdrp_production ezdrp_user 192.168.1.100/32 md5Zrestartuj PostgreSQL: sudo systemctl restart postgresql
Krok 4: Rozpakowywanie i wdrożenie aplikacji
Rozpakuj archiwum EZD RP do katalogu aplikacji:
sudo mkdir -p /opt/ezdrp
sudo tar -xzf ezd-rp-3.5.2.tar.gz -C /opt/ezdrp
sudo chown -R ezdrp:ezdrp /opt/ezdrpKrok 5: Konfiguracja pliku application.properties
Edytuj główny plik konfiguracyjny /opt/ezdrp/config/application.properties:
# Database Configuration
spring.datasource.url=jdbc:postgresql://localhost:5432/ezdrp_production
spring.datasource.username=ezdrp_user
spring.datasource.password=SecurePassword123!
# Server Configuration
server.port=8080
server.servlet.context-path=/ezdrp
# Logging
logging.level.root=INFO
logging.file.name=/var/log/ezdrp/application.log
# File Upload Limits
spring.servlet.multipart.max-file-size=50MB
spring.servlet.multipart.max-request-size=100MBKrok 6: Inicjalizacja schematu bazy danych
Uruchom skrypty migracyjne dostarczane z dystrybucją EZD RP (używamy narzędzia Flyway do wersjonowania schematu bazy):
cd /opt/ezdrp
./bin/flyway migrate -configFiles=config/flyway.confProces ten tworzy wszystkie niezbędne tabele, indeksy oraz procedury składowane.
4. Konfiguracja wstępna i ustawienia systemowe
Konfiguracja użytkownika administratora
Po pierwszym uruchomieniu systemu konieczne jest utworzenie konta administratora. Zaloguj się do bazy danych i wykonaj skrypt inicjalizacyjny:
psql -h localhost -U ezdrp_user -d ezdrp_production -f /opt/ezdrp/scripts/create_admin.sqlSkrypt utworzy użytkownika admin z hasłem tymczasowym, które należy zmienić przy pierwszym logowaniu.
Konfiguracja struktury organizacyjnej
Zaloguj się do panelu administracyjnego EZD RP (http://your-server:8080/ezdrp/admin) i przejdź do sekcji "Struktura organizacyjna". Zdefiniuj:
- Jednostki organizacyjne (wydziały, biura, referaty)
- Stanowiska pracy
- Role systemowe (kierownik, pracownik merytoryczny, kancelaria)
- JRWA (Jednolity Rzeczowy Wykaz Akt) zgodnie z rozporządzeniem
5. Konfiguracja bazy danych – optymalizacja wydajności
Dla zapewnienia optymalnej wydajności należy dostosować parametry PostgreSQL do specyfiki obciążenia EZD RP. Edytuj plik /etc/postgresql/15/main/postgresql.conf:
# Memory Settings
shared_buffers = 8GB
effective_cache_size = 24GB
work_mem = 128MB
maintenance_work_mem = 2GB
# Checkpoint Settings
checkpoint_completion_target = 0.9
wal_buffers = 16MB
max_wal_size = 4GB
# Connection Settings
max_connections = 200Po zmianach zrestartuj PostgreSQL: sudo systemctl restart postgresql
6. Konfiguracja użytkowników i ról
System EZD RP operuje na modelu RBAC (Role-Based Access Control). Domyślnie dostępne są następujące role:
- Administrator systemu: Pełne uprawnienia do konfiguracji, zarządzania użytkownikami i dostępu do wszystkich dokumentów
- Kierownik wydziału: Dekretacja spraw, akceptacja dokumentów wychodzących, zarządzanie podległymi pracownikami
- Pracownik merytoryczny: Procedowanie przypisanych spraw, tworzenie projektów dokumentów, rejestracja wniosków
- Pracownik kancelarii: Rejestracja wpływów, skanowanie dokumentów papierowych, wysyłka korespondencji
- Audytor: Tylko do odczytu, dostęp do raportów i logów audytowych
Każdy użytkownik musi być przypisany do przynajmniej jednej roli. Zaleca się stosowanie zasady minimum przywilejów (least privilege).
7. Pierwsze uruchomienie i weryfikacja działania
Uruchom serwer aplikacyjny EZD RP:
sudo systemctl start ezdrp
sudo systemctl enable ezdrp # Automatyczne uruchamianie przy starcie systemuSprawdź logi w czasie rzeczywistym:
tail -f /var/log/ezdrp/application.logJeśli wszystko poszło prawidłowo, w logach pojawi się komunikat:
INFO: Tomcat started on port(s): 8080 (http)
INFO: Started EzdRpApplication in 45.234 secondsOtwórz przeglądarkę i przejdź pod adres: http://your-server-ip:8080/ezdrp. Powinieneś zobaczyć ekran logowania EZD RP.
8. Testy akceptacyjne i walidacja (UAT)
Przed uruchomieniem produkcyjnym konieczne jest przeprowadzenie testów akceptacyjnych użytkownika (User Acceptance Testing). Scenariusze testowe powinny obejmować:
Test 1: Rejestracja wpływu korespondencji
- Zaloguj się jako pracownik kancelarii
- Zarejestruj nowy dokument wpływający (pismo tradycyjne lub e-mail)
- Przypisz znak sprawy zgodnie z JRWA
- Zweryfikuj czy dokument pojawił się w systemie z poprawnymi metadanymi
Test 2: Dekretacja i procedowanie sprawy
- Zaloguj się jako kierownik wydziału
- Zdekretuj zarejestrowany wcześniej dokument do pracownika merytorycznego
- Zaloguj się jako pracownik merytoryczny
- Utwórz projekt pisma wychodzącego w odpowiedzi na wpływ
- Wyślij pismo do akceptacji kierownika
Test 3: Akceptacja i wysyłka dokumentu wychodzącego
- Zaloguj się jako kierownik wydziału
- Zaakceptuj projekt pisma
- Podpisz dokument elektronicznie (Profil Zaufany lub podpis kwalifikowany)
- Zweryfikuj czy pismo trafiło do kancelarii do wysyłki
Test 4: Integracja z e-Doręczeniami
- Wyślij dokument testowy przez system e-Doręczeń do adresu testowego APUH
- Sprawdź czy status doręczenia aktualizuje się automatycznie
- Zweryfikuj otrzymanie EPO (Elektroniczne Poświadczenie Odbioru)
9. Rozwiązywanie typowych problemów instalacyjnych
Problem: Aplikacja nie startuje - błąd połączenia z bazą danych
Diagnoza: Sprawdź logi PostgreSQL: sudo tail -f /var/log/postgresql/postgresql-15-main.log
Rozwiązanie: Upewnij się, że PostgreSQL nasłuchuje na właściwym interfejsie sieciowym oraz że firewall nie blokuje portu 5432. Sprawdź poprawność danych logowania w application.properties.
Problem: Timeout przy logowaniu użytkowników
Diagnoza: Sprawdź obciążenie serwera: top oraz iostat
Rozwiązanie: Zwiększ parametry shared_buffers oraz work_mem w PostgreSQL. Rozważ dodanie indeksów na często odpytywanych kolumnach (np. user_id, document_status).
Problem: Błędy podczas uploadu dużych plików
Diagnoza: Sprawdź logi aplikacji pod kątem komunikatu "Maximum upload size exceeded"
Rozwiązanie: Zwiększ limity w application.properties:
spring.servlet.multipart.max-file-size=100MB
spring.servlet.multipart.max-request-size=200MBPamiętaj również o dostosowaniu limitów w reverse proxy (Nginx/Apache).
10. Optymalizacja powdrożeniowa
Po pomyślnym wdrożeniu produkcyjnym zaleca się wdrożenie następujących optymalizacji:
- Connection pooling: Skonfiguruj HikariCP (domyślny pool w Spring Boot) z optymalną liczbą połączeń:
spring.datasource.hikari.maximum-pool-size=50 - Caching: Włącz Redis lub Memcached dla cache'owania często odczytywanych danych (np. lista użytkowników, struktura JRWA)
- CDN: Dla dużych JST rozważ użycie CDN (Content Delivery Network) do dystrybucji zasobów statycznych (CSS, JS, obrazy)
- Load balancing: W środowiskach o wysokiej dostępności wdróż klaster aplikacyjny z load balancerem (HAProxy, Nginx)
- Monitoring: Skonfiguruj alerting dla kluczowych metryk: dostępność systemu, czas odpowiedzi, wykorzystanie dysku
Podsumowanie: Instalacja EZD RP, choć złożona, przy odpowiednim przygotowaniu i przestrzeganiu najlepszych praktyk może przebiec sprawnie i bezproblemowo. Kluczem do sukcesu jest dokładne zaplanowanie architektury, rygorystyczne testowanie oraz wdrożenie procedur monitoringu i backupu. JST stosujące się do powyższego przewodnika będą mogły cieszyć się stabilnym, wydajnym i zgodnym z przepisami systemem elektronicznego zarządzania dokumentacją przez wiele lat.