Jul 10

Se você tem um pequeno projeto e não tem interesse em pagar um VPS para manter seu repositório git rodando com o redMine, configurá-los em sua hospedagem padrão é uma ótima e barata idéia. Eu recém fiz e achei muito simples fazer.

Antes de tudo é necessário que sua hospedagem tenha:

  • acesso disponível via SSH;
  • Ruby on Rails rodando com fcgi ou mod_rails
  • SVN instalado (opcional)
  • Git
  • Gerenciamento de chaves SSH pelo CPanel

Instalando o redMine

A instalação do redMine é muito simples. Basta seguir os passos do próprio site do redMine, clicando aqui e após configurar o redmine de acordo com as suas necessidades.

h3, Criando o repositório Git em sua máquina

Se você ainda não tem um repositório local, é necessário criá-lo, vamos aproveitar e criar uma aplicação Rails para já termos o que enviar ao servidor.

 $cd /home/usuario/workspace
 $rails my_git_project
 $cd my_git_project
 $git init
 $git add *
 $git commit -m "My first commit" 

Movendo o seu repositório para o seu shared host

Antes de mais nada é preciso ter em mente que só enviar o seu repositório Git por FTP pode não ter o funcionamento adequado. Para isso, prepare o seu repositório para ser movido.

 $cd ~/workspace
 $git clone - -bare my_git_project my_git_project.git
 $touch my_git_project.git/git-daemon-export-ok

Pronto, agora seu repositório está pronto para rodar em seu shared host. Agora é necessário enviá-lo para o seu host. Acesse por SSH ou FTP o seu shared host e crie um diretório (que eu vou chamar de src) na home de seu shared host, algo como /home/username/. Se você quiser enviar por SCP, faça o seguinte:

 $scp ~/workspace/src/my_git_project.git username@meudominio.com:/home/username/src

Pronto! Seu repositório Git já está no seu servidor e pronto para ser utilizado.

A partir de agora o endereço de seu repositório será algo como:

 $ssh://username@meudominio.com/~/src/my_git_project.git

Teste o seu repositório

 $git clone ssh://username@meudominio.com/~/src/my_git_project.git

Se você fizer isto, será solicitada a senha SSH do seu host. Digite a senha e terá o seu repositório em poucos segundos.

Liberando as suas chaves SSH

Assim como o Github você pode adicionar chaves SSH de sua máquina e de outros desenvolvedores que terão acesso irrestrito sem a necessidade de senha.

Atenção: Não são todos os shared hosts que têm está opção. Posso afirmar que a hospedagem que eu utilizo fornece esta opção.

MUITO IMPORTANTE: Quem tiver acesso irrestrito ao seu repositorio git também tera acesso irrestrito a todos os arquivos e bancos de dados do seu shared host.

Os passos a seguir são referência do meu CPanel.

Para inserir as chaves ssh de seu computador e de terceiros, faça o seguinte:

Para ter uma chave SSH é necessário criá-la, para isso, recomendo que leiam esta página do Github.

 $cd ~/.ssh
 $cat id_rsa.pub

Copie o resultado sem nenhum espaço em branco do início e faça o seguinte:

Procure o item SSH/Shell Access como mostra a imagem abaixo:

SSH/Shell Access

Após clique no botão Manage SSH Keys e clique em Import Key.

Cole a sua chave SSH como mostra a imagem abaixo (Não preencha os demais campos):

Import SSH Keys

Após clicar em import, vá à listagem de chaves públicas (Public Keys) e clique em Manage Authorization e após clique no botão authorize.

Pronto! Agora você não precisa mais digitar a senha de seu shared host toda vez que quiser fazer um clone ou enviar seus commits ao repositório.

Leave a Reply