Entries Tagged 'Dito Schools' ↓

Instalando o git (utilizando o gitosis)

Há várias formas para começar usar um servidor git. Dentre elas podemos citar:

É possível apenas instalar o git em um servidor e colocar os repositórios em pastas públicas do servidor.

Outra possibilidade é hospedar utilizando algum serviço web como por exemplo github e o gitorious

O Gitorious pode ser instalado em um servidor próprio como mostrado no tutorial do Akita

Outro modo bem rápido de se instalar o servidor git, utilizando ssh é através do Gitosis.

Segui o tutorial em http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way e não tive problemas na instalação. E é este artigo que segui como base para fazer este post.

Fiz a instalação no ubuntu e o que fiz foi:

Primeiramente voce deve ter o git instalado no seu servidor. Caso não tenha basta utilizar o apt para instalar

sudo apt-get install git-core

Após instalado o git, deve-se baixar o gitosis.

git clone git://eagain.net/gitosis.git 

Depois de baixar o gitosis deve-se instalá-lo, para isto:


cd gitosis
python setup.py install

Caso receba uma mensagem como:

-bash: python: command not found

ou

Traceback (most recent call last):
File "setup.py", line 2, in ?
from setuptools import setup, find_packages
ImportError: No module named setuptools

Estas mensagens ocorrem porque voce não tem o pacote python-setuptools instalado. Para instalá-los basta:

sudo apt-get install python-setuptools

Após instalado o pacote python-setuptools execute a instalação do gitosis novamente.

Com o gitosis instalado, agora voce deve criar um usuário para o git. O usuário que o autor recomenda é o usuário git, sem password válido, e ele pode ser criado com o comando:

sudo adduser \
--system \
--shell /bin/sh \
--gecos 'git version control' \
--group \
--disabled-password \
--home /home/git \
git

Se a criação do usuário foi feita com sucesso, deve aparecer algo como:

Adding system user `git'...
Adding new group `git' (211).
Adding new user `git' (211) with group `git'.
Creating home directory `/home/git'.

Após criado o usuário no servidor, é necessário criar uma chave rsa no seu computador. Para isto utilizamos o ssh-keygen e o comando para criar uma chave rsa é (digitado no seu computador):

ssh-keygen -t rsa

Após executado o comando a chave pública e privada são criadas em ~/.ssh

Para copiar a chave gerada para o servidor podemos utilizar o comando abaixo:

scp .ssh/id_rsa.pub git@ENDERECO DO SERVIDOR:/tmp

No servidor, para iniciar o servidor basta digitar:

sudo -H -u git gitosis-init < /tmp/id_rsa.pub

É necessário ter permissão no arquivo post-update, portanto digite:

sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

Agora em sua máquina execute:

git clone git@ENDEREÇO DO SERVIDOR:gitosis-admin.git
cd gitosis-admin

No diretório gitosis-admin haverá um arquivo chamado gitosis.conf que será utilizado para a configuração do gitosis.

Adicionando um novo projeto

Para se adicionar um novo projeto adicione as linhas no gitosis.conf com as informações do seu novo projeto:


[group meu_time]
members = nome_do_usuario
writable = nome_novo_projeto

Deste modo, voce criará permissão para o usuário no seu novo projeto

Após alterado o arquivo gitosis.conf dê commit nele para o servidor:

git commit -a -m "Permissão de acesso ao novo projeto para o usuário"
git push

Agora deve-se criar o repositório e enviá-lo:


mkdir nome_novo_projeto

cd nome_novo_projeto
git init
git remote add origin git@NOME_SERVIDOR:nome_novo_projeto.git

#Adicione arquivos e dê commits (git add, git commit)

git push origin master:refs/heads/master


Adicionando usuários

Para adicionar usuários, deve-se copiar as chaves públicas para o diretório gitosis-admin/keydir


cd gitosis-adimn
cp ~/jose.pub keydir/
cp ~/maria.pub keydir/
git add keydir/jose.pub keydir/maria.pub

no arquivo gitosis.conf adicione:

[group meu_time]
members = nome_do_usuario maria joao
writable = novo_projeto

Dê commit e push:

git commit -a -m "Adicionar permissão à Maria e João ao novo projeto"

Agora Maria e João têm acesso ao novo_projeto.

No windows:

Para adicionar as chaves no windows, criei as chaves utilizando o ssh-keygen no mac
(Lembre-se que ao gerar a chave em outro computador, voce deve editar a chave pública e alterar o usuário pois a chave será gerada para o usuário que está logado no computador que a chave for gerada)

ssh-keygen -t dsa -f

Depois copie para a pasta “c:\Documents and Settings\\.ssh” com os nomes “id_dsa” e “id_dsa.pub”

Utilizando o ssh em outras portas

Para se utilizar o ssh em outras portas deve-se alterar o arquivo ~/.ssh/config

Host meuservidor.com
  Port 1234

Dito TechTalk: Open Social

Depois de duas semanas estudando a plataforma Open Social e desenvolvendo alguns widgets, amanhã vamos fazer nosso primeiro Dito TechTalk. O nome foi inspirado na iniciativa de mesmo nome feita pelos nossos amigos do Brasigo. A idéia é fazer uma apresentação do que foi aprendido nesse tempo para o resto da equipe, um resumo dos estudos, das dúvidas e dificuldades que surgiram e foram resolvidas e dos caminhos e atalhos.

Nossa idéia é fazer um TechTalk sempre que alguém aprender algo novo, seja uma linguagem, metodologia, forma de implementação ou qualquer coisa interessante.

Inserindo um calendário javascript para entrada de data no rails

Para inserir um calendário em uma aplicação rails, vamos utilizar o plugin Calendar Date Select. Ele é um calendário em Javascript que utiliza a biblioteca Prototype.

Algumas demonstrações do funcionamento podem ser vistas em http://electronicholas.com/calendar.

Para instalá-lo:

script/plugin install http://calendardateselect.googlecode.com/svn/tags/calendar_date_select

Após instalado o plugin voce deve inserir o calendário na view em que voce deseja:

No caso acima escolhemos a cor cinza (”silver”) mas também é possível escolher outras cores como vermelho (”red”) e azul (”blue”).

Insira também a biblioteca Prototype caso ela já não esteja incluída:

Agora é só inserir o código para o calendário como abaixo:

Existem várias opções de customização do calendário que podem ser encontradas no site oficial

Traduzindo o calendário para português

Para passar os dias da semana e a data para o formato d/M/Y deve-se ir no environment.rb e adicionar:

Obs.: O formato italiano corresponde ao formato (’d/M/Y’)

Deve-se adicionar o javascript correspondente à esse formato, incluindo na view:

Para a tradução para o português, deve-se criar o arquivo pt.js em public/javascripts/calendar_date_select/locale

pt.js

E para que o calendário adote o idioma português como configurado acima basta adicionar a variável

como mostrado abaixo.