3.6 KiB
3.6 KiB
🚀 Deploy & Aggiornamento — Glastree
Generare il Pacchetto (Server di Sviluppo)
cd /var/www/html/glastree
# Installa dipendenze PHP production (esclude dev)
composer install --no-dev --optimize-autoloader
# Build asset Vite (se node_modules/ presente)
npm install && npm run build
# Genera archivio
bash build-dist.sh
L'archivio glastree-YYYYMMDD_HHMM.tar.gz viene creato nella directory corrente.
🆕 Installazione Fresca (Nuovo Server)
# 1. Estrai archivio
tar xzf glastree-YYYYMMDD_HHMM.tar.gz
cd glastree
# 2. Crea directory necessarie
mkdir -p storage/framework/cache/data \
storage/framework/sessions \
storage/framework/views \
storage/logs \
bootstrap/cache \
storage/app/public \
storage/app/public/logos \
storage/app/public/documenti/eventi \
storage/app/backups \
storage/app/documenti \
storage/app/private/avatars/gruppi
# 3. Permessi
chmod -R 775 storage bootstrap/cache
chown -R www-data:www-data storage bootstrap/cache
# 4. Crea .gitignore in storage/app/public (serve a Laravel)
echo "*" > storage/app/public/.gitignore
echo "!.gitignore" >> storage/app/public/.gitignore
# 5. Configura ambiente
cp .env.example .env
# Modifica manualmente: DB, APP_URL, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET
php artisan key:generate
# 6. Pulisci cache e ricrea symlink
rm -f public/storage
ln -sf ../storage/app/public public/storage
php artisan config:clear
php artisan route:clear
php artisan view:clear
# 7. Avvia installazione DB
php install.php
🔄 Aggiornamento (Server Esistente)
# 1. BACKUP
cp .env .env.backup.$(date +%Y%m%d_%H%M%S)
mysqldump -u USER -p DBNAME > backup_$(date +%Y%m%d_%H%M%S).sql
# 2. Estrai archivio
tar xzf glastree-YYYYMMDD_HHMM.tar.gz
# 3. Ripristina .env
cp .env.backup.* .env
# 4. Aggiungi nuove variabili d'ambiente
echo "GOOGLE_CLIENT_ID=" >> .env
echo "GOOGLE_CLIENT_SECRET=" >> .env
# 5. Permessi
chmod -R 775 storage bootstrap/cache
chown -R www-data:www-data storage bootstrap/cache
# 6. Symlink storage
rm -f public/storage
ln -sf ../storage/app/public public/storage
# 7. Migration
php artisan migrate --force
# 8. Pulisci cache
php artisan config:clear
php artisan route:clear
php artisan view:clear
# 9. Asset Vite
npm install && npm run build
📦 Contenuto dell'Archivio
| Include | Esclude |
|---|---|
Sorgenti PHP (app/, config/, routes/, resources/) |
.git/, node_modules/, tests/ |
| Vendor production | .env, .env.example |
Asset Vite compilati (public/build/) |
storage/app/public/, storage/app/private/ |
| Migration e seeder | storage/framework/cache/*, sessions/*, views/* |
storage/logs/*, storage/debugbar/* |
|
storage/app/backups/, storage/app/documenti/ |
|
MEMORY.md, AGENTS.md, build-dist.sh, Docker files |
⚙️ Variabili d'Ambiente Richieste
APP_URL=https://tuodominio.it
APP_SUBFOLDER=/app
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=glastree
DB_USERNAME=glastree
DB_PASSWORD=...
GOOGLE_CLIENT_ID=....
GOOGLE_CLIENT_SECRET=....
🌐 Google OAuth 2.0 — Post-Deploy
- Google Cloud Console → Abilita Gmail API, Drive API, Calendar API
- Credenziali → OAuth Client ID → Web Application
- Redirect URI:
https://tuodominio.it/app/auth/google/callback - Inserisci Client ID/Secret in
.env - Impostazioni → Google Services → Connetti Gmail, Drive, Calendar
- Per Gmail: Impostazioni → Email → IMAP → seleziona "OAuth 2.0"