Instalación de un servidor CVS.
21 Noviembre, 2007 por PedroUna vez configurado el Apache, vamos con la instalación de CVS.
Antes de instalar el motor de CVS (incluye servidor y cliente), deberemos comprobar si ya está presente en nuestro sistema, si tenemos Ubuntu, es muy probable que ya lo tengamos instalados, simplemente debemos escribir en la linea de comandos:
cvs
Si nos devuelve algo como esto, es que ya lo tenemos instalado:
Usage: cvs [cvs-options] command [command-options-and-arguments]
where cvs-options are -q, -n, etc.
(specify –help-options for a list of options)
where command is add, admin, etc.
(specify –help-commands for a list of commands
or –help-synonyms for a list of command synonyms)
where command-options-and-arguments depend on the specific command
(specify -H followed by a command name for command-specific help)
Specify –help to receive this messageThe Concurrent Versions System (CVS) is a tool for version control.
For CVS updates and additional information, see
the CVS home page at http://www.nongnu.org/cvs/ or
the CVSNT home page at http://www.cvsnt.org/
Si no, deberemos instalarlo, mediante esta sentencia:
apt-get install cvs
El siguiente paso será elegir la ruta donde vamos a situar nuestro repositorio de cvs y crearlo, se hace con un simple comando:
cvs -d /ruta_del_repositorio init
También deberemos añadir a nuestras variables de entorno lo siguiente:
export CVSROOT=/ruta_del_repositorio
Para importar ficheros en el servidor, es necesario situarse en el directorio donde están dichos ficheros y ejecutar el siguiente comando
cvs import -m “Codigo importado” Origen/directorio vendor_tag release_tag
Donde, -m “Codigo importado” es el mensaje que le asignamos a los módulos importados a CVS, Origen/directorio es la ruta relativa (cvs no admite rutas absolutas, por motivos de seguridad) de los ficheros que queremos importar, y finalmente, vendor_tag corresponde a la marca del autor del software (normalmente se utiliza más adelante para gestionar el código de terceros) y release_tag es la marca inicial del software.
Para una mejor gestión del repositorio, lo ideal es crear un grupo cvs que le asignaremos a los usuarios:
groupadd cvs
También es necesario configurar los permisos dentro del repositorio que hemos creado:
chgrp -R cvs .
chmod ug+rwx . CVSROOT
El siguiente paso es imprescindible para aceptar conexiones desde los clientes al servidor, es la configuración del inet.d o del xinet.d, depende de lo que estemos utilizando para aceptar conexiones externas, la configuración para inet.d es mas simple, en el fichero /etc/inet.d hay que añadir esta entrada
cvspserver stream tcp nowait root /usr/local/bin/cvs cvs
--allow-root=/ruta_del_repositorio pserver
Si es xinet.d, deberemos crear un fichero cvspserver en la carpeta /etc/xinetd.d/ con este contenido:
service cvspserver
{
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = root
passenv = PATH
server = /usr/bin/cvs
server_args = -f --allow-root=/ruta_del_repositorio pserver
}
Ojo: Es necesario realizar un reload del servicio, no es suficiente con reiniciarlo, para xinet.d:
/etc/init.d/xinetd reload
Ahora que ya tenemos el servidor de CVS iniciado y con ficheros cargos, es necesario crear los usuarios que van a acceder al repositorio. Es imprescindible que el usuario que vaya a acceder esté creado en el servidor a nivel de Sistema Operativo, así que, si el usuario no existe, ejecutamos el siguiente comando:
useradd -g cvs -d /home_del_usuario -m -s /bin/bash usuario
Y le asignamos una contraseña
passwd usuario
Si el usuario ya existe en cvs, le podemos asignar el grupo:
adduser usuario cvs/blockquote>
Al servidor de CVS se puede acceder a través de varios protocolos, el más recomendable si está publicado al exterior es ssh, no es nuestro caso, ya que el servidor está publicado solamente en nuestra LAN, así que usaremos la mas simple, que es pserver o identificación mediante contraseña.Para ello creamos un fichero llamado passwd en el directorio CVSROOT de nuestro repositorio (este directorio se genera automáticamente al crear el repositorio, dentro de la ruta que le hayamos especificado), que es el directorio que contiene todos los archivos de control y metadato de CVS.
touch /ruta_del_repositorio/CVSROOT/passwd
El formato de este fichero es usuario:contraseñaencriptada.
Para obtener este pass encriptado, podemos utilizar el de /etc/passwd, o usar un script de generación de passwords:
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) +
(int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = [aqui la contraseña];
my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}\n";
Para que los desarrolladores reciban notificaciones cuando otro ha modificado un fichero que ellos necesitan o están editando, hace falta configurar el fichero notify del directorio de CVSROOT se debe añadir la siguiente línea:
ALL mail %s -s "CVS notification"
Y además, añadir un fichero llamado users en el mismo directorio que contenga información de los usuarios y sus correos electrónicos:
usuario1:direccion1@mail.com
usuario2:direccion2@mail.com
...
Sobre CVS podéis encontrar más información en la página oficial del proyecto, y estas dos páginas tienen bastante información, http://www.ucolick.org/~de/CVSbeginner.html y http://www.linuxfromscratch.org/blfs/view/cvs/server/cvsserver.html
Lo siguiente a realizar es configurar el servidor Apache para utilizar Drupal con multisite.
Octubre 2nd, 2009 at 3:16 pm
[...] – El blog de Neurotic " Blog Archive " Instalación de un servidor saved by slybud2009-09-12 – Programación de un lector de huella digital en Java. Parte 1. saved by [...]