Instalação i-diário comunidade
Requisitos:
- Ubuntu 18.04 LTS
- Postgres 9.4 - Tenha em mãos usuário, senha e host da conexão
- Git
- Redis Server
Instalação:
Execute os seguintes comandos para copiar o projeto para seu servidor:
cd ~/git clone https://github.com/portabilis/i-diario.gitcd i-diario
Banco de dados
Faça a cópia do arquivo configuração de banco de dados:
cp config/database.sample.yml config/database.yml
Edite o arquivos com as configurações de conexão. Lembre-se de utilizar um senha segura e usuário apenas com permissão a tabela do sistema. Meu arquivo ficou da seguinte forma, atentando:
default: &default
adapter: postgresql
encoding: utf8
pool: 50
username: 'camargo'
password: 'NleP%6wGI04i'
host: localhost
production:
<<: *default
database: idiario_production
development:
<<: *default
database: idiario_development
test:
<<: *default
database: idiario_te
Instalação Ruby
Vou utilizar o rbenv como gerenciador de versão. Faça a instalação conforme documentação constante no projeto.
Para instalação da versão 2.3.7 é necessário instalar algumas dependências:
sudo apt install gcc make libssl1.0-dev libreadline-dev zlib1g-dev libpq-dev g++
O seguinte comando para instalação do ruby:
rbenv install 2.3.7
Após é definido a versão que será utilizado, como existe apenas esse projeto, faço da seguinte forma:
rbenv global 2.3.7
Então instalo o bundler, na versão específica para o projeto:
gem install bundler -v '1.17.3'
Instala as gems do projeto.
bundler install
Configurando
Crie o arquivo config/secrets.yml
com o seguinte conteúdo, ajustando conforme seus parâmetros. É possível colocar mais ambientes além de development
no mesmo arquivo.
development:
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
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
O valor para secret_key_base
pode ser criado com o comando
Crie o arquivo config/aws.yml
com o seguinte conteúdo, ajustando para os seus parâmetro, também sendo possível adicionar outros ambientes além de development
:
development:
access_key_id: AWS_ACCESS_KEY_ID
secret_access_key: AWS_SECRET_ACCESS_KEY
Crie a base de dados:
bundle exec rake db:create
bundle exec rake db:migrate
Gere seus arquivos de mensagem de erro personalizada:
cp public/404.html.sample public/404.html
cp public/500.html.sample public/500.html
Crie a entidade:
bundle exec rake entity:setup NAME=prefeitura2 DOMAIN=<dominio> DATABASE=prefeitura_diario
Então crio o usuário admin
pelo console do rails, bundle exec rails console
e insiro o conteúdo, ajustando para minhas necessidades, utilize exit
para sair do console:
Entity.last.using_connection {
User.create!(
email: 'admin@portabilis.com.br',
password: '123456789',
password_confirmation: '123456789',
status: 'active',
kind: 'employee',
admin: true
)
}
Então inicialize seu servidor rails.
bundle exec rails server
Você pode alterar o ambiente, por padrão é development
, utilizando o RAILS_ENV
. Note que há parâmetros também no rails server
que permitem mudar porta e IP de escuta entre outros, por exemplo:
RAILS_ENV=production bundle exec rails server -b 0.0.0.0 -p 8080