Redmine: Instalação de gerenciador de projetos com software livre [Parte 1]

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 -p

 MariaDB [(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
Anúncios

Um comentário sobre “Redmine: Instalação de gerenciador de projetos com software livre [Parte 1]

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s