Redmine + Apache + SSL + Webrick
A ordem do título está errada. Deveria ser Apache + SSL + Webrick + Redmine, mas deixemos de pormenores e vamos a mais um momento "blog como bloco de notas mental".
Há muito havia me proposto a centralizar os serviços que a Simples Consultoria oferece a colaboradores e clientes (Suporte, Intranet, Extranet, SVN, etc, etc) todos sob o mesmo guarda-chuva. Guarda-chuva devidamente impermeabilizado com SSL, claro.
Enquanto colocar a Intranet, Extranet, SVN e Trac foi uma baba, colocar o Redmine tomou um pouco mais de tempo. O problema todo se deve ao fato de nosso setup estar rodando o Webrick em um servidor interno e não algo com Apache. É claro que se fosse em Python, as coisas seriam mais fáceis -- cérebro mais viciado -- como não era, toca o Érico perder uns 20 minutos até descobrir o que acontecia.
O "problema" todo era que tenho uma regra de rewrite no meu Apache de borda e ele faz o proxy para o Webrick do Redmine -- que está em outra máquina -- e o Redmine (ou o Webrick) resolvia não curtir muito o endereço que eu tinha batizado. Eu mandava ele ficar sob /suporte e ele se metia a redirecionar para o / (raiz), onde era devidamente comido pelo Plone.
Com um pouco de pesquisa achei as soluções. Sim, foram duas:
Redmine + Webrick + SSL
Para que o Redmine não regurgitasse o pedido enviado pelo Apache (SSL) tive que adicionar ao meu Apache a linha abaixo, que cria um cabeçalho HTTP contando para os servidores de trás que temos uma requisição ssl:
RequestHeader set X_FORWARDED_PROTO 'https'
Redmine abaixo da raiz
Esta foi uma mão na roda quando, finalmente, a encontrei. Apenas adicione a linha abaixo ao enviroment.rb da configuração do Redmine, reinicie o Webrick e voilá:
Redmine::Utils::relative_url_root = "/redmine"
No final, agora, temos o ambiente ideal, com tudo debaixo do mesmo fqdn e usando SSL.
O próximo passo será ter o single sign-on. Com o Plone + Apache já está preparado, o problema é todo o resto...


Del.icio.us
Facebook
Google Bookmarks
Twitter
Digg
Reddit
