Várias instâncias

O Qisutu pode executar instâncias de produção, teste e desenvolvimento em paralelo no mesmo servidor. Cada instância precisa de seu próprio diretório principal. O nome desse diretório é usado sem alterações como identificador da instância.

Estrutura de exemplo

/opt/qisutu       Instância de produção
/opt/qisututest   Instância de teste
/opt/qisutudev    Instância de desenvolvimento

Para /opt/qisututest, install.sh cria automaticamente:

  • Caminho web /qisututest

  • Arquivo do Apache qisututest.conf

  • Serviço qisututest-daemon.service

  • Cookie de sessão QISUTUTEST_SESSION

  • Banco de dados e usuário de banco de dados qisututest

O nome do diretório deve começar com letra minúscula e conter somente letras minúsculas, números e hífens. Use nomes curtos e claros. Nenhum prefixo adicional é acrescentado.

Instalar outra instância

Extraia a versão novamente em um diretório próprio e execute install.sh nele. Exemplo:

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

Depois, abra o instalador web exibido, por exemplo http://SERVER/qisututest/install.pl. Os valores da instância são salvos em var/install/instance.conf e reutilizados nas atualizações.

Separação de instâncias

As instâncias compartilham o sistema operacional, o Apache e o usuário do sistema qisutu, mas possuem diretórios de programa, caminhos web, configurações, bancos de dados, cookies, serviços, logs e bloqueios de execução separados. Por isso, podem ser iniciadas, paradas e atualizadas de forma independente:

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

Observações operacionais

  • Use caixas de correio próprias para instâncias de teste. Uma caixa de produção não deve ser coletada simultaneamente por uma instância de teste.

  • Use nomes de host públicos separados ou verifique cuidadosamente os caminhos web para evitar que os usuários trabalhem por engano no sistema de teste.

  • Faça backup e atualize cada instância separadamente.

  • Antes de uma atualização, sempre verifique o caminho, o nome da instância, o serviço e o nome do banco de dados exibidos pelo atualizador.

  • Nunca copie var/secure/security.key entre instâncias independentes. A chave pertence exclusivamente à sua instalação.