Przejdź do treści

Obowiązek od 1 stycznia 2028 r. Każda jednostka sektora publicznego musi prowadzić sprawy w systemie klasy EZD. EZD RP spełnia ten wymóg bezpłatnie. Sprawdź gotowość

Instalacja

Instalacja EZD RP krok po kroku dla administratorów JST

EZD RP Team · · 15 min czytania
Instalacja EZD RP krok po kroku dla administratorów JST

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

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 (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 dla środowiska produkcyjnego (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 + oddzielny RAID 10 dla bazy danych (min. 2 TB)
  • Karta sieciowa: Gigabit Ethernet, zalecane dual-port
  • System operacyjny: Ubuntu Server 22.04 LTS, RHEL 9, Windows Server 2022

Wymagania dla bazy danych

  • PostgreSQL 14.x lub nowszy (zalecane 15.x dla lepszej wydajności)
  • Dedykowany serwer bazodanowy z min. 64 GB RAM
  • Automatyczne kopie zapasowe z replikacją na zdalny serwer backup

Oprogramowanie pomocnicze

  • Java Runtime Environment (JRE) 17 LTS
  • Apache Tomcat 10.x lub WildFly 27
  • Nginx lub Apache HTTP Server jako reverse proxy
  • Narzędzia monitoringu: Prometheus + Grafana lub Zabbix

3. Proces instalacji – krok po kroku

Krok 1: Pobranie dystrybucji EZD RP

Zaloguj się do portalu partnerskiego NASK i pobierz najnowszą stabilną wersję pakietu instalacyjnego EZD RP. Weryfikuj sumę kontrolną SHA-256:

sha256sum ezd-rp-3.5.2.tar.gz

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 -version

Krok 3: Instalacja i konfiguracja PostgreSQL

sudo apt install postgresql-15 postgresql-contrib
sudo systemctl enable postgresql
sudo systemctl start postgresql

Utwórz dedykowaną bazę danych:

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;
\q

Skonfiguruj PostgreSQL do akceptowania połączeń edytując /etc/postgresql/15/main/pg_hba.conf:

host    ezdrp_production    ezdrp_user    192.168.1.100/32    md5

Krok 4: Rozpakowywanie i wdrożenie 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/ezdrp

Krok 5: Konfiguracja pliku application.properties

Edytuj /opt/ezdrp/config/application.properties:

spring.datasource.url=jdbc:postgresql://localhost:5432/ezdrp_production
spring.datasource.username=ezdrp_user
spring.datasource.password=SecurePassword123!
server.port=8080
server.servlet.context-path=/ezdrp
logging.level.root=INFO
logging.file.name=/var/log/ezdrp/application.log
spring.servlet.multipart.max-file-size=50MB
spring.servlet.multipart.max-request-size=100MB

Krok 6: Inicjalizacja schematu bazy danych

cd /opt/ezdrp
./bin/flyway migrate -configFiles=config/flyway.conf

4. Konfiguracja wstępna i ustawienia systemowe

Konfiguracja użytkownika administratora

Po pierwszym uruchomieniu utwórz konto administratora:

psql -h localhost -U ezdrp_user -d ezdrp_production -f /opt/ezdrp/scripts/create_admin.sql

Konfiguracja struktury organizacyjnej

Zaloguj się do panelu administracyjnego (http://your-server:8080/ezdrp/admin) i zdefiniuj:

  • Jednostki organizacyjne (wydziały, biura, referaty)
  • Stanowiska pracy
  • Role systemowe (kierownik, pracownik merytoryczny, kancelaria)
  • JRWA zgodnie z rozporządzeniem

5. Konfiguracja bazy danych – optymalizacja

Edytuj /etc/postgresql/15/main/postgresql.conf:

shared_buffers = 8GB
effective_cache_size = 24GB
work_mem = 128MB
maintenance_work_mem = 2GB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
max_wal_size = 4GB
max_connections = 200

6. Konfiguracja użytkowników i ról

System operuje na modelu RBAC. Domyślne 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

7. Pierwsze uruchomienie i weryfikacja

sudo systemctl start ezdrp
sudo systemctl enable ezdrp
tail -f /var/log/ezdrp/application.log

Jeśli wszystko poszło prawidłowo, w logach pojawi się:

INFO: Tomcat started on port(s): 8080 (http)
INFO: Started EzdRpApplication in 45.234 seconds

8. Testy akceptacyjne (UAT)

Scenariusze testowe powinny obejmować:

Test 1: Rejestracja wpływu korespondencji

  • Zaloguj się jako pracownik kancelarii
  • Zarejestruj nowy dokument wpływający
  • Przypisz znak sprawy zgodnie z JRWA
  • Zweryfikuj poprawność metadanych

Test 2: Dekretacja i procedowanie sprawy

  • Zdekretuj dokument do pracownika merytorycznego
  • Utwórz projekt pisma wychodzącego
  • Wyślij do akceptacji kierownika

Test 3: Akceptacja i wysyłka dokumentu

  • Zaakceptuj projekt pisma
  • Podpisz 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
  • Sprawdź automatyczną aktualizację statusu doręczenia
  • Zweryfikuj otrzymanie EPO

9. Rozwiązywanie typowych problemów

Problem: Aplikacja nie startuje – błąd połączenia z bazą danych

Sprawdź logi PostgreSQL: sudo tail -f /var/log/postgresql/postgresql-15-main.log. Upewnij się, że PostgreSQL nasłuchuje na właściwym interfejsie sieciowym oraz że firewall nie blokuje portu 5432.

Problem: Timeout przy logowaniu użytkowników

Sprawdź obciążenie serwera: top, iostat. Zwiększ parametry shared_buffers oraz work_mem w PostgreSQL. Rozważ dodanie indeksów na często odpytywanych kolumnach.

Problem: Błędy podczas uploadu dużych plików

Zwiększ limity w application.properties:

spring.servlet.multipart.max-file-size=100MB
spring.servlet.multipart.max-request-size=200MB

Pamiętaj również o dostosowaniu limitów w reverse proxy (Nginx/Apache).

10. Optymalizacja powdrożeniowa

  • Connection pooling: HikariCP z optymalną liczbą połączeń: spring.datasource.hikari.maximum-pool-size=50
  • Caching: Redis lub Memcached dla często odczytywanych danych
  • CDN: Dla dużych JST rozważ użycie CDN do dystrybucji zasobów statycznych
  • Load balancing: Klaster aplikacyjny z load balancerem (HAProxy, Nginx)
  • Monitoring: Alerting dla kluczowych metryk

Podsumowanie

Instalacja EZD RP, choć złożona, przy odpowiednim przygotowaniu i przestrzeganiu najlepszych praktyk może przebiec sprawnie. 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 przez wiele lat.

Potrzebujesz porozmawiać o szczegółach wdrożenia w Twojej jednostce?