Segue o manual atualizado:
Atualização do nginx
#Para que o nginx tenha suporte ao Ruby, é necessário a sua reinstalação. Seguem os passos:
Cria cópias de segurança dos arquivos da pasta: /etc/nginx/sites-available/
Remove o nginx
Segue os passos da página: https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/ownserver/nginx/oss/install_passenger_main.html
Preparando a instalação
#Instalação das dependências:
sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion libxslt-dev libxml2-dev zlib1g-dev tcl
#Recomendo remover a versão do Ruby que vem por padrão no Ubuntu pelo comando:
sudo apt-get remove ruby
#Instala o rvm. Para instalar o rvm, seguir os passos da página: https://github.com/rvm/ubuntu_rvm
#Instala a versão específica do Ruby (essa informação fica no arquivo ‘Gemfile’) é feita inserindo o comando abaixo:
rvm install ruby-<versão>
#Para que o rvm e Ruby estejam no PATH, inserir o comando abaixo:
echo "source <rvm path>/scripts/rvm" >> ~/.bash_profile
Após a instalação do Ruby, deve-se dar permissão de escrita pelo comando:
sudo chmod -R 777 /<pasta do usuário>/.rvm/gems/ruby-<versão>
O Ubuntu 18.04 vem com o apache ativado por padrão, para instalar e executar o nginx é necessário desabilitar o apache a partir dos comandos abaixo:
sudo systemctl stop apache2
sudo systemctl disable apache2
#Baixar o i-Diario. Os arquivos do i-Diário estão no endereço: https://github.com/portabilis/i-diario/releases . Deve ser baixado a última versão. O pacote pode ser descompactado na pasta raiz: /var/www/
Instalação do i-Diário
#atribuir como proprietário da pasta da aplicação o usuário do sistema, pelo comando:
sudo chown -R <usuario> <caminho do i-diario>
#criar a pasta de relatórios, pelo seguinte comando (talvez não seja necessário em versões mais recentes):
mkdir <pasta do i-diario>/public/relatorios/
conceder permisão de leitura e escrita para a pasta de relatórios pelo seguinte comando:
sudo chmod -R 777 <pasta do i-diario>/public/relatorios/
criar arquivo de configuração do banco de dados a partir do modelo:
cp config/database.sample.yml config/database.yml
informa o banco de dados de produção no arquivo ‘config/database.yml’ adicionando as seguintes linhas:
production:
<<: *default database: educacao
#no mesmo arquivo configura os campos: owner, username e password;
#executa os comandos:
export RAILS_ENV=production
bundle
bundle install --deployment --without development test
#configurar o arquivo config/secrets.yml , para gerar a senha, usa o comando:
bundle exec rake secret
production:
secret_key_base: < senha gerada>
#executa os comandos:
bundle exec rake db:create
bundle exec rake db:migrate
bundle exec rake assets:precompile
bundle exec rake entity:setup NAME=prefeitura DOMAIN=<ip público ou domínio> DATABASE=prefeitura_diario
bundle exec rails console
Entity.last.using_connection {
User.create!(
email: 'admin@domain.com.br',
password: '123456789',
password_confirmation: '123456789',
status: 'actived',
kind: 'employee',
admin: true
)
}
adicionar ao arquivo de configuração do nginx (caso já tenha as informações do ieducar): /etc/nginx/sites-enabled/<arquivo de configuração>
server {
listen 8080;
listen [::]:8080;
server_name _;
root < caminho do idiario>/public;
passenger_enabled on;
passenger_app_root < caminho do idiario>;
passenger_enabled on;
passenger_app_env production;
#serve static assets
location ~ ^/assets/ {
expires off;
root < caminho do idiario>/public;
add_header Cache-Control public;
add_header ETag "";
break;
}
}
exit
reinicia o nginx
Sincronização com i-Educar
#instala o redis (talvez não seja necessário em versões mais recentes)
Para instalar o redis, seguir as instruções da página https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04
#Configura o arquivo de inicialização do sidekiq. Para configurar o arquivo de inicialização do sidekiq, cria o mesmo com o caminho ‘config/initializers/sidekiq.rb’ , na sequência, insere o conteúdo abaixo:
require 'sidekiq'
Sidekiq.configure_server do |config|
config.redis = { url: 'redis://localhost:6379' }
end
Sidekiq.configure_client do |config|
config.redis = { url: 'redis://localhost:6379' }
end
#Configurando a inicialização do sidekiq. Para que o sidekiq execute sempre que o computador reiniciar, será necessário criar um script, por exemplo: ‘run_sidekiq.sh’ com atributos de executável e o seguinte conteúdo:
#!/bin/sh
cd /<caminho do i-diario>
bundle exec sidekiq -d -L log/sidekiq.log -C config/sidekiq.yml -e production
exit 0
#Na sequência será necessário adicionar ao cron uma tarefa que rode o script a cada inicialização do sistema