Documentação

25 Instalação

Depois do download da aplicação, é necessário extrair o conteúdo do arquivo e colocar o projeto no local adequado. Em servidores linux /var/www/html/<minha-aplicacao>.

Junto com a aplicação o Adianti Builder gera um arquivo install.php que dará o pontapé inicial da aplicação criando os bancos de dados necessários e todas as configurações básicas de usuários, grupos, programas e permissões. Para executar basta acessar esse arquivo .php pelo navegador.

O instalador conta com três etapas:

  1. Verificação da versão do PHP e extensões instaladas.

  2. Verificação de diretórios

  3. Instalando a sua aplicação

25.1 Verificação do PHP

A primeira etapa é uma verificação das extensões php que precisam estar instaladas no servidor para o funcionamento da aplicação. As extensões não instaladas apresentam um exemplo de comando para a instalação no ambiente linux.

Atenção: é necessário instalar apenas a extensão do banco de dados que você utiliza.

Install step 001

Após instalar as extensões necessárias para a execução da aplicação clique em Próximo.

25.2 Verificação de diretórios

A segunda etapa é referente a verificação de permissões nos diretórios da aplicação. Alguns diretórios precisam ter permissão de escrita para upload de arquivos ou atualizações de páginas.

Um exemplo de comando para conceder permissões em ambiente linux seria:

chmod 775 <diretório>

Install step 2

25.3 Configuração do banco de dados

Depois de configurar o servidor é necessário configurar todos os bancos de dados que serão criados. Como mencionado no capítulo 4 Modelos de dados, o Adianti Builder gera três bancos de dados independentes do banco da aplicação gerada, são eles:

  • Permission: responsável pelos controles de acessos e permissões do sistema.

  • Communication: responsável pelas trocas de mensagens e arquivos dentro do sistema.

  • Log: responsável pelo registro de alterações dos dados do sistema e instruções SQL executadas.

Além destes três bancos de dados deverão ser configurados todos os demais criados pelo(s) responsável(eis) do projeto. Para todas as bases de dados deve-se informar:

Propriedade Valor
Tipo da base de dados PostgreSQL, MySQL, Oracle, SQLite, SQL Server.
Usuário admin Super usuário do banco de dados.
Host IP do banco de dados.
Usuário Usuário dono do banco de dados.
Nome da base de dados Nome do banco de dados da aplicação.
Senha do usuário admin Senha do super usuário do banco de dados.
Porta Porta de comunicação do banco de dados no servidor.
Senha Senha de acesso para o banco de dados.

Install step 3

Depois de configurar devidamente cada banco de dados basta clicar no botão Instalar e a aplicação estará disponível.

⧸⧸Após a instalação é exibido um log com as operações realizadas nas bases.

Log instalação⧸⧸

25.4 Instalação manual

É possível realizar a instalação manual da aplicação, para isso alguns passos devem ser seguidos depois de realizar o download e extração da aplicação:

  1. Criar o usuário que acessará a aplicação.

  2. Criar a base de dados.

  3. Criar a estrutura do banco de dados.

  4. Inserir os dados pré-cadastrados durante a modelagem de dados.

  5. Criar bases de dados complementares: permissão, comunicação e log.

  6. Criar a estrutura das bases auxiliares.

  7. Cadastrar programas e permissões da aplicação.

  8. Ajustar os arquivos de configuração.

Todos os comandos exemplo do passo-a-passo a seguir serão compatíveis com bancos de dados PostgreSQL, para outros tipos de banco os comandos podem variar.

25.4.1 Criar usuário

Acesso o banco de dados com um usuário com permissão de criação de outros usuários, um exemplo seria acessar o banco com usuário postgres.

psql -U postgres -h <meu-host>

Para criar um usuário digite o seguinte comando:

create user <usuario> with encrypted password '<minha-senha>';

25.4.2 Criar base de dados

Ainda conectado como postgres, basta executar o seguinte comando para criar o banco de dados da aplicação:

create database <banco> owner <usuario>;

25.4.3 Criar estrutura da base de dados

Ao gerar uma aplicação pelo Adianti Builder será criado um arquivo por tipo de banco de dados contendo toda a estrutura da aplicação. O script SQL contendo a estrutura de criação da base de dados da aplicação está localizado dentro da aplicação no seguinte diretório:

app/database/

Scripts criação bases

Os scripts de criação estarão nomeados com o nome do modelo de dados seguido pelo tipo de banco de dados, um exemplo seria: mini_erp-pgsql.sql.

Para criar a estrutura da base basta acessá-la e executar todos os comandos contidos no arquivo de criação.

Comando para conexão na base como usuário dono:

psql -U <usuario> <minha-aplicação> -h < meu-host>

Um exemplo real de comando seria:

psql -U mini_erp mini_erp -h localhost

Uma vez conectado a base de dados basta colar todos os comandos contidos no arquivo de criação.

25.4.4 Dados pré-cadastrados

Durante a modelagem de uma aplicação no Adianti Builder é possível inserir alguns dados nas tabelas, para que possam ser usados como constante ou pré-cadastrar esses registros nas tabelas.

Se durante a modelagem dados forem inseridos ao gerar a aplicação o Adianti Builder irá criar um arquivo contendo instruções de inserção destes dados. Este arquivo fica dentro do diretório app/database/ e seu nome segue o seguinte padrão <nome-aplicação>-inserts.sql. Basta executar os comandos contidos neste arquivo no banco de dados da aplicação para que os dados cadastrados durante a modelagem façam parte da base.

25.4.5 Bases complementares

O processo de criação das bases auxiliares é o mesmo da criação da base principal. É possível usar o mesmo usuário para todos os bancos ou criar um usuário para base:

Usuários

create user <usuario>_permission with encrypted password '<minha-senha>';

create user <usuario>_communication with encrypted password '<minha-senha>';

create user <usuario>_log with encrypted password '<minha-senha>';

Bases

create database <banco-permission> owner <usuario>_permission; create database <banco-communication> owner <usuario>_communication; create database <banco-log> owner <usuario>_log;

25.4.6 Estruturas auxiliares

O processo de criação das estruturas auxilares é o mesmo da criação da estrutura principal, basta acessar a base em questão e colar os comandos contidos no arquido de criação.

Os arquivos contendo as estruturas auxiliares ficam no diretório: app/database/

O arquivo de permissões, além da criação das tabelas contém instruções de inserção de programas e permissões para todas as telas administrativas.

25.4.7 Cadastrar programas e permissões

Além das permissões administrativas é necessário cadastrar as permissões de todas as páginas criadas dentro do Adianti Builder. O arquivo inserts-permission.sql pode ser encontrado no diretório app/database/, nele ficam todas as instruções para inserir permissões de acesso as páginas da aplicação.

Essas instruções SQL devem ser executadas dentro da base de dados de permissões. A permissão de todos os programas será concedida para o grupo Admin.

25.4.8 Ajustar arquivos de configuração

Os arquivos de configuração das bases de dados ficam dentro da aplicação no diretório:

app/config/.

Em uma aplicação típica são 4 arquivos que devem ser configurados:

  1. <meu-banco>.ini

  2. permission.ini

  3. log.ini

  4. communication.ini

Dentro de um arquivo de configuração existem alguns atributos obrigatórios:

  1. host: IP ou DNS do banco de dados.

  2. name: Nome do banco de dados.

  3. user: Usuário que acessará o banco de dados pela aplicação.

  4. pass: Senha de acesso do usuário no banco de dados.

  5. type: Tipo do banco de dados (pgsql, mysql, sqlite, etc).

Além dos atributos obrigatórios existem alguns que são opcionais:

  1. port: Porta de conexão com o banco de dados. Quando deixado em branco é usada a porta padrão do banco.

  2. prep: Pode ser preenchido com o valor 1 ou ser deixado em branco, caso preenchido com o valor 1 a aplicação executará todos os comandos de forma Prepared Statements. Para mais informações sobre consultas Prepared Statements acesse o link.

  3. slog: Este atributo recebe o nome de uma classe PHP que irá controlar o registro de log de todas as instruções SQL. O Adianti Framework já possui uma classe que controlar os logs: SystemSqlLog.

Alguns exemplos de arquivos .ini:

Exemplo de ini

Exemplo de ini

25.5 Instalação genérica

Nesta seção será passado um passo-a-passo em alto nível que pode ser aplicado na instalação de qualquer tipo de banco de dados.

Observação: Não é necessário criar usuários ou bases separadas para cada modelo, todas podem ficar dentro de uma mesma. Por motivos de organização é recomendado separar as bases e usuários.

Como administrado do banco executes estas operações:

Banco de dados "permission"

  1. Criar usuário <minha-base>_permission.

  2. Criar a base de dados permission utilizando o usuário <minha-base>_permission utilize o SQL app/databae/permission.sql

  3. Dentro da base permissionexecute o script inserts-permission.sql

Banco de dados "communication"

  1. Criar usuário <minha-base>_communication.

  2. Criar a base de dados communication utilizando o usuário <minha-base>_communication utilize o SQL app/databae/communication.sql

Banco de dados "log"

  1. Criar usuário <minha-base>_log.

  2. Criar a base de dados log utilizando o usuário <minha-base>_log utilize o SQL app/databae/log.sql

Banco de dados "<minha-base>"

  1. Criar usuário <minha-base>.

  2. Criar a base de dados <minha-base> utilizando o usuário <minha-base> utilize o SQL app/databae/<minha-base>.sql.

  3. Dentro da base <minha-base> executar o script <minha-base>-inserts.sql.