Wiki
Clone wikiigroove / upgrading
#Aggiornare dalla versione v3 alla v4 su Debian 8
Nota: questo è un promemoria su come effettuare la migrazione dalla versione v3 alla versione v4.
Non sono previsti tutti i casi.
0. Backup
Fare il backup del database e dei file di configurazione /var/www/igroove/app/config/*.yml
mkdir /root/backup-igroove cp /var/www/igroove/app/config/*.yml /root/backup-igroove cp /var/www/igroove/token*.* /root/backup-igroove mysqldump -u root -p igroove > /root/backup-igroove/dump.sql
1. Aggiornare i pacchetti e le dipendenze
echo "deb http://www.rabbitmq.com/debian/ testing main" >> /etc/apt/sources.list.d/rabbitmq-server.list wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc apt-key add rabbitmq-signing-key-public.asc apt-get update -y apt-get install php5-intl php5 php5-mysql php5-ldap php5-curl ldap-utils \ mysql-server php-pear rsync git-core curl acl freeradius-ldap \ freeradius-mysql libmail-pop3client-perl libio-socket-ssl-perl \ libnet-ssleay-perl python-setuptools rabbitmq-server -y rabbitmq-plugins enable rabbitmq_management rabbitmq_tracing rabbitmq_federation service rabbitmq-server restart mkdir /var/log/supervisor apt-get remove python-meld3 supervisor -y apt-get install python-pip -y pip install supervisor cp -r /var/www/igroove/linuxConfiguration/etc/supervisor/* /etc/supervisor cp /var/www/igroove/linuxConfiguration/etc/supervisord.conf /etc cp /var/www/igroove/linuxConfiguration/init.d/supervisor* /etc/init.d systemctl daemon-reload
2. Rimuovere il precedente crontab
Dato:
crontab -e
Rimuovere (commentare) tutte le righe di igroove.
3. Scaricare il file sorgente e sostituire i file presenti
cd /tmp wget http://www.icnos.net/igroove/igroove.tar.gz -O /tmp/igroove.tar.gz gunzip /tmp/igroove.tar.gz rm -rf /var/www/igroove mkdir /var/www/igroove cd /var/www/igroove tar -xf /tmp/igroove.tar --strip=1 --exclude="app/config/parameters.yml" --exclude="app/config/igroove.yml"
4. Ripristinare i file di configurazione precedenti
cp /root/backup-igroove/igroove.yml /var/www/igroove/app/config/ cp /root/backup-igroove/parameters.yml /var/www/igroove/app/config/ cp /root/backup-igroove/token*.* /var/www/igroove/ mv /var/www/igroove/web/app_dev.php /var/www/igroove/ mv /tmp/backup_igroove_vendor /var/www/igroove/vendor mkdir /var/www/igroove/app/cache mkdir /var/www/igroove/app/log HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1` cd /var/www chown -R $HTTPDUSER:$HTTPDUSER igroove chmod -R 777 /var/www/igroove/app/log* chmod -R 777 /var/www/igroove/app/cache cd /var/www/igroove
5. Aggiornamento componenti e librerie"
composer self-update composer install
6. Cancellazione cache"
rm -rf /var/www/igroove/app/cache/* cd /var/www chown -R $HTTPDUSER:$HTTPDUSER igroove chmod -R 777 /var/www/igroove/app/log* chmod -R 777 /var/www/igroove/app/cache cd /var/www/igroove
7. Aggiornamento delle tabelle
# php /var/www/igroove/app/console doctrine:database:drop --force # php /var/www/igroove/app/console doctrine:database:create php /var/www/igroove/app/console doctrine:schema:update --force
8. Installazione servizi MQ consumer
cp /var/www/igroove/linuxConfiguration//etc/rabbitmq/rabbitmq.config /etc/rabbitmq/rabbitmq.config service rabbitmq-server restart
Verificare il funzionamento delle code:
php app/console rabbitmq:consumer ldap_service -m 1 php app/console rabbitmq:consumer mikrotik_service -m 1 php app/console rabbitmq:consumer google_apps_service -m 1 php app/console rabbitmq:consumer version_service -m 1
se tutto ok far partire i servizi:
cp -r /var/www/igroove/linuxConfiguration/etc/supervisor/* /etc/supervisor service supervisor restart
9. Nuovo crontab
L'impostazione dei cron va fatta solo se tutto funziona. Provare prima ogni singola riga del cron direttamente nella shell.
crontab -e
Inserire:
*/2 * * * * /usr/bin/php /var/www/igroove/app/console internet 02 02 * * * /usr/bin/php /var/www/igroove/app/console cron */33 * * * /usr/bin/php /var/www/igroove/app/console sync --from="ldap" --to="DB" --useMQ */3 * * * * /usr/bin/php /var/www/igroove/app/console getConsegne 23 23 * * * /usr/bin/php /var/www/igroove/app/console backup
10. Altre impostazioni
Poi procedere con la configurazione di:
- (script di riavvio)[istruzioniRadius]
- (script di riavvio antenne)[istruzioniUnifi]
- (certificati AD)[risoluzioneProblemi]
Flusso che deriva dai crontab
1. -> alle 01 01 di ogni giorno viene chiesta la sincronizzazione con i dati esterni -> la sincronizzazione può anche avvenire con il bottone sincronizza ora
-> la sincronizzazione presuppone che il db di igroove contenga una copia di Ldap
4. -> ogni 3 minuti vengono verificate nuove consegne
- -> alle 23.23 viene fatto il backup su dropbox
#MEMO supervisor
mkdir /var/log/supervisor apt-get remove python-meld3 supervisor -y apt-get install python-pip -y apt-get autoremove -y pip install supervisor mkdir /etc/supervisor cp -r /var/www/igroove/linuxConfiguration/etc/supervisor/* /etc/supervisor cp /var/www/igroove/linuxConfiguration/etc/supervisord.conf /etc cp /var/www/igroove/linuxConfiguration/init.d/supervisor* /etc/init.d chmod -R 777 /etc/supervisor* systemctl daemon-reload service supervisor restart service supervisor status
Updated