O que é necessário (configurações básicas) para ter um cliente rodando?
Para cadastrar um cliente é necessário:
- Um plano cadastrado previamente.
- Estrutura de pastas configurados corretamente.
- Link simbólico apontando para a versão correta do sistema.
- Banco de dados Unilab e seus dados de acesso.
Antes de cadastrar um cliente é necessário cadastrar pelo menos um plano. Para isso basta logar como Usuário (Comercial/Uniware) acessar o menu Planos e cadastrar.
Então podemos acessar o Uniexames e cadastrar o novo cliente respeitando o CNPJ e código ADM definido no Unilab. Também devemos informar o subdomínio escolhido pelo cliente. Mesmo que o cliente utilize domínio próprio deve-se informar um subdominio, pois o sistema utiliza o subdominio para identificar a pasta do cliente.
A partir desse ponto começam as diferenças entre o Unixames que se encontra no Datacenter e no Tesla.
Datacenter
Certificado que a aplicação está corretamente configurada no Apache (sessão O que é necessário para a implantação/deploy do unilaudos?), devemos criar a pasta do novo cliente.
Dentro da pasta clientes (definida no servidor / Apache) devemos criar a pasta do cliente nomeada exatamente igual ao subdominio escolhido. Nos clientes Datacenter, também deve-se criar as pastas assets, css, img e resultados conforme a estrutura abaixo.
clientes └── novoclientelab └── uniexames (Link) └── resultados └── assets └── css └── img
Nesses clientes, devemos criar um link simbólico que aponte para a aplicação. Exemplo:
- Linux: ln -s /var/www/aplicacao_v1/web/ unilaudos
- Windows: mklink /D unilaudos C:\www\aplicacao_v1\web
OBS: O caminho da aplicação não foi definido até a escrita desse texto.
Por último, basta acessar o Uniexames como super usuário (UNIWARE) clicar no ícone de engrenagem do novo cliente na listagem de clientes e cadastrar as informações de acesso ao banco de dados. Lembrando que, para os clientes que não são datacenter, o banco de dados do Unilab do cliente precisa estar criado e com as permissões corretas para que as tabelas do mesmo sejam criadas automaticamente.
Também devemos informar o caminho em que foi criada a nova pasta do cliente no campo Diretório.
Agora basta acessar a URL do cliente que estará funcionando.
Caso o cliente utilize domínio próprio será necessário parkear para o subdominio unilaudos (ex.: www.novoclientelab.unilaudos.com.br).
Tesla
No que diz respeito aos requisitos do servidor, as únicas verificações que precisam ser feita para cada cliente referem-se a versão do PHP e às extensões dele. Para isso, acesse o CPanel do domínio e certifique que em “Select PHP Version” está selecionado PHP 7. As extensões intl, fileinfo, pdo_mysql, zip e gd também devem ser marcadas.
Para mais informações técnicas e dados de acesso, consulte o documento Uniexames no Tesla.
Estrutura de Pastas
Na raiz do usuario (/home/uniexame) ficará uma pasta yii e onde é feito o upload de todo conteúdo da pasta app. Após o versionamento teremos várias pastas yii (ex.: yii_v0_5, yii_vX_Y) e um link current que apontará para a pasta yii da versão atual.
Ainda na raiz, deve haver uma pasta public_html. Essa pasta irá receber o conteúdo da pasta web. Não confundir com a pasta public_html que fica dentro da pasta de cada domínio e que serve para armazenar os arquivos específicos de cada laboratório.
Abaixo segue um exemplo de como seria a estrutura de pastas nessa configuração:
/home/uniexame ├── labclin.uniexames.com.br │ ├── uniexames -> /home/uniexame/current │ ├── resultados (pasta de laudos - PDFs) │ ├── tmp (pasta de dados temporários - Zip) │ ├── dbUnilab.php (config banco do cliente - Unilab) │ └── public_html │ ├── assets │ ├── css │ ├── img │ ├── progs │ ├── img-geral -> /home/uniexame/public_html/img-geral │ └── js-geral -> /home/uniexame/public_html/js-geral ├── labxyz.uniexames.com.br │ └── uniexames -> /home/uniexame/current │ └── resultados │ └── tmp │ └── dbUnilab.php │ └── public_html │ ├── assets │ ├── css │ ├── img │ ├── progs │ ├── img-geral -> /home/uniexame/public_html/img-geral │ └── js-geral -> /home/uniexame/public_html/js-geral ├── public_html │ ├── assets │ ├── css │ ├── img │ ├── progs │ ├── img-geral (local das imagens do Adm e e daquelas compartilhadas entre todos os clientes) │ └── js-geral (local dos js compartilhados entre todos os clientes) ├── current -> yii_vX_Y └── yii_vX_Y
Deploy
Ao contrário do que ocorre no Datacenter, para clientes no Tesla, o processo de acessar o Uniexames como super usuário (UNIWARE) e clicar no ícone de engrenagem do cliente já executa o deploy completo do Uniexames. Ele cria automaticamente todas as pastas específicas de cada cliente, faz as alterações necessárias no banco de dados e nos domínios. Sendo assim, basta fazer o processo e acessar a URL do cliente que o site estará online.
Caso seja necessário fazer a subida de versão, é preciso executar o deploy manualmente via console. Deve-se indicar uma nova pasta destino no arquivo de configuração.
./yii deploy/update-uniexames
OBS: antes de executar o comando, sempre revisar a configuração no deployConfig.php que está na máquina onde o update-uniexames será executado