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
7 maja 2026
15 min
Administrator systemu pracujący przy komputerze podczas instalacji serwera i konfiguracji technicznej - system zarządzania dokumentami EZD RP

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.gz

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

Upewnij 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 postgresql

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

Skonfiguruj 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    md5

Zrestartuj 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/ezdrp

Krok 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=100MB

Krok 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.conf

Proces 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.sql

Skrypt 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 = 200

Po 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 systemu

Sprawdź logi w czasie rzeczywistym:

tail -f /var/log/ezdrp/application.log

Jeś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 seconds

Otwó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=200MB

Pamię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.

Powiązane artykuły