Documenta deploy Mailjet e hardening Apache
This commit is contained in:
250
README.md
250
README.md
@@ -1,66 +1,222 @@
|
||||
# 🏥 Clinica Veterinaria Formiginese - Deploy Package
|
||||
# Clinica Veterinaria Formiginese
|
||||
|
||||
Questo pacchetto contiene il codice sorgente completo, le immagini e le istruzioni per deployare il sito della Clinica Veterinaria Formiginese su un server privato con Node.js.
|
||||
Repository operativo del sito della Clinica Veterinaria Formiginese, con frontend React/Vite e backend FastAPI per la gestione delle richieste di prenotazione.
|
||||
|
||||
## 📋 Contenuti del Pacchetto
|
||||
## Struttura
|
||||
|
||||
- **clinica-app/** - Progetto React completo con sorgenti
|
||||
- **assets/** - Tutte le 7 immagini (animali + clinica)
|
||||
- **SETUP_ISTRUZIONI.md** - Guida dettagliata di installazione
|
||||
- **README.md** - Questo file
|
||||
- `clinica-app/` - frontend React + Vite e build pubblica del sito
|
||||
- `backend/` - backend FastAPI, schema prenotazione e servizio email
|
||||
- `assets/` - materiali grafici di supporto
|
||||
- `deploy_to_local_server.bat` - aggiorna la copia locale di deploy partendo da Gitea
|
||||
- `SETUP_ISTRUZIONI.md` - note di installazione storiche
|
||||
|
||||
## 🚀 Quick Start
|
||||
## Stack
|
||||
|
||||
```bash
|
||||
# 1. Estrai il pacchetto
|
||||
unzip clinica-veterinaria-deploy.zip
|
||||
cd clinica-deploy
|
||||
- Frontend: React 19, TypeScript, Tailwind CSS, Vite
|
||||
- Backend: FastAPI, Uvicorn
|
||||
- Web server online: Apache
|
||||
- Certificati: Let's Encrypt / Certbot
|
||||
|
||||
# 2. Copia le immagini
|
||||
cp -r assets/* clinica-app/client/public/images/
|
||||
mkdir -p clinica-app/client/public/images
|
||||
## Ambiente locale
|
||||
|
||||
# 3. Installa e avvia
|
||||
cd clinica-app
|
||||
npm install
|
||||
npm run build
|
||||
npm start
|
||||
### Repository di lavoro
|
||||
|
||||
Percorso:
|
||||
|
||||
```txt
|
||||
C:\devel\clinica_veterinaria_formiginese
|
||||
```
|
||||
|
||||
Il sito sarà disponibile a `http://localhost:3000`
|
||||
Per sviluppo rapido:
|
||||
|
||||
## 📖 Documentazione Completa
|
||||
```bash
|
||||
cd C:\devel\clinica_veterinaria_formiginese\clinica-app
|
||||
pnpm install
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
Leggi il file **SETUP_ISTRUZIONI.md** per:
|
||||
- Requisiti di sistema
|
||||
- Installazione passo-passo
|
||||
- Configurazione avanzata (Nginx, PM2, ecc.)
|
||||
- Personalizzazione (colori, testi, immagini)
|
||||
- Troubleshooting
|
||||
Nota: la porta di sviluppo Vite e stata spostata a `3001`, per evitare conflitti con Gitea in locale.
|
||||
|
||||
## 🎯 Caratteristiche
|
||||
### Repository di deploy locale
|
||||
|
||||
✅ Homepage completa con carousel hero (7 immagini)
|
||||
✅ Sezioni: Chi Siamo, Servizi, Team, Blog, Prenotazioni, Registrazione
|
||||
✅ Design "Clinical Warmth" con blu petrolio e verde acqua
|
||||
✅ Responsive design (mobile, tablet, desktop)
|
||||
✅ Animazioni fluide e transizioni eleganti
|
||||
✅ Performance ottimizzate
|
||||
Percorso:
|
||||
|
||||
## 🛠️ Stack Tecnologico
|
||||
```txt
|
||||
C:\deploy\clinica_veterinaria_formiginese
|
||||
```
|
||||
|
||||
- **Frontend**: React 19 + TypeScript + Tailwind CSS 4
|
||||
- **Backend**: Node.js + Express
|
||||
- **Build Tool**: Vite
|
||||
- **UI Components**: shadcn/ui
|
||||
- **Animazioni**: Framer Motion
|
||||
Il sito locale servito da Caddy legge questa copia, non quella in `C:\devel\...`.
|
||||
|
||||
## 📞 Supporto
|
||||
Per aggiornare il deploy locale:
|
||||
|
||||
Per problemi durante l'installazione, consulta la sezione "Troubleshooting" in SETUP_ISTRUZIONI.md
|
||||
```bat
|
||||
deploy_to_local_server.bat
|
||||
```
|
||||
|
||||
---
|
||||
Attenzione: lo script riallinea la copia locale di deploy a cio che e stato pushato su Gitea.
|
||||
|
||||
**Versione**: 1.0.0
|
||||
**Data**: 31 Marzo 2026
|
||||
**Licenza**: Privato
|
||||
## Build frontend
|
||||
|
||||
Da eseguire dentro `clinica-app/`:
|
||||
|
||||
```bash
|
||||
pnpm build
|
||||
```
|
||||
|
||||
## Prenotazioni
|
||||
|
||||
La form di prenotazione usa anche il campo `doctor` (medico richiesto).
|
||||
L'invio email passa da Mailjet API, con `Reply-To` valorizzato con l'indirizzo inserito da chi compila il modulo.
|
||||
Il backend mantiene protezioni anti-abuso: flag di attivazione, CAPTCHA, honeypot, rate limit e audit log JSONL.
|
||||
|
||||
Quando si pubblicano modifiche che toccano la form, vanno aggiornati insieme:
|
||||
|
||||
- frontend React
|
||||
- backend FastAPI
|
||||
|
||||
In particolare:
|
||||
|
||||
- `backend/app/schemas/booking.py`
|
||||
- `backend/app/services/mailer.py`
|
||||
|
||||
## Deploy online
|
||||
|
||||
Server attuale:
|
||||
|
||||
```txt
|
||||
ubuntu@129.152.31.221
|
||||
```
|
||||
|
||||
Percorso progetto:
|
||||
|
||||
```txt
|
||||
/var/www/clinicaveterinariaformiginese.it
|
||||
```
|
||||
|
||||
### Aggiornamento codice
|
||||
|
||||
La cartella online non contiene una working copy Git. Le modifiche vanno quindi
|
||||
pubblicate copiando i file via WinSCP/SFTP dopo commit e push su Gitea.
|
||||
|
||||
### Build frontend
|
||||
|
||||
```bash
|
||||
cd /var/www/clinicaveterinariaformiginese.it/clinica-app
|
||||
pnpm build
|
||||
```
|
||||
|
||||
### Riavvio servizi
|
||||
|
||||
```bash
|
||||
sudo systemctl restart clinicaveterinaria-backend.service
|
||||
sudo systemctl reload apache2
|
||||
```
|
||||
|
||||
### Verifiche utili
|
||||
|
||||
```bash
|
||||
systemctl status clinicaveterinaria-backend.service --no-pager
|
||||
journalctl -u clinicaveterinaria-backend.service -n 50 --no-pager
|
||||
curl -I https://www.clinicaveterinariaformiginese.it/
|
||||
```
|
||||
|
||||
## Nota importante su Vite
|
||||
|
||||
Nel build di produzione il runtime Manus deve restare disattivato. La configurazione e gia stata corretta in:
|
||||
|
||||
```txt
|
||||
clinica-app/vite.config.ts
|
||||
```
|
||||
|
||||
I plugin Manus sono attivi solo in sviluppo, non nel build di produzione.
|
||||
|
||||
## Redirect domini veterinarioformigine
|
||||
|
||||
Sono stati configurati 5 domini accessori per reindirizzare sempre verso:
|
||||
|
||||
```txt
|
||||
https://www.centrofaunaselvatica.it/
|
||||
```
|
||||
|
||||
Domini gestiti:
|
||||
|
||||
- `veterinarioformigine.it`
|
||||
- `veterinarioformigine.com`
|
||||
- `veterinarioformigine.eu`
|
||||
- `veterinarioformigine.info`
|
||||
- `veterinarioformigine.cloud`
|
||||
|
||||
Per ciascuno sono attivi anche i rispettivi host `www`.
|
||||
|
||||
### Comportamento atteso
|
||||
|
||||
Tutti questi URL devono restituire:
|
||||
|
||||
```txt
|
||||
301 Moved Permanently
|
||||
Location: https://www.centrofaunaselvatica.it/
|
||||
```
|
||||
|
||||
### Configurazione Apache
|
||||
|
||||
I virtual host HTTP sono stati creati in:
|
||||
|
||||
```txt
|
||||
/etc/apache2/sites-available/veterinarioformigine.*.conf
|
||||
```
|
||||
|
||||
I virtual host HTTPS creati da Certbot sono in:
|
||||
|
||||
```txt
|
||||
/etc/apache2/sites-available/veterinarioformigine.*-le-ssl.conf
|
||||
```
|
||||
|
||||
### Certificato
|
||||
|
||||
Certificato emesso con:
|
||||
|
||||
```bash
|
||||
sudo certbot --apache \
|
||||
-d veterinarioformigine.it -d www.veterinarioformigine.it \
|
||||
-d veterinarioformigine.com -d www.veterinarioformigine.com \
|
||||
-d veterinarioformigine.eu -d www.veterinarioformigine.eu \
|
||||
-d veterinarioformigine.info -d www.veterinarioformigine.info \
|
||||
-d veterinarioformigine.cloud -d www.veterinarioformigine.cloud
|
||||
```
|
||||
|
||||
Scadenza attuale del certificato:
|
||||
|
||||
```txt
|
||||
2026-08-25
|
||||
```
|
||||
|
||||
### Verifica redirect domini accessori
|
||||
|
||||
```bash
|
||||
curl -I https://veterinarioformigine.it
|
||||
curl -I https://www.veterinarioformigine.it
|
||||
curl -I https://veterinarioformigine.com
|
||||
curl -I https://www.veterinarioformigine.com
|
||||
curl -I https://veterinarioformigine.eu
|
||||
curl -I https://www.veterinarioformigine.eu
|
||||
curl -I https://veterinarioformigine.info
|
||||
curl -I https://www.veterinarioformigine.info
|
||||
curl -I https://veterinarioformigine.cloud
|
||||
curl -I https://www.veterinarioformigine.cloud
|
||||
```
|
||||
|
||||
## Git
|
||||
|
||||
Branch operativo corrente:
|
||||
|
||||
```txt
|
||||
backend_init
|
||||
```
|
||||
|
||||
Flusso consigliato:
|
||||
|
||||
1. Modifiche in `C:\devel\clinica_veterinaria_formiginese`
|
||||
2. Test con `pnpm dev`
|
||||
3. Commit e push su Gitea
|
||||
4. Deploy locale con `deploy_to_local_server.bat`
|
||||
5. Deploy online su Linux quando approvato
|
||||
|
||||
Reference in New Issue
Block a user