Vamos a ver cómo instalar un servidor cvs utilizando el modo pserver para acceder a él, para ello, necesitaremos el binario cvs que podemos obtener de SunFreeware, o el source y compilarlo, en nuestro caso, vamos a utilizar el paquete que nos proporciona SunFreeware y sus dependecias
Descargaremos el software utilizando wget, si tienes un proxy http, puedes ver cómo configurarlo para wget, aunque puedes utilizar curl o cualquier otro.
# wget ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/cvs-1.12.13-sol10-sparc-local.gzRepetiremos el proceso de instalación para cada uno de los paquetes, si no los tenemos instalados ya.
# wget ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/libiconv-1.11-sol10-sparc-local.gz
# wget ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/libgcc-3.4.6-sol10-sparc-local.gz
# wget ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/libintl-3.4.0-sol10-sparc-local.gz
# gzip -d cvs-1.12.13-sol10-sparc-local.gzUna vez instalado todos los paquetes, simplemente vamos a comprobar su correcto funcionamiento, debemos tener en cuenta que los paquetes se instalan en /usr/local y por lo tanto, debemos tener el directorio /usr/local/bin en nuestro PATH
# pkgadd -d cvs-1.12.13-sol10-sparc-local
$ which cvsUna vez comprobado que nuestro software cvs funciona de forma correcta, vamos a iniciar la configuración de nuestro servidor cvs, para ello, necesitamos seleccionar un directorio en el cual estarán los archivos de repositorio, es decir, nuestro CVSROOT, en nuestro caso será /opt/www/cvs
/usr/local/bin/cvs
$ ldd /usr/local/bin/cvs
libxnet.so.1 => /usr/lib/libxnet.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libc.so.1 => /usr/lib/libc.so.1
libmp.so.2 => /lib/libmp.so.2
libmd.so.1 => /lib/libmd.so.1
libscf.so.1 => /lib/libscf.so.1
libdoor.so.1 => /lib/libdoor.so.1
libuutil.so.1 => /lib/libuutil.so.1
libgen.so.1 => /lib/libgen.so.1
libsocket.so.1 => /lib/libsocket.so.1
libm.so.2 => /lib/libm.so.2
/platform/SUNW,Sun-Fire-280R/lib/libc_psr.so.1
/platform/SUNW,Sun-Fire-280R/lib/libmd_psr.so.1
$ cvs -v
Concurrent Versions System (CVS) 1.12.13 (client/server)
Copyright (C) 2008 Free Software Foundation, Inc.
Senior active maintainers include Larry Jones, Derek R. Price,
and Mark D. Baushke. Please see the AUTHORS and README files from the CVS
distribution kit for a complete list of contributors and copyrights.
CVS may be copied only under the terms of the GNU General Public License,
a copy of which can be found with the CVS distribution kit.
Specify the --help option for further information about CVS
# mkdir -p /opt/www/cvsEditaremos el archivo /etc/services para incluir los nuevos servicios
# cvs -d /opt/www/cvs init
cvspserver 2401/tcp # CVS Client/server operationsCrearemos un archivo de configuración en nuestro HOME (luego lo prodremos borrar) para poder importar la nueva definición
cvspserver 2401/udp # CVS Client/server operations
# vi cvs-pserverConvertimos las entradas de inetd.conf en un archivo de definición de SMF, para ello, debemos utilizar inetconv
cvspserver stream tcp nowait root /usr/local/bin/cvs -f --allow-root=/opt/www/cvs pserver
:wq
# inetconv -f -i cvs-pserverEditaremos el archivo de definición de inetd y añadiremos la entrada del nuevo servicio
cvspserver -> /var/svc/manifest/network/cvspserver-tcp.xml
Importando cvspserver-tcp.xml ...Terminado
# vi /var/svc/profile/inetd_services.xmlReiniciamos el servicio utilizando svcadm
<service name="'network/cvspserver-tcp'" version="'1'" type="'service'">
<instance name="'default'" enabled="'true'/">
</instance>
:wq
# svcadm restart inetd:defaultComprobamos que tenemos el servicio escuchando en el puerto que hemos seleccionado
# netstat -an|grep 2401Ya tenemos nuestro servidor preparado, ahora podemos conectarnos con cualquier cuenta que tenga acceso al sistema, o como en nuestro caso, vamos a crear una cuenta exclusiva para su acceso
*.2401 *.* 0 0 49152 0 LISTEN
# groupadd cvsAhora, nos podemos logear mediante pserver, para ello, deberemos exportar el CVSROOT y hacer login con la contraseña que le hemos asignado al usuario cvs
# useradd -g cvs -d /export/home/cvs -m cvs
# passwd cvs
password: ********
# chown -r cvs:cvs /opt/ww/cvs
# su - cvsSi todo ha sido correcto, nos podremos logear y comenzar a utilizar nuestro cvs de forma normal, por ejemplo, podemos importar nuestro proyecto
$ export CVSROOT=:pserver:cvs@localhost:/opt/www/cvs
$ cvs login
Logging in to :pserver:cvs@localhost:2401/opt/www/cvs
CVS password: ********
$ cd projectSi no queremos que el servidor utilice los usuarios y passwords del sistema, podemos crear un archivo en $CVSROOT/CVSROOT/passwd con el formato similar a /etc/passwd con la contraseña en Crypt y sólo usuario:password
$ cd MyTest
$ cvs import Test INITIAL start
Referencias
No hay comentarios:
Publicar un comentario