Più istanze

Qisutu può eseguire in parallelo istanze di produzione, test e sviluppo sullo stesso server. Ogni istanza necessita di una propria directory principale. Il nome della directory viene utilizzato senza modifiche come identificatore dell’istanza.

Struttura di esempio

/opt/qisutu       Istanza di produzione
/opt/qisututest   Istanza di test
/opt/qisutudev    Istanza di sviluppo

Per /opt/qisututest, install.sh crea automaticamente:

  • Percorso web /qisututest

  • File Apache qisututest.conf

  • Servizio qisututest-daemon.service

  • Cookie di sessione QISUTUTEST_SESSION

  • Database e utente del database qisututest

Il nome della directory deve iniziare con una lettera minuscola e può contenere solo lettere minuscole, numeri e trattini. Utilizzare nomi brevi e univoci. Non viene aggiunto alcun prefisso ulteriore.

Installare un’altra istanza

Estrarre nuovamente la release in una directory propria ed eseguire lì install.sh. Esempio:

cd /opt
tar xzf qisutu-1.0.2.tar.gz
mv qisutu-1.0.2 qisututest
chown qisutu:www-data -R /opt/qisututest
cd /opt/qisututest
chmod +x install.sh
./install.sh

Aprire quindi il programma di installazione web indicato, ad esempio http://SERVER/qisututest/install.pl. I valori dell’istanza vengono salvati in var/install/instance.conf e riutilizzati durante gli aggiornamenti.

Separazione delle istanze

Le istanze condividono sistema operativo, Apache e l’utente di sistema qisutu, ma dispongono di directory del programma, percorsi web, configurazioni, database, cookie, servizi, registri e blocchi di esecuzione separati. Possono quindi essere avviate, arrestate e aggiornate in modo indipendente:

systemctl status qisutu-daemon.service
systemctl status qisututest-daemon.service
systemctl restart qisututest-daemon.service

Note operative

  • Utilizzare caselle di posta dedicate per le istanze di test. Una casella di produzione non deve essere recuperata contemporaneamente da un’istanza di test.

  • Utilizzare nomi host pubblici separati o controllare attentamente i percorsi web per evitare che gli utenti lavorino accidentalmente nel sistema di test.

  • Eseguire backup e aggiornamenti per ogni istanza separatamente.

  • Prima di un aggiornamento, controllare sempre percorso, nome dell’istanza, servizio e nome del database mostrati dall’updater.

  • Non copiare mai var/secure/security.key tra istanze indipendenti. La chiave appartiene esclusivamente alla propria installazione.