OpenBR.org
RSSTwitter
Chromium com lançador de aplicativos do Chrome OS. Instalando VMware vCenter Server 5 no Windows 7 64bits

FreeBSD e Redmine com Mongrel Cluster e Apache

By Chimbida On 31 de março de 2010 · 4 Comments · In BSD, Destaque, FreeBSD, Geral, Project Management, Sem categoria, Software Livre

Na procura de um software para substituir um sistema de “controle de chamados” ( tickets ) acabei esbarrando com o Redmine, que é um excelente gerenciador de projetos, escrito em Ruby on Rails e totalmente customizável.

Já que meu sistema operacional predileto é o FreeBSD e nele existe um port do Redmine resolvi subir esse ambiente usando um FreeBSD 8.0, Mongrel Cluster e Apache 2.2 com proxy_balance.

As imagens para download do FreeBSD estão disponíveis aqui: 32 bits e 64 bits

Com o FreeBSD instalado, precisamos atualizar o ports, que é uma coleção de programas instalada a partir do seu fonte:

portsnap fetch extract
portsnap fetch update

Terminada a atualização do arvore do ports, vamos instalar os arquivos do Redmine:

cd /usr/ports/www/redmine; make install clean

No decorrer da instalação ele pedirá a confirmação de algumas opções e também vai instalar algumas dependências necessários. Primeiro ele pedirá qual o banco de dados a ser utilizado pelo Redmine, neste caso escolhi o Mysql.

Em seguida ele pede as configurações necessárias para compilar o Ruby.

Também são pedidas configurações de compilação para as dependências como o Perl, M4 e Libiconv, nestas basta deixar padrão e clicar em Ok.

Instalando o Mongrel para fazer o cluster com o módulo proxy_balance do apache:

cd /usr/ports/www/rybygen-mongrel_cluster; make install clean

E também o Apache 2.2:

cd /usr/ports/www/apache22; make install clean

Para compilar o Apache com o módulo proxy_balance temos que selecionar a opção quando a caixa de dialogo de configuração aparecer:

Por fim, instalamos o Mysql:

cd /usr/ports/databases/mysql50-server/

Com todos os softwares que precisamos instalados, agora podemos configurar o sistema para o rodar o Redmine com o apache e o mongrel_cluster.

Primeiramente vamos configurar o Mysql para subir automaticamente e também criar uma base de dados para o Redmine:

Adicione a seguinte linha no arquivo /etc/rc.conf do FreeBSD para o Mysql subir automaticamente:

mysql_enable="YES"

Para iniciar o Mysql:

/usr/local/etc/rc.d/mysql-server start

A senha do usuário root no Mysql vai estar em branco, e para conectar no basta digitar:

mysql -uroot -p

Voilá, você esta conectado e agora criamos a base e também um usuário para acessar ela:

create database redmine character set utf8;
grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'minhasenha';

Após criar a base de dados vamos configurar e testar o Redmine.

cd /usr/local/www/redmine/
vi config/database.yml

Precisamos editar o arquivo database.yml e adicionar as seguintes linhas abaixo para o Redmine conectar no Mysql:

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine
  password: minhasenha
  encoding: utf8

Agora geramos alguns arquivos e alimentamos a base de dados do Redmine

cd /usr/local/www/redmine/
rake generate_session_store
rake db:migrate RAILS_ENV="production"
rake redmine:load_default_data RAILS_ENV="production"
chown -R www:www files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets

Neste momento podemos testar o Redmine apenas usando o WEBrick:

cd /usr/local/www/redmine/
ruby script/server -b 0.0.0.0 -p 3000 -e production

Agora basta apontar seu browser para url http://localhost:3000

Assim que o Redmine for testado podemos finalizar com o Mongre_Cluster e o Apache:

Para rodar o mongrel_cluster automaticamente, basta fazer os seguintes passos:

mkdir /usr/local/etc/mongrel_cluster
touch /usr/local/etc/mongrel_cluster/redmine.yml

Adicionar as seguintes linhas no arquivo /usr/local/etc/mongrel_cluster/redmine.yml:

user: www
cwd: /usr/local/www/redmine
log_file: log/mongrel.log
port: "10000"
environment: production
group: www
address: 127.0.0.1
pid_file: tmp/pids/mongrel.pid
servers: 3

O mongrel vai subir 3 servidores escutando na porta 10000, 10001 e 10002 do endereço local (127.0.0.1), você pode usar estas configurações para ter um alta performance ou mesmo alta disponibilidade se rodar em servidores separados.

Iniciando

mongrel_rails cluster::start -C /usr/local/etc/mongrel_cluster/redmine.yml

Parando

mongrel_rails cluster::stop -C /usr/local/etc/mongrel_cluster/redmine.yml

Reinicializando

mongrel_rails cluster::restart -C /usr/local/etc/mongrel_cluster/redmine.yml

Em fim, vamos configurar o proxy_balance do apache, primeiro vamos criar e editar o seguinte arquivo:

vi /usr/local/etc/apache22/extra/httpd-redmine.conf

Neste arquivo adicionamos as seguintes configurações e substitua o “dominio.com” pelo seu domino:


  ServerName balance.dominio.com

    SetHandler balancer-manager
    Deny from all
    Allow from 192.168.0.0/24

BalancerMember http://127.0.0.1:10000
    BalancerMember http://127.0.0.1:10001
    BalancerMember http://127.0.0.1:10002

       ServerName redmine.dominio.com
       ProxyRequests Off
       ProxyPass / balancer://redmine/
       ProxyPassReverse / balancer://redmine/
       RewriteEngine On
       RewriteRule ^/(.*) balancer://redmine/$1 [L,P]

O host virtual de exemplo que criei como “balancer.dominio.com” é onde você vai gerenciar o seu cluster:

E apontando para o “redmine.dominio.com” tenho o sistema rodando perfeitamente:

E para finalizar e deixar tudo rodando automaticamente quando seu sistema FreeBSD subir, deixe seu /etc/rc.conf com as seguintes linhas:

mysql_enable="YES"
mongrel_cluster_enable="YES"
mongrel_cluster_conf_dir="/usr/local/etc/mongrel_cluster"
apache22_enable="YES"

Site do Redmine: www.redmine.org
Documentação: www.redmine.org/wiki/redmine/Guide

Plugin para o Firefox: addons.mozilla.org/firefox/addon/11545
Plugin para o Chrome: chrome.google.com/extensions/detail/maognoipicmbggkgjihiaimhpmnaaggm



Sem postagens relacionadas.

Tagged with: Apache • Chamados • Cluster • FreeBSD • FreeBSD ports • Mongrel • ports • Project Management • Proxy Balance • Rails • Redmine • Ror • Ruby • Ticket 
If you enjoyed this article, please consider sharing it!
RedditFacebookTwitterDelicious
  • Pingback: Tweets that mention FreeBSD e Redmine com Mongrel Cluster e Apache | OpenBR.org -- Topsy.com

  • Lucas

    Muito bom esse tutorial!

  • http://cassiemileswl.typepad.com Margareta Goshow

    There is evidently a bundle to know about this. I assume you made some nice points in features also.

  • Kapz

    E qual programa de chamados vc achou? :)

  • Categories

    • Browser
    • BSD
    • Chrome
    • Chrome-OS
    • Destaque
    • ESXi
    • FreeBSD
    • Geral
    • Gnome
    • Google
    • Linux
    • MAC
    • Netbooks
    • Project Management
    • Sem categoria
    • Software Livre
    • Ubuntu
    • vCenter
    • Video
    • Virtualização
    • Vmware
    • Windows
    • Windows 7
    • Workstation
    • YouTube
  • Archives

    • abril 2012
    • março 2010
    • janeiro 2010
    • dezembro 2009
    • novembro 2009
  • Calendar

    março 2010
    S T Q Q S S D
    « jan   abr »
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  
  • Meta

    • Login
    • Entries (RSS)
  • Instalando VMware vCenter Server 5 no Windows 7 64bits
  • FreeBSD e Redmine com Mongrel Cluster e Apache
  • Chromium com lançador de aplicativos do Chrome OS.
  • Gerando uma imagem do Google Chrome-OS
  • Página inicial produtiva para o Google Chrome
  • Instalando o Ubuntu 10.04 no Vmware 7
  • Ativando o SSH no Vmware ESXi
  • Windows 7 e mais "GodModes"
  • 12 Super temas para seu Gnome
  • Ativando o "GodMode" escondido no Windows 7
  • Synaptics transforma seu touchpad em lançador de aplicativos
  • Google Chrome Beta para MAC
  • Google lança serviço público de DNS
  • openbr.org Blog
http://t.co/NUsy609X  — chimbida

Looking for something?

Use the form below to search the site:


Still not finding what you're looking for? Drop us a note so we can take care of it!

Visit our friends!

A few highly recommended friends...

    Feed

    openbr.org

    ↑ Grab this Headline Animator

    PageLines by PageLines