Servidor CVS: Instalando, configurando e gerenciando no Linux

Neste artigo procurarei mostrar de maneira prática e eficiente como instalar, configurar e gerenciar um servidor CVS no Linux. Nele serão abordados os seguintes temas: introdução; instalando, configurando e administrando o servidor CVS no Linux; CVSROOT; clientes CVS; bibliografia.

[ Hits: 104.586 ]

Por: Cristian Alexandre Castaldi em 04/09/2008


Instalando, configurando e administrando o servidor CVS no Linux



Clique no link cvs-1.11.23.tar.gz para baixar o pacote que contém o servidor CVS. A versão estável no momento em que escrevo este artigo é a cvs-1.11.23 e futuramente poderá ser outra, então fique esperto com as atualizações caso for instalar de novo ou em outras máquinas.

Descompacte o arquivo cvs-1.11.23.tar.gz:

# tar -zxvf cvs-1.11.23.tar.gz

Acesse o diretório e siga os passos para instalar o servidor CVS.

# cd cvs-1.11.23/
# ./configure
# make
# make install


Criando, iniciando e encerrando o repositório

Crie o diretório cvs no diretório /home:

# mkdir cvs

Para especificar o diretório do repositório faça:

# cvs -d /home/cvs init

Com esse comando foi especificado o diretório cvs como nosso repositório e dentro dele foi criado o diretório /CVSROOT, este diretório possui vários arquivos de controle e configuração do CVS.

# cd /home/cvs/CVSROOT/
# ls -l

checkoutlist
checkoutlist,v
commitinfo
commitinfo,v
config
config,v
cvswrappers
cvswrappers,v
editinfo
editinfo,v
Emptydir
history
loginfo
loginfo,v
modules
modules,v
notify
notify,v
rcsinfo
rcsinfo,v
taginfo
taginfo,v
val-tags
verifymsg
verifymsg,v

Uma vez especificado o diretório, devemos tomar as seguintes precauções para controlar o acesso ao nosso repositório. Crie um novo grupo chamado cvs. Todos os usuários que devem acessar o CVS devem estar contidos nesse grupo.

# groupadd cvs

Adicione os usuários que farão parte do grupo cvs separando-os com vírgula. Lembre-se que a síntese do arquivo /etc/group é a seguinte: GRUPO:PASSWORD:GID:USUÁRIOS

# vi /etc/group

cvs:x:501:cristian,root,cvsadmin,tux

Agora acesse o diretório /home e mude o grupo do diretório /cvs para cvs.

# chgrp -R cvs cvs/

Aplique as permissões para usuários e grupo de modo que somente os mesmos e mais ninguém tenha acesso e de modo que somente o dono do diretório, o dono do arquivo ou o root possam renomear ou apagar arquivos no diretório cvs.

# chmod g+srwx cvs/
drwxrws---  5 root     cvs       4096 Ago 29 09:22 cvs

No arquivo /etc/inetd.conf insira a seguinte linha:

# vi /etc/inetd.conf

cvspserver   stream   tcp   nowait   root   /usr/local/bin/cvs   cvs -f  --allow-root=/usr/local/repositorio   pserver

Verifique se as seguintes linhas no arquivo /etc/services não estão comentadas.

# cat /etc/services | grep cvspserver

cvspserver      2401/tcp  # CVS client/server operations
cvspserver      2401/udp

Caso a distribuição que você esteja usando não use o inetd, mas sim o xinetd faça:

No arquivo /etc/xinetd.conf edite:

# vi /etc/xinetd.conf

#
# Configuração do Xinet
#


defaults
{
        instances       = 10
        log_type        = SYSLOG authpriv
        log_on_success  = HOST PID
        log_on_failure  = HOST
        cps             = 25 30
}
includedir /etc/xinetd.d

As configurações na sessão default serão aplicadas, globalmente, em todos os serviços contidos no diretório /etc/xinetd.d. Por isso para saber de uma maneira bem resumida e prática, sugiro que dêem uma lida no artigo de Fréderic Raynal em:
Agora no diretório /etc/xinetd.d devemos criar o arquivo de configuração cvspserver.

# vi /etc/xinetd.d/cvspserver

service cvspserver
{
        port = 2401
        socket_type = stream
        protocol = tcp
        wait = no
        user = root
        passenv =
        server = /usr/bin/cvs
        server_args = --allow-root=/home/cvs -f pserver
        env = HOME=/home/cvs
        only_from = 192.168.223.0/24
}

Após a configuração do arquivo /etc/xinetd.d/cvspserver, dê um restart no xinetd para carregar as novas configurações.

# service xinetd restart

Ou:

# cd /etc/init.d
# ./xinetd restart


Página anterior     Próxima página

Páginas do artigo
   1. 1. Introdução
   2. Instalando, configurando e administrando o servidor CVS no Linux
   3. Login e logout no servidor pserver
   4. Importando um novo projeto
   5. Baixando, sincronizando, editando e enviando arquivos para o servidor CVS
   6. Adicionando arquivos e diretórios no módulo do servidor CVS
   7. Removendo arquivos e diretórios no módulo do servidor CVS
   8. Movendo arquivos e diretórios
   9. Diferenças entre versões de arquivos, status e histórico
   10. Removendo um módulo do servidor CVS
   11. CVSROOT
   12. Clientes CVS
   13. Bibliografia
Outros artigos deste autor

Usando partições e sistemas de arquivos

Autenticando usuários

Sistema de boot, níveis de execução e shutdown

Instalando e configurando o servidor Samba

Gerenciando quotas de disco

Leitura recomendada

Tutorial convertendo DVD para AVI - com mencoder

Programas equivalentes Linux vs Windows

AutoCAD 2007 vs. DraftSight v1r3.1 2013

Instalando o IBExpert no Linux e acessando o Firebird

Configurando o OpenOffice

  
Comentários
[1] Comentário enviado por marcelo_10araujo em 04/09/2008 - 16:50h

massa, tah de parabéns

[2] Comentário enviado por grandmaster em 04/09/2008 - 21:58h

Hummm

Bem legal. Não conhecia.

Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[3] Comentário enviado por danilo.roger em 05/09/2008 - 15:10h

Muito bom mesmo! Utilizo o CVS e o SVN mas as informações sobre os produtos são sempre fragmentadas, um pedaço em um site e outro pedaço em outro lugar. Achei legal o fato de todas as informações estarem neste único artigo. Esperamos em breve um artigo seu sobre o SVN. Até mais!

[4] Comentário enviado por crildo em 05/09/2008 - 15:14h

Obrigado a todos... Comecei a ler o livro do Subversion hoje, em breve postarei o artigo de minha pesquisa sobre ele. Até mais e obrigado ao Viva o Linux pelo espaço.

[5] Comentário enviado por removido em 07/09/2008 - 14:32h

o crildo-banguela voltou......
seja bem-"revindo" cachorrão!
Grande trabalho, merece 10!
;-)

[6] Comentário enviado por removido em 09/09/2008 - 12:54h

Gostaria de saber porque quando dou o comando cvs login, depois de usar o export cvs ..., dá a mensagem de connection refuse. Será que ele não instalou o cvs server.
Instalei das duas formas a primeira foi atraves do tar e ./configure, make, etc . Na segunda foi através do apt-get. ambas não abrem as portas 2401 do computador, embora eu tenha descomentado o arquivo inet e services. Será que falta alguma coisa para abrir as portas.

[7] Comentário enviado por removido em 09/09/2008 - 14:23h

Ola a solução que eu encontrei por ai foi instalar o cvsd instalei. Mas agora a mensagem que tá dando é authorization failed :server 10.7.2.xxx rejected access to /home/cvs for user alex. Eu antes criei esse usuário (alex) no writers e dei uma senha para ele ,usando mkpasswd,e coloquei essa senha no passwd do diretorio de repositorios. Criei tambem a pasta cvs e o grupo cvs, coloquei o usuario no grupo cvs. quando uso o comando cvs -d :p:server:alex@10.7.2.xxx:/home/cvs login e ponho a senha dá esse erro.

[8] Comentário enviado por crildo em 09/09/2008 - 15:02h

Acho que o problema está na configuração do inet...

Primeiro vamos ver aonde está o comando cvs
# find / -name cvs -print
/usr/share/doc/lm_sensors-2.10.0/doc/cvs
/usr/share/cvs
/usr/bin/cvs
/root/programas/cvs
/home/cvs
/var/lock/cvs
/var/cvs
/etc/pam.d/cvs

Como verificado acima o comando está em /usr/bin/cvs

Como instalei o CVS em um Red Hat EL5 usei o xinetd para configurar o meu por aqui e aquela do inetd é uma configuração antiga do CVS quando estava instalado no Debian.

No arquivo /etc/inetd.conf insira a seguinte linha:

# vi /etc/inetd.conf

cvspserver stream tcp nowait root /usr/bin/cvs cvs -f --allow-root=/home/cvs/seu repositorio pserver

Vê se agora você consegue!!

[9] Comentário enviado por crildo em 09/09/2008 - 15:11h

Alex você verificou as permissões de acesso para o seu diretório /home/cvs??? Dê uma olhada nas permissões do grupo...

[10] Comentário enviado por removido em 10/09/2008 - 12:46h

Primeiramente o programa está em /usr/bin/cvs . Eu uso o Ubuntu 8.04.. Depois comentei a linha atual do arquivo inet.conf, e coloquei a que voce pôs aí em cima com as devidas alterações. verifique as permissões e usuários e grupo do repositorio. as permissoes são totais exceto de escrita para outros. o proprietario e o grupo é o proprio cvs. no grupo cvs eu adicionei meu login de ubuntu. Mas ainda nao consegui entra no servidor cvs.

[11] Comentário enviado por crildo em 10/09/2008 - 14:22h

Verifique no seu repositório, imagino que seja /home/cvs, no diretório CVSROOT, o arquivo config. Se você estiver utilizando a autenticação pelo arquivo /etc/passwd o parâmetro SystemAuth deve estar setado como SystemAuth=yes.

Se você criou um arquivo passwd dentro do diretório CVSROOT o parâmetro deve ser setado como SystemAuth=no

Crie o arquivo passwd no CVSROOT, caso não tenha criado
usuário:senha:usuario_local

Exemplo:
alex:brasil2bolivia0:cvs

conforme as minhas configurações e a documentação do FocaLinux pode ser isso... Testa ai e me fala o que aconteceu...

# export CVSROOT=:pserver:alex@10.7.2.XXX:/home/cvs
# cvs login

Até mais...

[12] Comentário enviado por removido em 10/09/2008 - 22:40h

Ola Cristiano . Eu fiz pelo SystemAuth=no, ai criei o arquivo passwd dentro de CVSROOT criei o usuário com a senha e no final:cvs , reiniciei tudo . Usei o export e ainda não funcionou.

[13] Comentário enviado por removido em 11/09/2008 - 09:16h

A mensagem de erro é essa:
Logging in to :pserver:alex@10.7.2.xxx:2401/home/cvs
CVS password:
cvs login: authorization failed: server 10.7.2.xxx rejected access to /home/cvs for user alex

Meu arquivo inet.conf:
cvspserver stream tcp nowait root /usr/bin/cvs cvs -f --allow-root=/home/cvs/ pserver

o grupo cvs :
$ cat /etc/group|grep cvs
cvs:x:1002:alex

o arquivo /home/cvs/CVSROOT/passwd
alex:0203senhatola:cvs


Arquivo cvsd.conf em /etc/cvs.
RootJail /var/lib/cvsd

mais embaixo:

Listen * 2401
Repos /home/cvs

a versão do cvs é a 1.12.13-9 . Instalado a partir do apt-get

ps: atraves de outro pc , usando o eclipse, a mensagem que dá é que o usuário ou senha são inválidos.

[14] Comentário enviado por crildo em 11/09/2008 - 10:06h

Alex, você está usando Firewall ou o módulo SELinux? Este módulo é utilizado para controle de acesso. No Red Hat, quando tentava acessar dava o mesmo problema de autenticação. Como não conheço ainda este módulo de segurança eu desabilitei ele e adicionei a porta TCP:2401 e a UDP:2401 no firewall e o meu usuário cristian conectou. Então sugiro que você dê uma olhada nas regras do firewall e se você está usando o módulo SELinux. Imagino que a interface gráfica que você está usando é o Gnome... Se for vá até a aba Sistema -> Administração -> Nível de Segurança e Firewall e faça as mudanças e depois teste-as... Até mais...

[15] Comentário enviado por removido em 02/11/2008 - 01:43h

Oi me esqueci de falar a solução é que a porta 2401 (49²,hehehe ) não tava aberta. para abrir ela não basta apenas editar o inet.conf como mostrado. Como uso o ubuntu o inet.conf não abre sozinho é necessário então instalar o programa openbsd-inetd ele funciona como uma espécie de servidor do inet. Ai com o programa configurado ele vai la e lê o arquivo e abre as portas descomentadas.

[16] Comentário enviado por guuholi em 23/04/2013 - 13:48h

Sou novo nesta parte de cvs, ja subi svn e utilizei, porem como faço para acessar o CVS pelo wicvs e repositorios.. tenho esta duvida por nunca utilizei.. tem algum tutorial ou algo?


Contribuir com comentário