Vtiger 8.4 migration on other hardware

Presupposti: Vtigercrm funzionante e configurato su server#1 si vuole trasferire su altro server#2

Nel mio caso server#1 e server#2 sono macchine ubuntu 22.04

Sul server#2 che dovrà ospitare il vtigercrm trasferito ho installato

  • la stessa distro ubuntu
  • la stessa versione php 8.1

Su server#2

installa 

  • apache
  • mysql
  • phpmyadmin (non indispensabile se sai usare la riga di comando con mysql)

INSTALLA VTIGERCRM

sudo apt install php libapache2-mod-php php-mysql php-curl php-json php-cgi php-imap php-cli php-gd php-zip php-mbstring php-xml -y

Once installed, configure PHP by setting the necessary parameters in the php.ini file.

sudo nano /etc/php/8.3/apache2/php.ini

Modify the following lines to the php.ini file.

memory_limit = 256M
max_execution_time = 60
error_reporting = E_ERROR & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
display_errors = Off
short_open_tag = Off

download ultima versione vtigercrm

wget -O vtigercrm.tar.gz https://sourceforge.net/projects/vtigercrm/files/latest/download

Next, extract the downloaded file and move the extracted files to the Apache web root directory.

tar -xvzf vtigercrm.tar.gz
sudo mv vtigercrm /var/www/html/

Set the correct permissions for the vTiger CRM directory.

sudo chown -R www-data:www-data /var/www/html/vtigercrm
sudo chmod -R 755 /var/www/html/vtigercrm

 

RIMOZIONE DELLA NUOVA INSTALLAZIONE PER CARICARE QUELLA CHE SI VUOLE TRASFERIRE

verifica che la versione vtigercrm nuova installazione funzioni

se funziona: elimina la directory che ospita il sito (nel mio caso) /var/www/html/vtgercrm

sudo -rm -R /var/www/html/vtgercrm

RIMOZIONE VECCHIO DATABASE

elimina il database che è stato creato dall’installazione fresh di vtigercrm (nel mio caso il database si chiama “vtiger”

mysql -u root -p

DROP DATABASE vtiger;

CREAZIONE NUOVO DATABASE E UTENTE

crea un nuovo database “vtiger”

CREATE DATABASE vtiger;

Per sicurezza elimina l’utente “vtiger” dell’installazione fresh

DROP USER ‘vtiger’@’localhost’;

Crea l’utente vtiger nuovo

CREATE USER ‘vtiger’@’localhost’ IDENTIFIED BY ‘password’;

Se l’utente esiste già, e vuoi mantenerlo usa invece:

ALTER USER ‘vtiger’@’localhost’ IDENTIFIED BY ‘password’;

Assegna i permessi

GRANT ALL PRIVILEGES ON vtiger.* TO ‘vtiger’@’localhost’;

Applica le modifiche

FLUSH PRIVILEGES;

EXIT;

IMPORT VECCHIO DATABASE

importa nel nuovo database “vtiger” il backup del database che vuoi importare. Nel mio caso il backup è nella cartella /mnt/CONDIVISA/ e si chiama vtiger.sql (non deve essere in forma compressa, nel caso lo fosse prima scompattalo)

in una bash normale (non sotto i  comandi sql)

mysql -u vtiger -p vtiger < /mnt/CONDIVISA/vtiger.sql

inserisci la password che avevi dato all’utente “vtiger”

inizierà il processo di importazione che durerà un pò (in base alla grandezza del database che stai importando…nel mio caso 400kb di sql hanno impiegato circa 10 minuti

COPIA/INCOLLA DIRECTORY DEL VECCHIO SITO SUL NUOVO

copia la cartella che contiene l’intero sito del vtigercrm che vuoi trasferire, nella root del nuovo sito sul server#2 (nel mio caso /var/www/html/)

dai i permessi corretti

sudo chown -R www-data:www-data vtigercrm

sudo chmod -R 755 vtigercrm

entra nella root del sito e modifica il file config.inc.php (sicuramente sarà da modificare l’indirizzo ip sul quale deve rispondere il nuovo server e nel caso aveste variato user e password dell’utente che accede al database sql

sudo nano /var/www/html/config.inc.ph

CORREZIONE ERRORE IONCUBE

se ora tutto è andato bene, e collegate l’ip del server nuovo http://ip_server/vtigercrm vi uscirà la schermata di login nel quale dovrete accedere con le vostre vecchie credenziali

effettuato l’accesso sicuramente vi apparirà una pagina bianca con questo errore:

Script error: the ionCube Loader for PHP needs to be installed. The ionCube Loader is the industry standard PHP extension for running protected PHP code, and can usually be added easily to a PHP installation. For Loaders please visit get-loader.ioncube.com and for an instructional video please see http://ioncu.be/LV

ecco come risolvere:

Controlla la versione PHP in uso (fondamentale)
php -v

e anche quella usata da Apache:

php -i | grep “Loaded Configuration File”

Verifica se ionCube è installato

php -m | grep -i ioncube

Se non restituisce nulla → ionCube non è installato / non caricato

Scarica ionCube
cd /tmp
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar xzf ioncube_loaders_lin_x86-64.tar.gz

Copia il loader giusto per la tua versione PHP

Esempio PHP 8.1:

cp ioncube/ioncube_loader_lin_8.1.so /usr/lib/php/

(Verifica il percorso corretto con:)

php -i | grep extension_dir

Abilita ionCube in PHP

Apri il file php.ini usato da Apache
(esempio PHP 8.1):

nano /etc/php/8.1/apache2/php.ini

PRIMA di qualsiasi altra extension, aggiungi:

zend_extension=/usr/lib/php/ioncube_loader_lin_8.1.so

Riavvia Apache
sudo systemctl restart apache2

 

Tags:

Comments

Lascia un commento