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