Instalação I-Diário Ubuntu 18.04
Instalação Postgresql
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install postgresql libpq-dev -y
$ sudo vim /etc/postgresql/9.6/main/pg_hba.conf (vai depender da versão do postgres)
Altere as linhas 90 e 92
“local” is for Unix domain socket connections only
local all all peer
host all all 127.0.0.1/ md5 # Apenas localhost
Para:
“local” is for Unix domain socket connections only
local all all md5 # Altera a forma de envio de senha
IPv4 local connections:
host all all 0.0.0.0/0 md5 # liberar a conexão para qualquer IP
Salve e saia do arquivo.
$ sudo vim /etc/postgresql/9.6/main/postgresql.conf
Criar usuário do banco de dados:
$ sudo -u postgres createuser idiario
Acesse console do postegres:
$ sudo -u postgres psql # Caso precise altere a senha do postgres
alter user postgres with encrypted password ‘sua_senha’;
Mudar a senha do usuário ieducar:
alter user idiario with encrypted password ‘sua_senha’;
Concede permissões ao usuário de criar banco de dados e regras:
alter user idiario with SUPERUSER;
sair do console postgres:
\q
Reiniciar o serviço do banco de dados:
$ sudo service postgresql restart
Instala o Ruby usando o RVM
O RVM é a ferramenta para instalar, gerenciar e trabalhar com vários ambientes Ruby.
$ sudo apt install gnupg2
$ gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
7D2BAF1CF37B13E2069D6956105BD0E739499BDB
$ sudo apt install curl
$ \curl -sSL https://get.rvm.io | bash -s stable
$ source /home/usuario/.rvm/scripts/rvm
$ rvm install “ruby-2.3.7”
Verificar a versão
$ ruby --version
Instalação do i-Diário
Caso o git não esteja instalado use o comando
$sudo apt install git
Baixar o i-Diário:
$ git clone https://github.com/portabilis/i-diario.git
$ cd i-diario
Copiar o exemplo de configurações de banco de dados e configurar:
$ cp config/database.sample.yml config/database.yml
Adicionar um banco de dados no final do arquivo config/database.yml
$ vim config/database.yml
Altere as linhas 5 e 6 adicionando o usuário que foi criado nos passos anteriores:
username:idiario
password:sua_senha
Para o modo Produção, adicione no fim do arquivo o seguinte bloco, caso contrário ignore essa e salve o arquivo :
production:
<<: *default
database: educacao
Apenas para o Modo Produção
Altera as linhas do arquivo /config/enviroments/production.rb
$ /config/enviroments/production.rb
config.serve_static_files = true
config.assets.compile = true
Modo Develop
$ gem install bundler -v ‘1.17.3’
$ vim Gemfile
Insira as seguintes linhas:
na linha 23 - gem ‘dry-inflector’, ‘0.1.2’
na linha 63 gem ‘signet’, ‘0.11.0’
$ bundle install
Modo Produção
Executa os comandos:
$ gem install bundler -v ‘1.17.3’
$ export RAILS_ENV=production
$ vim Gemfile
Insira as seguintes linhas:
na linha 23 - gem ‘dry-inflector’, ‘0.1.2’
na linha 63 gem ‘signet’, ‘0.11.0’
$ bundle install
$ bundle install --deployment --without development test
Criar arquivo config/secrets.yml
$ vim config/secrets.yml
development::
secret_key_base: CHAVE_SECRETA
Para modo Produção
production:
secret_key_base: CHAVE_SECRETA
SMTP_ADDRESS: SMTP_ADDRESS
SMTP_PORT: SMTP_PORT
SMTP_DOMAIN: SMTP_DOMAIN
SMTP_USER_NAME: SMTP_USER_NAME
SMTP_PASSWORD: SMTP_PASSWORD
BUCKET_NAME: S3_BUCKET_NAME
usa o comando para gerar a senha:
$ bundle exec rake secret
Edite o arquivo config/secrets.yml e acione a senha gerada
$ vim config/secrets.yml
production:
secret_key_base: senha gerada
Criar e configurar o arquivo config/aws.yml conforme o exemplo:
$ vim config/aws.yml
development:
access_key_id: AWS_ACCESS_KEY_ID
secret_access_key: AWS_SECRET_ACCESS_KEY
Criar páginas de erro simples:
$ cp public/404.html.sample public/404.html
$ cp public/500.html.sample public/500.html
Para modo Develop rode os comandos do banco de dados :
$ bundle exec rake db:create
$ bundle exec rake db:migrate
Para modo Produção rode os comandos do banco de dados :
$ bundle exec rake db:create
$ bundle exec rake db:migrate
$ bundle exec rake assets:precompile
Configuração da Aplicação
Criar uma entidade:
Com IP local ou público
bundle exec rake entity:setup NAME=prefeitura DOMAIN=192.168.0.50 DATABASE=prefeitura_diario
Com domínio
bundle exec rake entity:setup NAME=prefeitura DOMAIN=prefeitura.com.br DATABASE=prefeitura_diario2
Para a criação de mais de uma entidade, altere os campos Damain e Database.
Criar um usuário administrador:
Abra o rails console.
$ bundle exec rails console
Cole o seguinte bloco:
Entity.last.using_connection {
User.create!(
email: ‘admin@domain.com.br’,
password: ‘123456789’,
password_confirmation: ‘123456789’,
status: ‘active’,
kind: ‘employee’,
admin: true
)
}
Para sair do console digite exit ou Ctrl + C
Para iniciar o sistema:
$ bundle exec rails server -b 0.0.0.0 -p 3000
Para manter o console liberado use:
$ bundle exec rails server -b 0.0.0.0 -p 3000 -d
http://ip_do_servidor:3000
Modo Produção
Após reiniciar o servidor, executar o comando abaixo
$ RAILS_ENV=production bundle exec rails server -b 0.0.0.0 -p 3000
$ RAILS_ENV=production bundle exec rails server -b 0.0.0.0 -p 3000 -d
http://ip_do_servidor:3000
Configuração e Sincronização
Acesse o sistema e logue com usuário administrador
1 - acesse o menu Configurações -> Entidade
Preencha os dados da entidade e insira a logo do município
2 - Configurações -> Permissões
Crie os níveis de permissões para cada grupo de usuário, definido o que cada grupo pode fazer.
3 - No menu Administrativo -> Configurações gerais
Preencha os dados e o mais importante defina a permissão padrão para servidores, essa permissão foi criada no passo anterior.
Sincronização com i-Educar (no ambiente)
4 - No menu Configurações -> API de Integração
Preencha os dados solicitados, volte para o terminal e gere duas novas chaves secretas, usando o comando bundle exec rake secret, ou usar qualquer outro para gerar as chaves e clique em salvar para finalizar, porém não execute a sincronização, ainda falta as configurações do i-educar e do sidekiq.
5 - Acesse o terminal do I-educar e altere o arquivo .env
Na minha instalação em /var/www/html/ieducar/ adicione as chaves geradas
$ vim /var/www/html/ieducar/.env
API_ACCESS_KEY= sua_chave (Chave de acesso)
API_SECRET_KEY=sua_chave2 (Chave secreta)
Salve o arquivo e pode fechar o terminal
6 - Volte pro terminal do i-diario e rode o comando dentro do diretorio do i-diario.
$ bundle exec sidekiq
A tela abaixo deverá ser apresentada, mostrando o sidekiq rodando.
6 - Volte para a página do i-diario, no menu Configurações -> API de Integração e clique em sincronização completa.
Note que irá começar o processo de sincronização, como mostra a tela abaixo.
volte para o terminal e veja o processo sendo executado.
Tanto a página quanto a terminal não avisam o fim da atualização, espere cerca de 2min e atualize a página de sincronização, o tempo vai depender do tamanho da sua base de dados do i-educar e do hardware do servidor do i-diario, que podem variar com o tempo da sincronização, note que poderá apresenta o status atual da sincronização em porcentagem ou que já foi finalizado.
7 - No menu Configurações -> Unidades
Clique em Sincronizar
As unidades deverão aparecer, marque todas e clique em sincronizar, se tudo ocorreu bem, receberá um alerta de Unidades sincronizadas com sucesso e toda vez que criar uma nova escola, esse procedimento deverá ser refeito.
8 - No menu Calendário letivo, clique em Sincronizar.
Note que irá aparecer os calendário das escolas, marque todos e clique em sincronizar se tudo ocorreu bem, receberá um alerta de Calendários letivos sincronizados com sucesso, e os calendário das escolas saíram da tela e estão configurados.
9 - Volte para menu Configurações -> Unidades
Clique em Sincronização Completa, note que agora o sistema irá demorar um pouco mais para realizar a sincronização.
Sistema sincronizado e pronto para uso, segundo a manual do git,
Nota: Após esses primeiros passos, recomendamos que a sincronização rode pelo menos diariamente para manter o i-Diário atualizado com o i-Educar
Caso fique a formatação aqui no fórum não fique legal, deixe o link para baixar o arquivo em pdf.
Link do arquivo pdf