Initial commit: KSEF PDF Generator from GitHub
This commit is contained in:
179
DEPLOYMENT-PRODUCTION.md
Normal file
179
DEPLOYMENT-PRODUCTION.md
Normal file
@@ -0,0 +1,179 @@
|
||||
# Wdrażanie KSEF na produkcję (www.sic.pl/ksef/)
|
||||
|
||||
## Krok 1: Przygotuj artefakty na maszynie lokalnej
|
||||
|
||||
```bash
|
||||
cd /home/ms/projekty/fv-ksef-nodejs/ksef-pdf-generator
|
||||
|
||||
# Zbuduj aplikację SPA
|
||||
npm run build:app
|
||||
|
||||
# Powinnien powstać folder dist-app/ z zawartością:
|
||||
ls -la dist-app/
|
||||
# index.html
|
||||
# assets/index-HASH.js
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Krok 2: Prześlij pliki na serwer docelowy (10.1.1.3)
|
||||
|
||||
### 2a. Skopiuj artefakty aplikacji
|
||||
|
||||
```bash
|
||||
# Z lokalnej maszyny prześlij dist-app/* do /var/www/ksef/
|
||||
scp -r dist-app/* ms@10.1.1.3:/home/ms/projekty/ksef/
|
||||
|
||||
# LUB jeśli bezpośrednio na serwerze, skopiuj z repo:
|
||||
scp -r dist-app/* ms@10.1.1.3:/var/www/ksef/
|
||||
```
|
||||
|
||||
### 2b. Na serwerze docelowym, ustaw uprawnienia
|
||||
|
||||
```bash
|
||||
# Zaloguj się na serwer:
|
||||
ssh ms@10.1.1.3
|
||||
|
||||
# Stwórz folder jeśli go nie ma
|
||||
sudo mkdir -p /var/www/ksef
|
||||
|
||||
# Ustaw właściciela i uprawnienia
|
||||
sudo chown -R www-data:www-data /var/www/ksef
|
||||
sudo chmod -R 755 /var/www/ksef
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Krok 3: Zaktualizuj nginx config
|
||||
|
||||
### 3a. Prześlij nowy default.conf
|
||||
|
||||
```bash
|
||||
# Z lokalnego repo
|
||||
scp default.conf ms@10.1.1.3:/home/ms/
|
||||
|
||||
# Lub na serwerze, utwórz plik:
|
||||
nano /etc/nginx/conf.d/default.conf
|
||||
```
|
||||
|
||||
### 3b. Na serwerze docelowym, zastąp config
|
||||
|
||||
```bash
|
||||
# Backup starego configu
|
||||
sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.backup
|
||||
|
||||
# Wstaw nowy config (z wdrażanego repo)
|
||||
sudo cp /home/ms/default.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
# LUB ręcznie: skopiuj zawartość pliku z repo i wklej do /etc/nginx/conf.d/default.conf
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Krok 4: Zweryfikuj nginx config i restartuj
|
||||
|
||||
```bash
|
||||
# Na serwerze: sprawdź składnię
|
||||
sudo nginx -t
|
||||
|
||||
# Jeśli "syntax is ok, test successful":
|
||||
sudo systemctl restart nginx
|
||||
|
||||
# Sprawdź status
|
||||
sudo systemctl status nginx
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Krok 5: Testowanie
|
||||
|
||||
Otwórz w przeglądarce:
|
||||
- **http://www.sic.pl/ksef/** ← aplikacja PDF Generator
|
||||
- **http://www.sic.pl/** ← pozostała zawartość www.sic.pl (bez zmian)
|
||||
|
||||
---
|
||||
|
||||
## Struktura na serwerze docelowym
|
||||
|
||||
```
|
||||
/var/www/
|
||||
├── sic/ ← istniejąca zawartość www.sic.pl
|
||||
├── esbr/ ← istniejąca zawartość www.esbr.pl
|
||||
├── sobczak/ ← istniejąca zawartość www.sobczak.org
|
||||
└── ksef/ ← NOWA: aplikacja KSEF
|
||||
├── index.html (punkt wejścia, no-cache)
|
||||
└── assets/
|
||||
└── index-HASH.js (cached)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Logi i debugowanie
|
||||
|
||||
Na serwerze:
|
||||
```bash
|
||||
# Logi dostępu
|
||||
sudo tail -f /var/log/nginx/access.log | grep ksef
|
||||
|
||||
# Logi błędów
|
||||
sudo tail -f /var/log/nginx/error.log
|
||||
|
||||
# Test zaraz po starcie
|
||||
curl -I http://localhost/ksef/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Aktualizacja aplikacji (dla przyszłych wersji)
|
||||
|
||||
```bash
|
||||
# Lokalnie: zbuduj nową wersję
|
||||
npm run build:app
|
||||
|
||||
# Prześlij do serwera
|
||||
scp -r dist-app/* ms@10.1.1.3:/var/www/ksef/
|
||||
|
||||
# nginx automatycznie serwuje nową wersję
|
||||
# (index.html nie ma cache, assety mają nowe hashe)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Jeśli coś nie działa
|
||||
|
||||
### Problem: 404 na `/ksef/`
|
||||
|
||||
**Powody:**
|
||||
1. Folder `/var/www/ksef/` nie istnieje lub nie ma contentu
|
||||
2. `index.html` nie jest w `/var/www/ksef/`
|
||||
3. Błędy uprawnienia (nginx nie może czytać)
|
||||
|
||||
**Rozwiązanie:**
|
||||
```bash
|
||||
# Sprawdź zawartość
|
||||
ls -la /var/www/ksef/
|
||||
|
||||
# Sprawdź uprawnienia
|
||||
stat /var/www/ksef/
|
||||
|
||||
# Ustaw uprawnienia na nowo
|
||||
sudo chown -R www-data:www-data /var/www/ksef/
|
||||
sudo chmod -R 755 /var/www/ksef/
|
||||
```
|
||||
|
||||
### Problem: assety (JS/CSS) nie ładują się
|
||||
|
||||
**Powód:** Zła ścieżka w `alias` w nginx config
|
||||
|
||||
**Sprawdzenie:**
|
||||
```bash
|
||||
# Sprawdź co jest w dist-app/assets/
|
||||
ls -la /var/www/ksef/assets/
|
||||
|
||||
# Jeśli puste, znaczy że dist-app/ nie został skopiowany poprawnie
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Gotowe!** Po wykonaniu powyższych kroków, aplikacja powinna być dostępna na 🎉
|
||||
**http://www.sic.pl/ksef/**
|
||||
Reference in New Issue
Block a user