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 do seu próprio diretório principal. O nome desse diretório é utilizado 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

  • Ficheiro do Apache qisututest.conf

  • Serviço qisututest-daemon.service

  • Cookie de sessão QISUTUTEST_SESSION

  • Base de dados e utilizador da base de dados qisututest

O nome do diretório tem de começar por uma letra minúscula e só pode conter letras minúsculas, números e hífenes. Utilize nomes curtos e inequívocos. Não é adicionado nenhum prefixo adicional.

Instalar outra instância

Extraia novamente a versão para um diretório próprio e execute nele install.sh. 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 apresentado, por exemplo http://SERVER/qisututest/install.pl. Os valores da instância são guardados em var/install/instance.conf e reutilizados nas atualizações.

Separação de instâncias

As instâncias partilham o sistema operativo, o Apache e o utilizador do sistema qisutu, mas possuem diretórios de programa, caminhos Web, configurações, bases de dados, cookies, serviços, registos 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

Notas de operação

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

  • Utilize nomes de anfitrião públicos separados ou verifique cuidadosamente os caminhos Web para evitar que os utilizadores trabalhem por engano no sistema de teste.

  • Faça cópias de segurança e atualize cada instância separadamente.

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

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