Demorou, mas estou postando novamente.
Hoje gostaria de apresentar uma ferramente para gerenciamento de projetos de software, o Redmine. Dentre todos os gerenciadores que já utilizei este é o mais simples e o mais completo que encontrei.
Não irei falar sobre como utilizar esta ferramenta, mas sim, como realizar sua instalação em um servidor Linux Debian
.
O Redmine é desenvolvido sobre a plataforma Ruby on Rails
, isto significa que é necessário instalarmos
o framework em nosso servidor.
É possível realizar esta instalação através do aptitude (apt-get)
, que torna este processo bem mais fácil,
o inconveniente é que estaremos utilizando uma versão 1.4 do Redmine enquanto a versão estável mais
recente é 2.2
.
Primeiramente devemos instalar o RVM, que é um gerenciador de versões para o Ruby, para isto, primeiramente vamos instalar suas dependências executando o seguinte comando:
aptitude install autoconf automake autotools-dev build-essential bison bzip2 curl git libreadline5 libxml2-dev libmysqlclient-dev libreadline5-dev libruby openssl libssl-dev zlib1g zlib1g-dev zlibc git-core gcc make libxml2-dev libxslt-dev libopenssl-ruby libncurses5-dev libapr1-dev libaprutil1-dev build-essential libcurl4-openssl-dev libmagickwand-dev mysql-client apache2-prefork-dev libsqlite3-0 libsqlite3-dev sqlite3
Agora iremos instalar o RVM e o Rails
bash -s stable << (curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
source /usr/local/rvm/scripts/rvm
rvm install 1.9.3
rvm --default use 1.9.3
gem install rails
Com o Ruby on Rails
instalado o próximo passo é instalar o Redmine, para isso vamos baixar o projeto e
descompactar o arquivo da seguinte forma:
wget http://rubyforge.org/frs/download.php/76722/redmine-2.2.2.tar.gz
tar -C /opt/ -vzxf redmine-2.2.2.tar.gz
cd /opt
mv redmine-2.2.2 redmine
Note que estou instalando o Redmine na pasta /opt
do servidor, porém pode ser instalado em qualquer pasta de sua preferencia.
Agora vamos iniciar as configurações
cd /opt/redmine
gem install bundler
bundle install --without development test postgresql sqlite
rake generate_secret_token
Note que na linha 3 estou instalando as dependências SEM o ambiente de desenvolvimento e teste, além dos pacotes
postgresql
e sqlite
, isto por que optei por utilizar o mysql
como gerênciador de banco de dados.
O próximo passo é criar a base de dados. Para isso acesse o mysql e execute os seguintes comandos:
create database redmine character set utf8;
create user 'redmine'@'localhost' identified by 'sua_senha';
grant all privileges on redmine.* to 'redmine'@'localhost';
Criada a base de dados vamos editar o arquivo de configuração da conexão da seguinte forma:
cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml
vim /opt/redmine/config/database.yml
Altere o arquivo de acordo com o nome da base, usuário e senha que foram criados anteriormente, conforme o exemplo abaixo:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: sua_senha
Vamos executar as migrações da base de dados e iniciar a carga dos dados, executando os seguintes comandos:
RAILS_ENV=production rake db:migrate
RAILS_ENV=production REDMINE_LANG=pt-BR rake redmine:load_default_data
Também precisamos criar algumas pastas necessárias e alterar suas permissões:
mkdir tmp tmp/pdf public/plugin_assets
chown -R www-data:www-data files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets
Para testar a instalação vamos iniciar o servidor rails:
ruby script/rails server webrick -e production
Acesse http://localhost:3000
, e pode começar a utiliza-lo fazendo login no sistema através da seguinte autenticação:
Usuário: admin
Senha: admin
Integração com o Apache
Para integrar o Redmine ao Apache
vamos instalar o módulo e a gem passenger:
aptitude install libapache2-mod-passenger
gem install passenger
passenger-install-apache2-module
Vamos criar um link do diretório public
do redmine apontando a diretório www
do apache
ln -s /opt/redmine/public /var/www/redmine
O próximo passo é alterar as configurações do apache para que ele utilize o módulo passenger quando solicitado a url do
Redmine. Adicione a seguinte configuração no arquivo /etc/apache2/sites-available/default
<Directory /var/www/redmine>
PassengerAppRoot /opt/redmine
RailsEnv production
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
</Directory>
Como instalamos o Ruby on Rails
a partir do RVM é necessário alterar as configurações do módulo passenger.
Para isso devemos alterar o arquivo /etc/apache2/mods-available/passenger.conf
<IfModule mod_passenger.c>
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p374/gems/passenger-3.0.19
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p374/ruby
PassengerDefaultUser www-data
</IfModule>
Por fim vamos alterar o arquivo /etc/apache2/mods-available/passenger.load
:
LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p374/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
Agora é só habilitar o módulo passenger e reiniciar o Apache
a2enmod passenger
/etc/init.d/apache2 restart
Pronto, podemos acessar o Redmine da seguinte forma:
http://localhost/redmine