Plusieurs instances

Qisutu peut exécuter en parallèle des instances de production, de test et de développement sur le même serveur. Chaque instance nécessite son propre répertoire principal. Le nom de ce répertoire est utilisé tel quel comme identifiant d’instance.

Exemple de structure

/opt/qisutu       Instance de production
/opt/qisututest   Instance de test
/opt/qisutudev    Instance de développement

Pour /opt/qisututest, install.sh crée automatiquement :

  • Chemin web /qisututest

  • Fichier Apache qisututest.conf

  • Service qisututest-daemon.service

  • Cookie de session QISUTUTEST_SESSION

  • Base de données et utilisateur de base de données qisututest

Le nom du répertoire doit commencer par une lettre minuscule et ne contenir que des lettres minuscules, des chiffres et des tirets. Utilisez des noms courts et explicites. Aucun préfixe supplémentaire n’est ajouté.

Installer une instance supplémentaire

Extrayez à nouveau la version dans un répertoire dédié et exécutez-y install.sh. Exemple :

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

Ouvrez ensuite l’installateur web indiqué, par exemple http://SERVER/qisututest/install.pl. Les valeurs de l’instance sont enregistrées dans var/install/instance.conf et réutilisées lors des mises à jour.

Séparation des instances

Les instances partagent le système d’exploitation, Apache et l’utilisateur système qisutu, mais disposent de répertoires de programme, chemins web, configurations, bases de données, cookies, services, journaux et verrous d’exécution séparés. Elles peuvent donc être démarrées, arrêtées et mises à jour indépendamment :

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

Remarques d’exploitation

  • Utilisez des boîtes aux lettres propres pour les instances de test. Une boîte de production ne doit pas être relevée simultanément par une instance de test.

  • Utilisez des noms d’hôte publics distincts ou vérifiez soigneusement les chemins web afin que les utilisateurs ne travaillent pas par erreur dans le système de test.

  • Sauvegardez et mettez à jour chaque instance séparément.

  • Avant une mise à jour, vérifiez toujours le chemin, le nom de l’instance, le service et le nom de la base de données affichés par l’outil de mise à jour.

  • Ne copiez jamais var/secure/security.key entre des instances indépendantes. La clé appartient exclusivement à son installation.