Olá! Gostaria de compartilhar com vocês algumas informações e experiências com o Redmine, um excelente gerenciador de projetos com software livre. O Redmine também possui outras aplicações, como gerenciamento de bus e tickets, por exemplo. Porém, neste primeiro momento irei focar na instalação da solução e na sua aplicação para gerenciamento de projetos.
Neste primeiro artigo irei compartilhar os procedimentos para instalação do Redmine 3.4, a última versão Stable neste momento. A instalação será efetuada em Centos 7, através do código fonte, utilizando o MariaDB como banco de dados.
A instalação e configuração do redmine será dividida em diversos artigos e alguns ajustes de segurança precisarão ser feitos. Irei abordar estas questões nos próximos artigos, portanto, este artigo por si só, e na minha humilde visão, não tornam o ambiente apto para produção.
Embora existam distribuições com opções para instalação do Redmine via pacote, decidi utilizar a distribuição onde tenho mais expertise e o procedimento de diretamente pelo código fonte irá permitir que se utilize uma versão mais recente. Não está contemplado neste primeiro artigo, o funcionamento com o Selinux habilitado, portanto, todos os procedimentos foram executados com este serviço desabilitado.
Primeiramente, vamos instalar os pacotes necessários para a compilação e instalação do Redmine:
# yum update
# yum install curl zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel ftp wget ImageMagick-devel gcc-c++ patch readline readline-devel zlib libyaml-devel libffi-devel make bzip2 autoconf automake libtool bison subversion sqlite-devel mariadb-server
Já iremos iniciar a habilitar o MariaDB na inicialização do SO:
systemctl start mariadb
systemctl enable mariadb
Iremos efetuar as configurações básicas de segurança do MariaDB (inserir senha para o root, desabilitar acesso remoto e remover base de testes) e criar a base de dados para o Redmine:
(Substitua redmine_passwd pela senha desejada)
# mysql_secure_installation
# mysql -uroot -pMariaDB [(none)]> CREATE DATABASE redmine CHARACTER SET utf8;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON redmine.* TO ‘redmine’@’localhost’ IDENTIFIED BY ‘redmine_passwd‘;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q
Agora iremos criar o usuário para execução do Redmine e já efetuar os próximos procedimentos como este usuário:
# adduser –home /opt/redmine –shell /bin/bash -c ‘Redmine application’ redmine
# install -d -m 755 -o redmine -g redmine /opt/redmine
# su – redmine
Com o usuário redmine, iremos efetuar a instalação do Ruby:
$ curl -sSL https://rvm.io/mpapis.asc | gpg –import –
$ curl -sSL https://get.rvm.io | bash -s stable –ruby
$ source ~/.rvm/scripts/rvm
$ rvm –default use ruby
Agora vamos efetuar a instalação do redmine:
$ cd && svn co http://svn.redmine.org/redmine/branches/3.4-stable redmine
$ mkdir -p ./redmine/tmp/pids ./redmine/public/plugin_assets
$ cp ./redmine/config/configuration.yml.example ./redmine/config/configuration.yml
$ cp ./redmine/config/database.yml.example ./redmine/config/database.yml
Vamos editar o arquivo de configuração da conexão com a base de dados:
$ vim ./redmine/config/database.yml
Em production, vamos alterar os campos database, host, username e password pela base de dados, host para conexão com o banco de dados, usuário e senha, respectivamente. Nesta instalação, o MariaDB está sendo instalado no mesmo servidor do Redmine, portanto a configuração ficaria da seguinte forma:
Efetuadas as alterações, vamos efetuar a configuração do ambiente do redmine:
$ cd /opt/redmine/redmine
$ echo “gem ‘puma'” >> Gemfile.local
$ echo “gem: –no-ri –no-rdoc” >> ~/.gemrc
$ gem install bundler
$ bundle install –without development test postgresql sqlite
$ rake generate_secret_token
$ RAILS_ENV=production rake db:migrate
$ RAILS_ENV=production REDMINE_LANG=en rake redmine:load_default_data
Vamos agora criar o arquivo de inicialização do redmine:
(Para facilitar, o arquivo está publicado no meu github: puma.rb)
$ vim ./config/puma.rb
#!/usr/bin/env puma
application_path = ‘/opt/redmine/redmine’
directory application_path
environment ‘production’
daemonize true
pidfile “#{application_path}/tmp/pids/puma.pid”
state_path “#{application_path}/tmp/pids/puma.state”
stdout_redirect “#{application_path}/log/puma.stdout.log”, “#{application_path}/log/puma.stderr.log”
bind “tcp://0.0.0.0:9000”
Efetuada as configurações, o redmine já pode ser inicializado com o comando abaixo:
$ cd /opt/redmine/redmine/ && bundle exec puma –config config/puma.rb
Algumas informações importantes:
- Nos próximos artigos irei contemplar ajustes de segurança do Redmine, a configuração de um proxy reverso com Nginx com acesso criptografado, criação do script de gerenciamento do serviço e configurações iniciais.
- O redmine será acessado pelo endereço do seu servidor na porta 9000
- O usuário inicial é admin e a senha admin
- Para encerrar o serviço, liste os processos do puma (ps aux | grep puma) com o usuário redmine e mate (kill) o processo. Para inicializar novamente, repita o comando apresentado no artigo
Um comentário sobre “Redmine: Instalação de gerenciador de projetos com software livre [Parte 1]”