Aggiornamento di XOOPS
Questa guida copre l’aggiornamento di XOOPS da versioni precedenti all’ultima release, preservando i tuoi dati e personalizzazioni.
Informazioni sulla versione
- Stabile: XOOPS 2.5.11
- Beta: XOOPS 2.7.0 (test)
- Futuro: XOOPS 4.0 (in sviluppo - vedi roadmap)
Lista di controllo pre-aggiornamento
Sezione intitolata “Lista di controllo pre-aggiornamento”Prima di iniziare l’aggiornamento, verifica:
- Versione XOOPS corrente documentata
- Versione XOOPS di destinazione identificata
- Backup completo del sistema completato
- Backup database verificato
- Elenco moduli installati registrato
- Modifiche personalizzate documentate
- Ambiente di prova disponibile
- Percorso di aggiornamento controllato (alcune versioni saltano versioni intermedie)
- Risorse server verificate (spazio disco sufficiente, memoria)
- Modalità manutenzione abilitata
Guida percorso di aggiornamento
Sezione intitolata “Guida percorso di aggiornamento”Diversi percorsi di aggiornamento a seconda della versione corrente:
graph LR A[2.3.x] -->|Richiede 2.4.x| B[2.4.x] B -->|Diretto o via 2.5.x| C[2.5.x] A -->|Via 2.4.x| C C -->|Stabile| D[2.5.11] E[2.5.0-2.5.10] -->|Diretto| D D -->|Beta| F[2.7.0]Importante: Non saltare mai versioni principali. Se stai aggiornando da 2.3.x, prima aggiorna a 2.4.x, quindi a 2.5.x.
Passaggio 1: Backup completo del sistema
Sezione intitolata “Passaggio 1: Backup completo del sistema”Backup database
Sezione intitolata “Backup database”Usa mysqldump per eseguire il backup del database:
# Backup database completomysqldump -u xoops_user -p xoops_db > /backups/xoops_db_backup_$(date +%Y%m%d_%H%M%S).sql
# Backup compressomysqldump -u xoops_user -p xoops_db | gzip > /backups/xoops_db_backup_$(date +%Y%m%d_%H%M%S).sql.gzOppure usando phpMyAdmin:
- Seleziona il tuo database XOOPS
- Fai clic sulla scheda “Esporta”
- Scegli il formato “SQL”
- Seleziona “Salva come file”
- Fai clic su “Vai”
Verifica il file di backup:
# Controlla la dimensione del backupls -lh /backups/xoops_db_backup*.sql
# Verifica l'integrità del backup (non compresso)head -20 /backups/xoops_db_backup_*.sql
# Verifica il backup compressozcat /backups/xoops_db_backup_*.sql.gz | head -20Backup file system
Sezione intitolata “Backup file system”Esegui il backup di tutti i file XOOPS:
# Backup file compressotar -czf /backups/xoops_files_$(date +%Y%m%d_%H%M%S).tar.gz /var/www/html/xoops
# Non compresso (più veloce, richiede più spazio disco)tar -cf /backups/xoops_files_$(date +%Y%m%d_%H%M%S).tar /var/www/html/xoops
# Mostra l'avanzamento del backuptar -czf /backups/xoops_files_$(date +%Y%m%d_%H%M%S).tar.gz --verbose /var/www/html/xoops | tailArchivia i backup in modo sicuro:
# Archiviazione backup sicurachmod 600 /backups/xoops_*ls -lah /backups/
# Opzionale: copia in archiviazione remotascp /backups/xoops_* user@backup-server:/secure/backups/Test di ripristino del backup
Sezione intitolata “Test di ripristino del backup”CRITICO: Verifica sempre che il tuo backup funzioni:
# Verifica il contenuto dell'archivio tartar -tzf /backups/xoops_files_*.tar.gz | head -20
# Estrai in posizione di provamkdir /tmp/restore_testcd /tmp/restore_testtar -xzf /backups/xoops_files_*.tar.gz
# Verifica che i file chiave esistanols -la xoops/mainfile.phpls -la xoops/install/Passaggio 2: Abilita modalità manutenzione
Sezione intitolata “Passaggio 2: Abilita modalità manutenzione”Impedisci agli utenti di accedere al sito durante l’aggiornamento:
Opzione 1: Pannello admin XOOPS
Sezione intitolata “Opzione 1: Pannello admin XOOPS”- Accedi al pannello di amministrazione
- Vai a Sistema > Manutenzione
- Abilita “Modalità manutenzione sito”
- Imposta messaggio di manutenzione
- Salva
Opzione 2: Modalità manutenzione manuale
Sezione intitolata “Opzione 2: Modalità manutenzione manuale”Crea un file di manutenzione nella radice web:
<!DOCTYPE html><html><head> <title>Sotto manutenzione</title> <style> body { font-family: Arial; text-align: center; padding: 50px; } h1 { color: #333; } p { color: #666; margin: 20px 0; } </style></head><body> <h1>Sito in manutenzione</h1> <p>Stiamo attualmente aggiornando il nostro sito.</p> <p>Tempo previsto: circa 30 minuti.</p> <p>Grazie per la tua pazienza!</p></body></html>Configura Apache per mostrare la pagina di manutenzione:
# In .htaccess o config vhostErrorDocument 503 /maintenance.html
# Reindirizza tutto il traffico alla pagina di manutenzione<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.100$ # Il tuo IP RewriteRule ^(.*)$ - [R=503,L]</IfModule>Passaggio 3: Scarica una nuova versione
Sezione intitolata “Passaggio 3: Scarica una nuova versione”Scarica XOOPS dal sito ufficiale:
# Scarica l'ultima versionecd /tmpwget https://xoops.org/download/xoops-2.5.8.zip
# Verifica checksum (se fornito)sha256sum xoops-2.5.8.zip# Confronta con l'hash SHA256 ufficiale
# Estrai in posizione temporaneaunzip xoops-2.5.8.zipcd xoops-2.5.8Passaggio 4: Preparazione file pre-aggiornamento
Sezione intitolata “Passaggio 4: Preparazione file pre-aggiornamento”Identifica modifiche personalizzate
Sezione intitolata “Identifica modifiche personalizzate”Verifica i file core personalizzati:
# Cerca file modificati (file con mtime più recente)find /var/www/html/xoops -type f -newer /var/www/html/xoops/install.php
# Controlla i temi personalizzatils /var/www/html/xoops/themes/# Nota i temi personalizzati
# Controlla i moduli personalizzatils /var/www/html/xoops/modules/# Nota i moduli personalizzati da teDocumenta lo stato attuale
Sezione intitolata “Documenta lo stato attuale”Crea un rapporto di aggiornamento:
cat > /tmp/upgrade_report.txt << EOF=== Rapporto di aggiornamento XOOPS ===Data: $(date)Versione corrente: 2.5.6Versione di destinazione: 2.5.8
=== Moduli installati ===$(ls /var/www/html/xoops/modules/)
=== Modifiche personalizzate ===[Documenta qualsiasi modifica tema personalizzato o modulo]
=== Temi ===$(ls /var/www/html/xoops/themes/)
=== Stato plugin ===[Elenca eventuali modifiche di codice personalizzato]
EOFPassaggio 5: Unisci nuovi file con l’installazione corrente
Sezione intitolata “Passaggio 5: Unisci nuovi file con l’installazione corrente”Strategia: Preserva file personalizzati
Sezione intitolata “Strategia: Preserva file personalizzati”Sostituisci i file core XOOPS ma preserva:
mainfile.php(la configurazione del tuo database)- Temi personalizzati in
themes/ - Moduli personalizzati in
modules/ - Caricamenti utente in
uploads/ - Dati sito in
var/
Processo di unione manuale
Sezione intitolata “Processo di unione manuale”# Imposta variabiliXOOPS_OLD="/var/www/html/xoops"XOOPS_NEW="/tmp/xoops-2.5.8"BACKUP="/backups/pre-upgrade"
# Crea backup pre-aggiornamento in posizionemkdir -p $BACKUPcp -r $XOOPS_OLD/* $BACKUP/
# Copia nuovi file (ma preserva file sensibili)# Copia tutto tranne directory protettersync -av --exclude='mainfile.php' \ --exclude='modules/custom*' \ --exclude='themes/custom*' \ --exclude='uploads' \ --exclude='var' \ --exclude='cache' \ --exclude='templates_c' \ $XOOPS_NEW/ $XOOPS_OLD/
# Verifica che i file critici siano preservatils -la $XOOPS_OLD/mainfile.phpUsando upgrade.php (se disponibile)
Sezione intitolata “Usando upgrade.php (se disponibile)”Alcune versioni XOOPS includono script di aggiornamento automatizzato:
# Copia nuovi file con programma di installazionecp -r /tmp/xoops-2.5.8/* /var/www/html/xoops/
# Esegui procedura guidata di aggiornamento# Visita: http://your-domain.com/xoops/upgrade/Autorizzazioni file dopo l’unione
Sezione intitolata “Autorizzazioni file dopo l’unione”Ripristina le autorizzazioni corrette:
# Imposta proprietàchown -R www-data:www-data /var/www/html/xoops
# Imposta autorizzazioni directoryfind /var/www/html/xoops -type d -exec chmod 755 {} \;
# Imposta autorizzazioni filefind /var/www/html/xoops -type f -exec chmod 644 {} \;
# Rendi scrivibili le directorychmod 777 /var/www/html/xoops/cachechmod 777 /var/www/html/xoops/templates_cchmod 777 /var/www/html/xoops/uploadschmod 777 /var/www/html/xoops/var
# Proteggi mainfile.phpchmod 644 /var/www/html/xoops/mainfile.phpPassaggio 6: Migrazione database
Sezione intitolata “Passaggio 6: Migrazione database”Rivedi modifiche database
Sezione intitolata “Rivedi modifiche database”Controlla le note sulla versione di XOOPS per le modifiche alla struttura del database:
# Estrai e rivedi i file di migrazione SQLfind /tmp/xoops-2.5.8 -name "*.sql" -type f# Documenta tutti i file .sql trovatiEsegui aggiornamenti database
Sezione intitolata “Esegui aggiornamenti database”Opzione 1: Aggiornamento automatizzato (se disponibile)
Sezione intitolata “Opzione 1: Aggiornamento automatizzato (se disponibile)”Usa il pannello admin:
- Accedi a admin
- Vai a Sistema > Database
- Fai clic su “Controlla aggiornamenti”
- Rivedi le modifiche in sospeso
- Fai clic su “Applica aggiornamenti”
Opzione 2: Aggiornamenti database manuale
Sezione intitolata “Opzione 2: Aggiornamenti database manuale”Esegui i file SQL di migrazione:
# Connetti al databasemysql -u xoops_user -p xoops_db
# Visualizza le modifiche in sospeso (varia per versione)SELECT * FROM xoops_config WHERE conf_name LIKE '%version%';
# Esegui script di migrazione manualmente se necessarioSOURCE /tmp/xoops-2.5.8/migrate_2.5.6_to_2.5.8.sql;Verifica database
Sezione intitolata “Verifica database”Verifica l’integrità del database dopo l’aggiornamento:
-- Verifica la coerenza del databaseREPAIR TABLE xoops_users;OPTIMIZE TABLE xoops_users;
-- Verifica che le tabelle chiave esistanoSHOW TABLES LIKE 'xoops_%';
-- Controlla i conteggi delle righe (dovrebbe aumentare o rimanere uguale)SELECT COUNT(*) FROM xoops_users;SELECT COUNT(*) FROM xoops_posts;Passaggio 7: Verifica aggiornamento
Sezione intitolata “Passaggio 7: Verifica aggiornamento”Verifica homepage
Sezione intitolata “Verifica homepage”Visita la tua homepage XOOPS:
http://your-domain.com/xoops/Previsto: La pagina si carica senza errori, viene visualizzata correttamente
Verifica pannello admin
Sezione intitolata “Verifica pannello admin”Accedi a admin:
http://your-domain.com/xoops/admin/Verifica:
- Pannello admin si carica
- La navigazione funziona
- Dashboard viene visualizzato correttamente
- Nessun errore di database nei log
Verifica modulo
Sezione intitolata “Verifica modulo”Controlla i moduli installati:
- Vai a Moduli > Moduli in admin
- Verifica che tutti i moduli siano ancora installati
- Controlla eventuali messaggi di errore
- Abilita i moduli che erano disabilitati
Verifica file di log
Sezione intitolata “Verifica file di log”Rivedi i log di sistema per gli errori:
# Controlla il log degli errori del server webtail -50 /var/log/apache2/error.log
# Controlla il log degli errori PHPtail -50 /var/log/php_errors.log
# Controlla il log di sistema XOOPS (se disponibile)# In pannello admin: Sistema > LogFunzioni core di prova
Sezione intitolata “Funzioni core di prova”- L’accesso/logout dell’utente funziona
- La registrazione dell’utente funziona
- Funzioni di caricamento file
- Le notifiche email vengono inviate
- La funzionalità di ricerca funziona
- Funzioni admin operative
- Funzionalità modulo intatta
Passaggio 8: Pulizia post-aggiornamento
Sezione intitolata “Passaggio 8: Pulizia post-aggiornamento”Rimuovi file temporanei
Sezione intitolata “Rimuovi file temporanei”# Rimuovi directory di estrazionerm -rf /tmp/xoops-2.5.8
# Cancella la cache del modello (sicuro da eliminare)rm -rf /var/www/html/xoops/templates_c/*
# Cancella la cache del sitorm -rf /var/www/html/xoops/cache/*Rimuovi modalità manutenzione
Sezione intitolata “Rimuovi modalità manutenzione”Abilita di nuovo l’accesso al sito normale:
# Rimuovi il reindirizzamento della modalità manutenzione da .htaccess# Oppure elimina il file maintenance.htmlrm /var/www/html/maintenance.htmlAggiorna documentazione
Sezione intitolata “Aggiorna documentazione”Aggiorna le tue note di aggiornamento:
# Documenta aggiornamento riuscitocat >> /tmp/upgrade_report.txt << EOF
=== Risultati aggiornamento ===Stato: SUCCESSOData aggiornamento: $(date)Nuova versione: 2.5.8Durata: [time in minutes]
Test post-aggiornamento:- [x] La homepage si carica- [x] Pannello admin accessibile- [x] Moduli funzionali- [x] Registrazione utente funziona- [x] Database ottimizzato
EOFRisoluzione dei problemi di aggiornamento
Sezione intitolata “Risoluzione dei problemi di aggiornamento”Problema: Schermata bianca vuota dopo l’aggiornamento
Sezione intitolata “Problema: Schermata bianca vuota dopo l’aggiornamento”Sintomo: La homepage non mostra nulla
Soluzione:
# Controlla gli errori PHPtail -f /var/log/apache2/error.log
# Abilita modalità debug temporaneamenteecho "define('XOOPS_DEBUG', 1);" >> /var/www/html/xoops/mainfile.php
# Controlla le autorizzazioni dei filels -la /var/www/html/xoops/mainfile.php
# Ripristina dal backup se necessariocp /backups/xoops_files_*.tar.gz /tmp/cd /tmp && tar -xzf xoops_files_*.tar.gzProblema: Errore di connessione database
Sezione intitolata “Problema: Errore di connessione database”Sintomo: Messaggio “Impossibile connettersi al database”
Soluzione:
# Verifica le credenziali del database in mainfile.phpgrep -i "database\|host\|user" /var/www/html/xoops/mainfile.php
# Test della connessionemysql -h localhost -u xoops_user -p xoops_db -e "SELECT 1"
# Verifica lo stato di MySQLsystemctl status mysql
# Verifica che il database esista ancoramysql -u xoops_user -p -e "SHOW DATABASES" | grep xoopsProblema: Pannello admin non accessibile
Sezione intitolata “Problema: Pannello admin non accessibile”Sintomo: Impossibile accedere a /xoops/admin/
Soluzione:
# Controlla le regole .htaccesscat /var/www/html/xoops/.htaccess
# Verifica che i file admin esistanols -la /var/www/html/xoops/admin/
# Verifica che mod_rewrite sia abilitatoapache2ctl -M | grep rewrite
# Riavvia il server websystemctl restart apache2Problema: Moduli non caricati
Sezione intitolata “Problema: Moduli non caricati”Sintomo: I moduli mostrano errori o sono disabilitati
Soluzione:
# Verifica che i file del modulo esistanols /var/www/html/xoops/modules/
# Controlla le autorizzazioni del modulols -la /var/www/html/xoops/modules/*/
# Verifica la configurazione del modulo nel databasemysql -u xoops_user -p xoops_db -e "SELECT * FROM xoops_modules WHERE module_status = 0"
# Riattiva i moduli nel pannello admin# Sistema > Moduli > Fai clic su modulo > Aggiorna statoProblema: Errori di permesso negato
Sezione intitolata “Problema: Errori di permesso negato”Sintomo: “Permesso negato” durante il caricamento o il salvataggio
Soluzione:
# Controlla la proprietà del filels -la /var/www/html/xoops/ | head -20
# Correggi la proprietàchown -R www-data:www-data /var/www/html/xoops
# Correggi le autorizzazioni della directoryfind /var/www/html/xoops -type d -exec chmod 755 {} \;
# Rendi scrivibili cache/uploadschmod 777 /var/www/html/xoops/cachechmod 777 /var/www/html/xoops/templates_cchmod 777 /var/www/html/xoops/uploadschmod 777 /var/www/html/xoops/varProblema: Caricamento lento della pagina
Sezione intitolata “Problema: Caricamento lento della pagina”Sintomo: Le pagine si caricano molto lentamente dopo l’aggiornamento
Soluzione:
# Cancella tutte le cacherm -rf /var/www/html/xoops/cache/*rm -rf /var/www/html/xoops/templates_c/*
# Ottimizza il databasemysql -u xoops_user -p xoops_db << EOFOPTIMIZE TABLE xoops_users;OPTIMIZE TABLE xoops_posts;OPTIMIZE TABLE xoops_config;ANALYZE TABLE xoops_users;EOF
# Controlla il log degli errori PHP per gli avvisigrep -i "deprecated\|warning" /var/log/php_errors.log | tail -20
# Aumenta il tempo di esecuzione/memoria PHP temporaneamente# Modifica php.ini:memory_limit = 256Mmax_execution_time = 300Procedura di rollback
Sezione intitolata “Procedura di rollback”Se l’aggiornamento non riesce criticamente, ripristina dal backup:
Ripristina database
Sezione intitolata “Ripristina database”# Ripristina dal backupmysql -u xoops_user -p xoops_db < /backups/xoops_db_backup_YYYYMMDD_HHMMSS.sql
# O dal backup compressogunzip < /backups/xoops_db_backup_YYYYMMDD_HHMMSS.sql.gz | mysql -u xoops_user -p xoops_db
# Verifica il ripristinomysql -u xoops_user -p xoops_db -e "SELECT COUNT(*) FROM xoops_users"Ripristina il file system
Sezione intitolata “Ripristina il file system”# Ferma il server websystemctl stop apache2
# Rimuovi l'installazione correnterm -rf /var/www/html/xoops/*
# Estrai il backupcd /var/www/htmltar -xzf /backups/xoops_files_YYYYMMDD_HHMMSS.tar.gz
# Correggi le autorizzazionichown -R www-data:www-data xoops/find xoops -type d -exec chmod 755 {} \;find xoops -type f -exec chmod 644 {} \;chmod 777 xoops/cache xoops/templates_c xoops/uploads xoops/var
# Avvia il server websystemctl start apache2
# Verifica il ripristino# Visita http://your-domain.com/xoops/Lista di verifica di verifica dell’aggiornamento
Sezione intitolata “Lista di verifica di verifica dell’aggiornamento”Dopo il completamento dell’aggiornamento, verifica:
- Versione XOOPS aggiornata (verifica admin > Info sistema)
- La homepage si carica senza errori
- Tutti i moduli funzionali
- L’accesso dell’utente funziona
- Pannello admin accessibile
- I caricamenti di file funzionano
- Notifiche email funzionali
- Integrità database verificata
- Autorizzazioni file corrette
- Modalità manutenzione rimossa
- Backup protetti e testati
- Prestazioni accettabili
- SSL/HTTPS funzionante
- Nessun messaggio di errore nei log
Passi successivi
Sezione intitolata “Passi successivi”Dopo l’aggiornamento riuscito:
- Aggiorna i moduli personalizzati alle ultime versioni
- Rivedi le note sulla versione per le funzionalità deprecate
- Considera l’ottimizzazione delle prestazioni
- Aggiorna le impostazioni di sicurezza
- Testa a fondo tutte le funzionalità
- Mantieni i file di backup sicuri
Tag: #aggiornamento #manutenzione #backup #migrazione-database
Articoli correlati:
- ../../06-Publisher-Module/User-Guide/Installation
- Requisiti-server
- ../Configurazione/Configurazione-base
- ../Configurazione/Configurazione-sicurezza