NoRoyalties.org

Viva por um mundo Livre . . . . .

Adminstração… dos lados desconhecidos da vida

“Se você acha que você pode, você pode. Se você acha que você não pode você não pode.” Henry Ford
Confesso que muitas vezes ainda me pergunto o que estou fazendo em um curso de administração de empresas, mas essa é uma pergunta que ja foi bem mais frequente na cabeça de que vos escreve.

Ainda não posso falar que realmente estou gostando do curso, mas sei que a cada dia que passa aprendo coisas que realmente, se usadas no dia a dia podem ajudar muito em discuções, reflexões.

Está sendo dificil sem nenhum calculo ip, nenhuma das minhas piadas geeks funcionam, então já estou percebendo um evolução no meu eu não nerd.

Bom fico por aqui…

Configurando um servidor git com ssh

Como faz um bom tempo que eu não publico nada, vou começar devegar, então, pode ser que o artigo não esteja 100%, mas vou melhorando com o tempo.

Bom, a ideia desse artigo é demonstrar como configurar um servidor git sobre o sistema Debian Lenny para trabalhar com o versionamento de coisas (Códigos entram como um bom exemplo aqui). Como a minha ideia não é explicar o que é o git, =), fica um link de referências.

Esse artigo irá progredir referindo-se sempre a cliente-servidor, aonde o prompt cliente@host é o cliente e o prompt server@host é o servidor.

O primeiro passo é instalar o pacote git do repositório, então para isso como adminstrador do servidor:

server@host# aptitude install git-core

Confirme se o pacote foi realmente instalado com o dpkg:

server@host# dpkg -l git-core
ii git-core

É importante nesse momento entender que o git pode trabalhar remotamente em 3 protocolos diferentes, via SSH, via GIT e
via HTTPs. Existem alguns pros e contras de se utilizar cada um desses protocolos, um boa referência para essa escolha esta aqui. Escolhi o SSH pela facilidade e usabilidade do mesmo.

Após instalar o git no servidor, vamos configurar um usuário para fazer o clone e o commit remotamente. Ou seja, um usuário do sistema convencional. Se você quiser utilizar seu próprio usuário do servidor, apenas pule essa etapa.

server@host# adduser git
Fill the gaps

Como nosso usuário criado, vamos agora criar nosso primeiro repositório git externo. Para inicialiar o repositório, é preciso lembrar que devemos utilizar a opção – -bare e usar o nome do repositório sempre com .git no fim, para mais informações consulte a documentação do git.

server@host# su git
git@host$ mkdir repo.git
git@host$ cd repo.git
git@host$ git –bare init
Initialized empty Git repository in /home/git/repo.git/

Por hora, a configuração do servidor acaba aqui. Lembre-se de fazer suas configurações do git no arquivo config se você tiver alguma preferência fora do padrão.

Na máquina cliente vamos dar o primeiro commit para inicializar o repositório:

cliente@host$ mkdir projeto
cliente@host$ echo “Inicializando o repositório” > readme
cliente@host$ git add .
cliente@host$ git commit -m ‘Inicializando repo’
cliente@host$ git remote add origin git@host:repo.git
cliente@host$ git push origin master
Counting objects: 13, done.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (13/13), 1.20 KiB, done.
Total 13 (delta 1), reused 0 (delta 0)
To git@host:repo.git
* [new branch] master -> master

Agora com o repositório inicializado, podemos de qualquer lugar com as credenciais do usuário git, fazer o clone do repositório. Para isso:

cliente@host$ mkdir meu_projeto
cliente@host$ cd meu_projeto
cliente@host$ git clone git@noroyalties.org:repo.git
Initialized empty Git repository in $HOME/meu_projeto/.git/
remote: Counting objects: 13, done.
remote: Compressing objects: 100% (7/7), done.
Receiving objects: 100% (13/13), done.
Resolving deltas: 100% (1/1), done.
remote: Total 13 (delta 1), reused 0 (delta 0)

Com clone feito, para fazer uma alteração basta fazer:

cliente@host$ cd repo
cliente@host$ echo “mais mais mais” >> readme
cliente@host$ git add .
cliente@host$ git commit -m ‘fazendo uma modificacao’
cliente@host$ git push origin
Counting objects: 5, done.
Writing objects: 100% (3/3), 254 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@host:repo.git
a0530fe..471b6ae master -> master

Done. Repositório configurado, Quem ainda quiser que ninguem consiga fazer um acesso como git no seu host, logue como git e troque a shell padrão desse usuário.

server@host# su git
git@host$ chsh -s /usr/bin/git-shell
git@host$ exit

Lembe-se que a partir de agora não é possivel logar mais como o usuário git. Então toda vez que for configurar um repositório novo, não esqueça de arrumar as permissões.

Uma boa fonte de documentação é o livro Pro Git, existe uma versão online, da onde tirei boa parte do know-how para escrever esse artigo.

Desde já pesso desculpas pelo meu português e algum erro que possa ter nesse artigo. Para qualquer dúvida basta comentar.

[]`s

Arrumando a casa

Bom, o noroyalties está no ar depois de muito tempo. Prometo tentar deixar ele organizado, alias, é isso que eu estou fanzendo agora.

O novo noroyalties não será só um blog, será meu site pessoal aonde vocês poderão alem de ler coisas que eu escrevo,  ver algumas fotos, projetos que eu participo, palestras que eu já dei ou vou dar.

Pro enquanto, isso é tudo, pretendo organizar a bagunça.

Abraços