Gerência de projetos com Redmine

Redmine é um software livre e de código aberto para gerenciamento de projetos. Foi desenvolvido na linguagem Ruby utilizando framework Ruby on Rails. Redmine é uma ferramenta multi-plataforma que suporta vários bancos de dados, extensões de plugins e sistema de controle de versão.

[ Hits: 46.305 ]

Por: José Cleydson Ferreira da Silva em 15/05/2010


Introdução



Sumário:
  1. Sobre o Redmine
  2. Preparando ambiente para o Redmine
  3. Instalando e configurando o Redmine
  4. Download do Redmine
  5. Conhecendo a estrutura de diretórios
  6. Configurando a aplicação
  7. Criando base de dados Redmine
  8. Instalando o Redmine
  9. Script para inicialização automática
  10. Sobre o autor

Sobre o Redmine

Redmine é um software livre e de código aberto, licenciado sob os termos da GNU General Public License v2 (GPL). Foi desenvolvido na linguagem Ruby utilizando framework Ruby on Rails.

Redmine é uma ferramenta multi-plataforma que suporta vários bancos de dados, extensões de plugins e sistema de controle de versão. Abaixo segue a relação das fortes características dessa ferramenta:
  • Vários projetos de apoio
  • Controle de acesso baseado em papel flexível (Controle de acesso)
  • Flexibilidade no sistema de monitoramento
  • Gráfico e calendários
  • Gerenciamento de noticias, arquivos e documentos
  • Fórum, wiki do projeto
  • Gerenciamento de tempo (projetos e usuário)
  • Integração ao sistema de controle de versões (svn, git, cvs)
  • Suporte a autenticação LDAP
  • Suporte a multilinguagem
  • Vários bancos de dados

Preparando ambiente para o Redmine

Para preparar o ambiente de produção com Redmine é necessário a utilização de diversos softwares, bem como servidor web, banco de dados e suporte para linguagem de programação Ruby e framework Rails. Os seguintes pacotes são requeridos para a instalação.
  • build-essential - lista informativa de pacotes "build-essential"
  • ssh - Security Shell Host
  • Openssh-server - Para acesso remoto
  • mysql-server - Servidor de banco de dados
  • phpmyadmin - Ferramenta web de administração de banco de dados MySQL
  • rails - Framework para desenvolvimento de aplicação web
  • rubygems - Infraestrutura de gerência de pacotes para aplicações/bibliotecas Ruby
  • mongrel - Biblioteca HTTP e servidor para Ruby
  • ruby1.8-dev - Interpretador de script orientado a objeto da linguagem Ruby
  • libmysql-ruby -Módulo MySQL para Ruby
  • subversion - Sistema avançado de controle de versões
  • apache2 - Servidor Web
  • ruby - Linguagem de programação
  • irb - Ruby interativo
  • rdoc - Gerador de documentação para arquivos Ruby
  • rake - Compilador de programa escritos em Ruby
  • libapache2-mod-fastcgi - Módulo para inicialização de scripts CGI

Use comandos abaixo para fazer as instalações dos programas.

Comandos para instalação:

# aptitude install build-essential sudo apt-get install ssh openssh-server mysql-server phpmyadmin rails rubygems mongrel ruby1.8-dev libmysql-ruby subversion apache2 ruby irb rdoc rake libapache2-mod-fastcgi

As dependências das bibliotecas ou programas serão instaladas juntamente com os softwares.

Instalando e configurando o Redmine.

Download do Redmine

Será necessário fazer o download do software no site do projeto e configurar bases de dados na aplicação. Embora seja simples e possua várias formas de fazer fazer o download, utilizaremos o svn para obtermos a versão mais atual que se encontra no repositório do Redmime. Portanto entre no diretório de opcional de instalação e inicie o download.

Entrar no diretório do Apache:

# cd /opt

Iniciar processo de download:

# svn checkout http://redmine.rubyforge.org/svn/trunk redmine

Para iniciar o processo de configuração iremos configurar o acesso às bases de dados. Atualmente elas ainda não foram criadas, mas tenha em mente o nome banco, usuário e senha. Pode-se entrar dentro do diretório /var/www/redmine e verificar a sua estrutura de diretórios, use o comando ls para listá-los.

# ls
app
config
db
doc
extra
files
lib
log
public
Rakefile
README.rdoc
script
test
tmp
vendor

Conhecendo a estrutura de diretórios:
  • app - Esse diretório é responsável por fazer o fluxo de controle da aplicação. Possui as camadas de visão, controle e modelo.
  • config - Diretório onde se encontram os arquivos de configuração da aplicação.
  • db - Diretório onde contém as classes de persistência da aplicação.
  • doc - Contém as referencias para instalação e documentação da aplicação.
  • extra - Diretório de compartilhamento.
  • files - Diretório para arquivos de diversas extensões.
  • lib - Bibliotecas da aplicação e extensões (plugins).
  • log - Armazena o log da aplicação.
  • public - Contém os arquivos públicos que poderão estar disponíveis para os usuários.
  • script - Contém scripts usados pela aplicação.
  • test - Contém exemplos e classes para o help da aplicação.
  • tmp - Utilizada para armazenar arquivos temporários.
  • vendor - Contém pacote de instalação do gem e outros plugins, caso seja necessário instalar outros programas para o uso do Redmine pode-se usar esse diretório.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando a aplicação
Outros artigos deste autor

Cairo-Dock - Seu desktop Linux com cara de MAC

Implementando rotas estáticas no Linux com route

Compiz e as estações do ano

Cadê o cubo?

Implementando servidor web Java com Tomcat no Linux

Leitura recomendada

Como fazer um servidor de rádio virtual

Instalando Linux dentro do Windows

Backup de roteadores Cisco com o TFTP + Pancho - Slackware 13

Procurando software para gerenciar armazenamento... Pensou FreeNAS!

Bing: Medindo velocidade da conexão no Linux

  
Comentários
[1] Comentário enviado por carlosfarah em 17/05/2010 - 13:28h

Parabéns mais uma vez pela iniciativa, a ferramenta é muito boa, aqui na UFVJM já é usadi à quase 2 anos e funciona muito bem, vale o trabalho da instalação, não testei as instalações passadas por você mas pelo que me lembre é isso mesmo.

Para àquela instituições que necessitam ter um software para controle de projetos essa é uma ótima alternativa e o que é melhor é FREE, vale lembrar do Dotproject ( http://www.dotproject.net/vbulletin/printthread.php?t=1899&pp=40 ).

É isso aí cara...

[2] Comentário enviado por cleysinhonv em 17/05/2010 - 13:43h

Olá Carlos,

Grato pelo reforço em minhas palavras, essa ferramenta realmente é muito boa. Espero ter contribuido de forma significativa.

Um abraç@!

[3] Comentário enviado por shotcult em 17/05/2010 - 16:42h

Parabéns eu procurava alguma solução deste tipo para linux, testando !!!

[4] Comentário enviado por cleysinhonv em 17/05/2010 - 17:02h

Olá Geovani,

Que bom encontrou mais uma solução, pode testa-la e caso tenha alguma dificuldade ou queira tirar alguma dúvida disponha-se.

Um abraç@!

[5] Comentário enviado por tjpp em 17/05/2010 - 23:37h

O artigo está bem explicado, parabéns. Você poderia se animar e escrever um sobre o uso e dicas do Redmine, depois de instalado.

[]s

[6] Comentário enviado por cleysinhonv em 18/05/2010 - 08:00h

Olá Thadeu,

Dentro de alguns dias irei escrever como usa-lo, como criar projetos e outros mais.

Um abraç@!

[7] Comentário enviado por luizvieira em 18/05/2010 - 11:11h

cleysinho,
Muito bom artigo. Parabéns!
Eu usava essa ferramenta numa outra empresa onde trabalhei e por conta de alguns problemas no servidor tive que aprender a instalá-la e configurá-la à ferro e fogo...rs. Se na época houvesse um artigo assim, certamente eu teria levado menos tempo :-)

Abraço,
Luiz

[8] Comentário enviado por cleysinhonv em 18/05/2010 - 11:27h

Olá Luiz,

Obrigado, realmente essa ferramenta é muito utilizada para empresas de desenvolvimento de software para gerenciar projetos. Esse artigo está simples e bem explicado.

Um abraç@!

[9] Comentário enviado por silent-man em 19/05/2010 - 10:47h

cleysinhonv,

ótimo artigo. Já estou testando tudo instalado e funcional.

Só achei um pouco complicada por exemplo:

pra criar um projeto o usuário tem que ser administrador?
meus usuários estão autenticando no AD, como posso excluir um usuário nele? mesmo quando cadastro um usuário nele mesmo(local) não tenho esta opção de excluir, ai tenho que ir direto ao banco e excluir.


[]s


[10] Comentário enviado por cleysinhonv em 19/05/2010 - 11:43h

Olá Gleison,

Seguinte em fases de testes percebemos uq enão é possível excluir o usuário, porém é possível bloqueá-lo. Talves ele não deixe excluir devido a referência que determinado usuário possui em algum projeto. Mas fizemos testes com usuários que não estavam vinculados a nenhum projeto e decepcionantemente ele não deixou excluir. Acredito ser uma boa oprtunidade de reportar esse acontecimento para os desenvolvedores no site do projeto: http://www.redmine.org/.

Um abraç@!



[11] Comentário enviado por silent-man em 19/05/2010 - 12:39h

Como eu consigo criar um projeto com um usuário comum?

[12] Comentário enviado por cleysinhonv em 19/05/2010 - 14:00h

Olá Gleyson,

O que eu percebi é que o usuário admin delega as permissões para usuários, por padrão os usuários comuns não possuem determinados privilégios.

Um abraç@!

[13] Comentário enviado por aizatomas em 13/07/2010 - 15:29h

Baseado neste artigo, instalei o Redmine no Fedora 12 e a princípio tive algumas dificuldades. Para conseguir instalar tive que substituir alguns comandos, é óbvio.

# yum install build-essential

# yum install ssh openssh-server mysql-server phpmyadmin rails rubygems mongrel ruby1.8-dev libmysql-ruby subversion apache2 ruby irb rdoc rake libapache2-mod-fastcgi

# yum install mysql-devel

A partir daqui, segui todos os procedimentos indicados no artigo, até começar a instalar o Redmine

# gem install -v=2.3.5 rails
# rake generate_session_store

Aqui tive que incluir os comandos

# gem install rails --include-dependencies

# gem install mysql -- --with-mysql-config=/usr/bin/mysql_config

# rake db:migrate RAILS_ENV=production
# RAILS_ENV=production rake db:migrate
# RAILS_ENV=production rake redmine:load_default_data

Depois continuei seguindo o artigo.


[14] Comentário enviado por cleysinhonv em 14/07/2010 - 07:57h

Olá Gabriel,

Obrigado por complementar as informações desse artigo.

um abraço!

[15] Comentário enviado por galaxy_interior em 24/08/2010 - 13:48h

Caso eu tenha no mesmo endereço 2 bases do redmine, como ficará os comandos? Como acessar cada um deles?

[16] Comentário enviado por cleysinhonv em 26/08/2010 - 08:04h

Olá galaxy_interior,

É possível sim, dentro da pasta conf da aplicação possui um arquivo que pode ser configurado para liberar no browser o endereço que você desejar.

[17] Comentário enviado por rjsilva1987 em 11/10/2010 - 16:17h

Instalando o Redmine onde trabalho, travei na seguinte etapa:

[root@linux redmine-1.0.1]# rake db:migrate RAILS_ENV=production
(in /opt/redmine-1.0.1)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load -- mysql
<internal:lib/rubygems/custom_require>:29:in `require'
<internal:lib/rubygems/custom_require>:29:in `require'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/core_ext/kernel/requires.rb:7:in `block in require_library_or_ gem'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/core_ext/kernel/requires.rb:5:in `require_library_or_gem'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:61:in `mysql_connection'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:223:in `new_conn ection'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:245:in `checkout _new_connection'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:188:in `block (2 levels) in checkout'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in `loop'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in `block in checkout'
/usr/local/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:183:in `checkout '
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:98:in `connectio n'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:326:in `retrieve _connection'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:123:in `retrieve_connection'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:115:in `connection'
/opt/redmine-1.0.1/vendor/plugins/awesome_nested_set/lib/awesome_nested_set.rb:217:in `quoted_left_column_name'
/opt/redmine-1.0.1/vendor/plugins/awesome_nested_set/lib/awesome_nested_set.rb:93:in `acts_as_nested_set'
/opt/redmine-1.0.1/app/models/issue.rb:35:in `<class:Issue>'
/opt/redmine-1.0.1/app/models/issue.rb:18:in `<top (required)>'
<internal:lib/rubygems/custom_require>:29:in `require'
<internal:lib/rubygems/custom_require>:29:in `require'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:265:in `require_or_load'
/opt/redmine-1.0.1/vendor/plugins/engines/lib/engines/rails_extensions/dependencies.rb:132:in `require_or_load_with_engine_addi tions'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:425:in `load_missing_constant'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:80:in `const_missing_with_dependencies'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:92:in `const_missing'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:437:in `load_missing_constant'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:96:in `const_missing'
/opt/redmine-1.0.1/app/models/project.rb:35:in `<class:Project>'
/opt/redmine-1.0.1/app/models/project.rb:18:in `<top (required)>'
<internal:lib/rubygems/custom_require>:29:in `require'
<internal:lib/rubygems/custom_require>:29:in `require'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:265:in `require_or_load'
/opt/redmine-1.0.1/vendor/plugins/engines/lib/engines/rails_extensions/dependencies.rb:132:in `require_or_load_with_engine_addi tions'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:425:in `load_missing_constant'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:80:in `const_missing_with_dependencies'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:92:in `const_missing'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:437:in `load_missing_constant'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:96:in `const_missing'
/opt/redmine-1.0.1/app/models/attachment.rb:36:in `<class:Attachment>'
/opt/redmine-1.0.1/app/models/attachment.rb:20:in `<top (required)>'
<internal:lib/rubygems/custom_require>:29:in `require'
<internal:lib/rubygems/custom_require>:29:in `require'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:265:in `require_or_load'
/opt/redmine-1.0.1/vendor/plugins/engines/lib/engines/rails_extensions/dependencies.rb:132:in `require_or_load_with_engine_addi tions'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:425:in `load_missing_constant'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:80:in `const_missing_with_dependencies'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:92:in `const_missing'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:437:in `load_missing_constant'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:80:in `const_missing_with_dependencies'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:437:in `load_missing_constant'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:80:in `const_missing_with_dependencies'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:437:in `load_missing_constant'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:80:in `const_missing_with_dependencies'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:437:in `load_missing_constant'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:80:in `const_missing_with_dependencies'
/opt/redmine-1.0.1/vendor/plugins/acts_as_attachable/lib/acts_as_attachable.rb:33:in `acts_as_attachable'
/opt/redmine-1.0.1/app/models/message.rb:22:in `<class:Message>'
/opt/redmine-1.0.1/app/models/message.rb:18:in `<top (required)>'
<internal:lib/rubygems/custom_require>:29:in `require'
<internal:lib/rubygems/custom_require>:29:in `require'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:265:in `require_or_load'
/opt/redmine-1.0.1/vendor/plugins/engines/lib/engines/rails_extensions/dependencies.rb:132:in `require_or_load_with_engine_addi tions'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:425:in `load_missing_constant'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:80:in `const_missing_with_dependencies'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:92:in `const_missing'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/inflector.rb:372:in `const_get'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/inflector.rb:372:in `block in constantize'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/inflector.rb:371:in `each'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/inflector.rb:371:in `constantize'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/core_ext/string/inflections.rb:162:in `constantize'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/observer.rb:157:in `observed_class'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/observer.rb:183:in `observed_classes'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/observer.rb:166:in `initialize'
/usr/local/lib/ruby/1.9.1/singleton.rb:109:in `new'
/usr/local/lib/ruby/1.9.1/singleton.rb:109:in `block in instance'
<internal:prelude>:10:in `synchronize'
/usr/local/lib/ruby/1.9.1/singleton.rb:107:in `instance'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/observer.rb:38:in `block in instantiate_observers'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/observer.rb:36:in `each'
/opt/redmine-1.0.1/vendor/rails/activerecord/lib/active_record/observer.rb:36:in `instantiate_observers'
/opt/redmine-1.0.1/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:15:in `block in define_dispatcher_callbacks'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/callbacks.rb:182:in `call'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/callbacks.rb:182:in `evaluate_method'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/callbacks.rb:166:in `call'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/callbacks.rb:90:in `block in run'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/callbacks.rb:90:in `each'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/callbacks.rb:90:in `run'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/callbacks.rb:276:in `run_callbacks'
/opt/redmine-1.0.1/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:51:in `run_prepare_callbacks'
/opt/redmine-1.0.1/vendor/rails/railties/lib/initializer.rb:631:in `prepare_dispatcher'
/opt/redmine-1.0.1/vendor/rails/railties/lib/initializer.rb:185:in `process'
/opt/redmine-1.0.1/vendor/rails/railties/lib/initializer.rb:113:in `run'
/opt/redmine-1.0.1/config/environment.rb:20:in `<top (required)>'
<internal:lib/rubygems/custom_require>:29:in `require'
<internal:lib/rubygems/custom_require>:29:in `require'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `block in require'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
/opt/redmine-1.0.1/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/opt/redmine-1.0.1/vendor/rails/railties/lib/tasks/misc.rake:4:in `block in <top (required)>'
/usr/local/lib/ruby/1.9.1/rake.rb:634:in `call'
/usr/local/lib/ruby/1.9.1/rake.rb:634:in `block in execute'
/usr/local/lib/ruby/1.9.1/rake.rb:629:in `each'
/usr/local/lib/ruby/1.9.1/rake.rb:629:in `execute'
/usr/local/lib/ruby/1.9.1/rake.rb:595:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/usr/local/lib/ruby/1.9.1/rake.rb:588:in `invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/rake.rb:605:in `block in invoke_prerequisites'
/usr/local/lib/ruby/1.9.1/rake.rb:602:in `each'
/usr/local/lib/ruby/1.9.1/rake.rb:602:in `invoke_prerequisites'
/usr/local/lib/ruby/1.9.1/rake.rb:594:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/usr/local/lib/ruby/1.9.1/rake.rb:588:in `invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/rake.rb:581:in `invoke'
/usr/local/lib/ruby/1.9.1/rake.rb:2041:in `invoke_task'
/usr/local/lib/ruby/1.9.1/rake.rb:2019:in `block (2 levels) in top_level'
/usr/local/lib/ruby/1.9.1/rake.rb:2019:in `each'
/usr/local/lib/ruby/1.9.1/rake.rb:2019:in `block in top_level'
/usr/local/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling'
/usr/local/lib/ruby/1.9.1/rake.rb:2013:in `top_level'
/usr/local/lib/ruby/1.9.1/rake.rb:1992:in `run'
/usr/local/bin/rake:31:in `<main>'

Fiz conforme mensagem:

[root@linux redmine-1.0.1]# gem install mysql
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb
checking for mysql_ssl_set()... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/local/bin/ruby
--with-mysql-config
--without-mysql-config
/usr/local/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /usr/local/lib/ruby/1.9.1/mkmf.rb:435:in `try_link0'
from /usr/local/lib/ruby/1.9.1/mkmf.rb:440:in `try_link'
from /usr/local/lib/ruby/1.9.1/mkmf.rb:552:in `try_func'
from /usr/local/lib/ruby/1.9.1/mkmf.rb:797:in `block in have_func'
from /usr/local/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
from /usr/local/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'
from /usr/local/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from /usr/local/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
from /usr/local/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from /usr/local/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
from /usr/local/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
from /usr/local/lib/ruby/1.9.1/mkmf.rb:796:in `have_func'
from extconf.rb:50:in `<main>'


Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/mysql-2.8.1 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

eagora? onde posso estar errando?

Grato.

[18] Comentário enviado por rogerio_gentil em 13/10/2010 - 15:03h

Boa cleysinhonv... ainda bem que li este artigo e vi que faltava instalar a biblioteca libmysql-ruby!

[19] Comentário enviado por leodecastro em 03/11/2010 - 12:41h


Estou pesquisando sobre o Redmine, e gostaria de saber o “custo” do Redmine nos seguintes tópicos:

1.espaço em disco
2.banco de dados
3.processamento
4.memória

obrigado !!!


[20] Comentário enviado por cleysinhonv em 04/11/2010 - 07:04h

Olá Leocastro,

1.espaço em disco
- A aplicação é relativamente pequena e não ocupa quase espaço em disco nenhum. A aplicação possui um tamanho de 41 MB

2.banco de dados
- O banco de dados proposto nas configurações deste documento são: mysql e postgrees,

3.processamento
- Inicialmente quando testei esta aplicação ela utilizava um computador na qual a CPU era completamente modesta P4 com barramento 478, acredito que era 1.8

4.memória
- Testei com uma quantidade de 512 de RAM e funcionou ligeiramente bem.

As questões que precisam ser observadas em questão de desempenho é o numero de pessoas que irão utilizar a aplicação. Como aparentemente não há um esforço constante ou muitos projetos configurados pode ser que o desempenho possa ser afetado devido a muitos usuários utilizando a aplicação.

mais detalhes no site: http://www.redmine.org/

[21] Comentário enviado por taiar em 04/01/2011 - 17:48h

Não precisava ter instalado o Mongrel sendo que está utilizando o webrick.

Webrick não é indicado para um ambiente de produção.

As opções disponíveis são utilizando o Mongrel, algum tipo de FAST_CGI ou o Passenger que é a opção mais recente e moderna.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts