27 junio 2009

Integracion de Tomcat con Apache

En este post instalaremos Tomcat y lo configuraremos para que se integre con Apache, sobre un Ubuntu 9.04 con KDE 3.5

Para instalar Apache puedes guiarte en parte de este post hasta antes de la parte de instalación de Subversion.


Para instalar Tomcat primero necesitamos tener instalado el JDK de Java de Sun (si ya estas seguro que lo tienes, puedes saltarte estos pasos), por lo que ejecutamos el comando sudo apt-get install sun-java6-jdk, aceptamos su acuerdo y esperamos a que termine. Al final puedes confirmar que todo esta bien instalado con un "java -version" y un "javac -version", si ambos te indican la misma versión, entonces todo esta bien.

Tambien debemos crear la variable de entorno JAVA_HOME apuntando hacia /usr/lib/jvm/java-6-sun, agregándola al final del archivo /usr/profile:

sudo nano /usr/profile

(tambien puedes hacerlo al final del archivo ~/.bash_profile o también ~/.bashrc, dependiendo de cual encuentres en uso) la siguiente línea:

export JAVA_HOME=/usr/lib/jvm/java-6-sun ,

Ahora para actualizar nuestras variables de entorno debemos reiniciar nuestra sesión y listo, si escribes el comando "echo $JAVA_HOME" debería mostrarnos el path que le asignamos.

Todo listo para instalar Tomcat por lo que ejecutamos el siguiente comando:

sudo apt-get install tomcat6 libapache2-mod-jk libapache-mod-jk-doc apache2-threaded-dev

Otra alternativa es descargar el paquete .tar.gz desde el sitio oficial de Tomcat (en cuyo caso debieras seguir las instrucciones del sitio oficial)

Lo que toca ahora es activar el modulo jk mediante el comando:
/etc/apache2/mods-enabled#a2enmod jk


Por ùltimo debemos modificar el archivo /etc/libapache2-mod-jk/workers.properties, buscamos la linea workers.java_home=/usr/lib/kaffe y la sustituimos por workers.java_home=/usr/lib/jvm/java-6-sun; ademàs debemos fijarnos en los valores de las variables workers.tomcat_home, workers.java_home y ps (descomentarlos en caso que esten comentados)

El otro archivo a considerar es /etc/apache2/mods-enabled/jk.conf que es donde indicamos los puntos de montaje para cada worker especificado en el archivo workers.properties


Expandir/Contraer este Post


19 junio 2009

Integración entre hudson y trac

En este post veremos como lograr que Hudson y Trac se integren mediante un plugin que crea links desde un proyecto de Hudson hacia una instancia de Trac, con lo cual conseguimos "decorar" los reportes de cambios de Hudson agregando links a los apartados de Trac, por ejemplo la wiki, tickets, conjunto de cambios y el visor del código fuente.

Lo primero que hacemos es abrir la página inicial de hudson ("http://localhost:8080") y damos click sobre el link "Manage Hudson" de la barra lateral izquierda

Ahora buscamos el link "Manage Plugins" y damos click en él.

En la siguiente página, damos click en la pestaña "Available" y luego buscamos el plugin "Trac Plugin", lo marcamos y damos click en el botón "install" hasta el final de la lista.



Ahora Hudson nos indica que una vez instalado el plugin, debe reiniciarse para que los cambios tengan efecto por lo que damos click en el botón "Restart now"

Esperamos mientras Hudson se reinicia, luego de algunos segundos nos regresará al inicio de Hudson. Ahora para confirmar que el plugin ha sido instalado debemos ir al link "Manage Hudson" > "Manage Plugins" y la pestaña "Installed" y debemos ver que aparezca en la lista la entrada "Hudson Edgewall Trac plugin".

Listo, ya hemos agredado el plugin, ahora para usarlo en un job que hayamos creado previamente, debemos editar las configuraciones del job (click sobre el job, luego en el link "configure")

Buscamos la entrada "Trac website" y escribimos "http://localhost/trac"; por último buscamos la lista "Repository Browser", seleccionamos "Trac" y damos click en el botòn "save" al final de la página.




Ahora nos aparecerá un nuevo link para trac en la barra lateral derecha de la página del Job, el cual apunta al "project enviroment" de Trac.

Listo, ahora, si por ejemplo hacemos un commit, la página de cambios del Job relacionado tendrá los links apropiados para el conjunto de cambios y la página de tickets de Trac, respectivamente.

Además en la parte de detalle de cambios de Hudson habrá un link hacia las páginas de Trac para el conjunto de cambios "committed", archivos cambiados y las diferencias entre las versiones de archivos.



Expandir/Contraer este Post


18 junio 2009

Instalación y Configuración de Trac

Trac es una herramienta para la gestión de proyectos y seguimiento de errores, fuertemente relacionado con Subversion.

En este post veremos como instalar Trac e integrarlo con Apache y Subversion.


Lo primero que hacemos es instalar trac (y sus dependencias) junto al modulo libapache2-mod-python, mediante el siguiente comando:
sudo apt-get install trac libapache2-mod-python


Ahora debemos crear una carpeta para que sirva de ambiente de proyectos (project enviroment) para que Trac pueda almacenar informaciòn sobre páginas de wikis, tickets, reportes, configuraciones, etc. En nuestro ejemplo la carpeta se llama trac_env y esta alojada en la carpeta del usuario (/home/tuUsuario/ abreviado como ~/), y www-data es el usuario creado por Apache.

sudo mkdir ~/trac_env
sudo chown -R www-data ~/trac_env
cd ~/trac_env
sudo trac-admin holaTrac initenv


trac-admin empezará a preguntarnos datos sobre la configuración; el primero es el nombre del proyecto, puede ser cualquiera, por ejemplo "holaTrac". El segundo parametro es el string de conección a la base de datos (en caso tengas uno instalado, como MySql o algo así) que dejamos vacío por default. El tercer valor es el tipo de sistema de control de versiones, por default es subverion,lo dejamos así. El cuarto es el path absoluto a la carpeta del repositorio, por ejemplo "/home/tuUsuario/repositorio"

Al terminar la configuración del ambiente podemos aprovechar para crear un grupo "trac" donde agregaremos a todos los usuarios que necesitemos que tengan acceso al enviroment (como tu usuario, y www-data) y cambiamos el dueño y el grupo de todos los archivos generados dentro de trac_env.
sudo addgroup trac
sudo useradd tuUsuario trac
sudo useradd www-data trac

sudo chown -R www-data:trac holaTrac
sudo chmod -R 770 holaTrac


Ahora debemos crear un archivo de configuración para que apache reconozca la localización de la carpeta de /trac y de paso aprovechamos para escribir la configuración necesaria para que trac use el mismo archivo de contraseñas de Subversion.

sudo nano /etc/apache2/sites-available/trac.conf


Y agregamos las siguientes líneas:


<Location /trac> #set up Trac handling
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /home/tuUsuario/trac_env
PythonOption TracUriRoot /trac

# Use the SVN password file.
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>


Debes notar que el parametro que sigue al TracUriRoot debe ser el mismo que el que esta despues de Location

Ahora debemos hacer que Apache reconozca "/trac" como un sitio valido y permitido, para esto, nos movemos a la carpeta sites-enabled de apache y creamos un enlace al archivo trac.conf que creamos previamente.
cd /etc/apache2/sites-enabled
sudo ln -s ../sites-available/trac.conf 010-trac



Por último reiniciamos apache:
sudo /etc/init.d/apache2 restart


Para probar la instalación, escribimos la url "http://localhost/trac" en nuestro navegador donde nos encontraremos con una página que nos lista los proyectos que hemos creado (como el holaTrac).


Al dar click en el link del proyecto, entramos a su "wiki" donde tenemos varias opciones para para registrar, por ejemplo la opción de "browse source", ver tickets, agregar tickets y buscar.


En la parte de "browse source" tenemos un listado de las carpetas del repositorio, donde podemos incluso llegar a ver los archivos fuentes y los cambios que han tenido.

Bueno hasta aquí llega este post, ojalá les haya servido, saludos.

Fuentes:
http://trac.edgewall.org/wiki/TracInstall
http://es.wikipedia.org/wiki/Trac
http://trac.edgewall.org/wiki/TracModPython
https://help.ubuntu.com/community/UbuntuTracHowto



Expandir/Contraer este Post


17 junio 2009

Opera Unite: Un servidor web en el navegador


Imagina simplemente convertir tu computadora (o cualquier otro dispositivo que use Opera) en un servidor web simplemente habilitando una función desde el navegador, pues esto es lo que propone la nueva tecnología de Opera, llamada Opera Unite e incluída a partir de la versión 10 del navegador web de Opera (aún en fase de pruebas).

En otras palabras tu ordenador dejará de ser sólo un medio para interactuar con la red para convertirse en parte de la estructura de la web, dejando de depender de grandes servidores y permitiéndote brindar servicios y compartir contenidos desde el navegador, todo esto sin importar si eres un usuario técnico o no.

A continuación un video acerca del punto de vista de Opera Unite:


Algunas de las funcionalidades más sobresalientes (por ahora) son:


Opera Unite es una gran propuesta para la web interpersonal, pero dependerá de los usuarios, desarrolladores, companías, empresarios, y cualquier persona visionaria para crecer y llegar a ser una verdadera revolución.

Fuentes:
http://labs.opera.com/
news/2009/06/16/

http://unite.opera.com/
(Y todavía hay quienes me preguntan porque prefiero usar Opera ¬¬,)


Expandir/Contraer este Post


Instalación y configuración de Hudson


Hudson es una herramienta open source para integración contínua que nos ayuda a monotorizar la ejecución de tareas repetitivas como el compilar un proyecto cada cierto tiempo. Además se enfoca en la construcción y prueba de proyectos de software contínuamente y en monitorizar la ejecución de tareas ejecutadas externamente.

Algunas de las características más sobresalientes de la herramienta son:
- Fácil de instalar: podemos hacer un deployment del archivo hudson.war en cualquier web container como tomcat, pero también podemos ejecutarlo como standalone mediante el comando:
java -jar hudson.war

- Configuración: Se realiza totalmente mediante su interfaz web lo cual nos ahorra el trabajo de estar editando archivos XML por nuestra cuenta.

- Soporta cvs y subversion como SCM: (SCM=manejador de la configuración del software) Aunque también puede trabajar sin repositorio para control de versiones (scm).

- Extensión de la herramienta mediante plugins. Actualmente se cuentan con plugins de JIRA, findbugs, Plot, Polarion, Trac, Clover entre otros.

- Soporte para reportes de JUnit y TestNG: Los cuales pueden ser tabulados, resumidos y desplegados junto con información histórica.

En este post veremos como instalar y configurar la herramienta e integrarla con Apache y Subversion. (si aún no has instalado Subversion, puedes revisarte este post para hacerlo)

Lo primero que debemos hacer es descargar el archivo hudson.war desde su página oficial.

Ya descargado, podemos probarlo abriendo una consola en la carpeta donde este el archivo y ejecutando el comando:java -jar hudson.war con lo que empezará a escuchar solicitudes desde el puerto 8080; es importante no cerrar la ventana de comandos mientras usemos hudson ya que si lo hacemos, se para el servicio.

Para probar hudson nos vamos al navegador y escribimos http://localhost:8080/ con lo que nos deberá abrir la siguiente página:

Como notaremos, la primera vez que lo ejecutamos no hay ningún trabajo en lista, por lo que procedemos a crear uno dando un click en el link "new job" de la esquina superior izquierda. En esta nueva página, se nos presentarán cuatro opciones diferentes para crear un tipo de trabajo, sin embargo, nosotros seleccionamos la segunda "build a free-style software project" y le asignamos un nombre al trabajo (en mi caso "holaHudson"), al final presionamos ok.

La siguiente es la página de configuración del nuevo job, aquí podemos chequear todas las opciones que nos dá pero lo más importante es que configuremos en la parte de "Source Code Management" la url de nuestro repositorio de subversion (esto si has leido mis posts anteriores, si no, puedes omitirlo) la cual es "http://localhost/svn/trunk/helloSubversion".


También debemos configurar la opción build triggers donde tenemos varias opciones, seleccionamos la opción "Poll SCM" (SCM es el Subversion) y le indicamos que haga una revisión cada media hora, por lo que escribimos 30 * * * para que Hudson le pregunte a Subversion cada media hora por nuevas actualizaciones.


En la casilla de Build debemos indicarle a Hudson como debe construir el proyecto, Hudson nos da varios mecanismos, sin embargo nosotros usaremos Ant, por lo que seleccionamos "invoke Ant" (Ant debe estar instalado en la máquina del repositorio)

En target debemos especificar los targets definidos en el build.xml del proyecto, generado automáticamente por Netbeans que queremos que Hudson ejecute, por lo que sólo escribimos "compile test javadoc"

Ahora debemos marcar la casilla "generate javadoc" para que la documentación de las clases se actualize automáticamente, sólo debemos pasarle la direccion de la carpeta dentro del proyecto donde queremos que se guarde, en nuestro ejemplo es "helloSubversion/dist/javadoc"

Listo, ahora sólo damos click en save y ya tendremos nuestro primer job guardado. Si regresamos al index de Hudson ("http://localhost:8080") veremos que habrá un listado de todos los jobs que hemos configurado.

Si ahora damos click en nuestro nuevo job (helloHudson) entramos a su panel de administración (por así llamarlo), donde entre otras cosas podemos dar click en el link "build now" con el cual ejecutamos inmediatamente el job (sin esperar los 30 minutos), al hacerlo nos aparecerá una nueva entrada en en el apartado "build history" de la columna izquierda y si damos click en ella entramos al "panel de control" del "build" (por así llamarlos)

Lo más importante de este panel es que podemos revisar cual fue la salida de la consola ya que es muy útil si tenemos algún problema con los builds y no sepamos porque.

Por ejemplo, la salida que obtuvimos con el último build es:

View as plain text
Started by user anonymous
Updating http://localhost/svn/trunk/helloSubversion
At revision 12
no change for http://localhost/svn/trunk/helloSubversion since the previous build
[helloSubversion] $ ant compile javadoc
Buildfile: build.xml

....
....
....

init:

-javadoc-build:
[javadoc] Warning: Leaving out empty argument '-windowtitle'
[javadoc] Generating Javadoc
[javadoc] Javadoc execution
[javadoc] Loading source file /home/alexander/.hudson/jobs/helloHudson/workspace/helloSubversion/src/hellosubversion/Main.java...
[javadoc] Constructing Javadoc information...
[javadoc] Standard Doclet version 1.6.0_13
[javadoc] Building tree for all the packages and classes...
[javadoc] Building index for all the packages and classes...
[javadoc] Building index for all classes...

-javadoc-browse:

javadoc:

BUILD SUCCESSFUL
Total time: 3 seconds
Publishing Javadoc
Finished: SUCCESS


Donde podemos ver que no tuvimos mayor problema.

Bueno, esto fue todo con respecto a Hudson (por ahora), espero que este post les ayude a instalarlo, los anime a explorar un poco más la herramienta y descubran los beneficios que puede brindarnos.

Saludos.


Fuente:
Documentación Oficial: http://wiki.hudson-ci.org/display/HUDSON/Use+Hudson
Un muy buen manual: http://ivanator.wordpress.com/2009/01/12/montando-un-entorno-integracion-continua-hudson-ant-svn-netbeans/


Expandir/Contraer este Post


15 junio 2009

Integración de Subversión y Netbeans


Continuando con los posts relacionados con el sistema Subversión, en esta ocación veremos como realizar una integración entre este y el IDE Netbeans para desarrollo.


En nuestro caso usaremos la versión 6.5 de Netbeans para Ubuntu, por lo que si no lo tienes instalado puedes bajarlo de aquí, si aún no tienes instalado o configurado Subversion, puedes revisar mi post anterior

Ya descargado el archivo .deb, le debemos dar permisos de ejecución por lo que nos vamos a consola y ejecutamos (suponiendo que guardaste el instalador en el escritorio):

cd ~/Escritorio
chmod +x ./netbeans-6.5-ml-linux.sh
./netbeans-6.5-ml-linux.sh


Con lo aparecerá en instalador gráfico de Netbeans por lo que sólo debemos seguir sus instrucciones hasta terminar.


Ahora a lo que concierne en este post, abrimos Netbeans y nos vamos al menú llamado "versioning" donde damos click sobre "subversion" y luego sobre "checkout" (ver imagen) donde nos debería aparecer una forma donde debemos ingresar la url del servidor de subversion así como el nombre y password de algún usuario de subversion.


Es importante que en el campo "url" ingresemos la dirección incluyendo la carpeta "trunk" (como en la imagen) para que sea ahí donde almacene el proyecto y los commits que realicemos.

Si todo sale bien y logra conectarse y validar el usuario, nos mostrará otra ventana donde aparecerá la carpeta trunk en la casilla de repository folder, por lo que lo dejamos así y damos click en el botón finish.

Si volviera a preguntarnos las credenciales, las ingresamos y damos click en retry, en ese momento, si netbeans logra conectarse, nos dirá que aún no hay un proyecto creado por lo que podemos hacerlo o no (en el caso que ya tengamos uno creado y solo deseemos subirlo al repositorio).


Ahora vamos a ver como podemos subir un proyecto ya existente al servidor de subversion, para eso usaremos un proyecto de prueba llamado "holaSubversion", el cual después de crearlo damos click derecho sobre su nombre, en la columna derecha (donde se muestra el árbol de archivos), clickeamos en "versioning" y luego en "import into subversion repository" donde, en la siguiente pantalla confirmamos la url del repositorio y los datos del usuario, presionamos next y se nos mostrará una tabla con todos los archivos que subiremos al repositorio (ver imagen) por lo que ahora damos click en finish para que Netbeans empiece la transferencia.

Si ahora revisamos nuestro repositorio mediante el navegador web (http://localhost/svn) veremos que en la carpeta trunk esta ahora alojado nuestro nuevo proyecto.



Cómo hacer un commit?

Supongamos que hemos trabajado cierto tiempo sobre una parte del proyecto y deseamos realizar un commit de los archivos modificados,por lo que debemos guardar el proyecto y luego dando click derecho sobre el icono del proyecto en la columna izquierda y seleccionando "Subversion" y luego la opción commit (ver imagen derecha).



Ahora nos aparecerá una pantalla donde nos indicará cuales han sido los cambios que se han hecho sobre el proyecto y que archivos se han modificado, por lo que damos click en "commit" y netbeans actualizará automáticamente en el repositorio los archivos modificados.


Supongamos que tiempo después de trabajar nos damos cuenta que hay un error en el proyecto y que necesitamos regresar a una etapa anterior, esto lo podemos hacer simplemente dando click sobre el ícono del proyecto, luego en subversion y luego en "revert modifications", donde nos aparecerá una ventana solicitando le indiquemos a que revisión debemos retornar (ver imagen), para este ejemplo seleccionamos "Revert Modifications from Single Commit" y luego presionamos el botón search por lo que aparece una nueva ventana donde si presionamos el botón "list" aparece un listado de todas los commits que se han realizado en la fecha indicada.


Aquì seleccionamos la versión anterior y damos click en ok y luego en el botón "revert". Si ahora observamos nuestro proyecto veremos que se ha retrocedido en el tiempo hasta la versión que solicitamos, por lo que ahora podremos hacer las modificaciones que queramos.

Bueno, eso es todo por ahora, espero que este post les ayude a comenzar a explorar las diversas propiedades de usar subversion junto a un IDE como Netbeans.

Fuentes:
Instalación de Netbeans en Ubuntuhttp://www.guia-ubuntu.org/index.php?title=NetBeans
http://wiki.netbeans.org/SpanishTranslationSVN6.5Ubuntu
http://wiki.netbeans.org/SpanishTranslationSVN6.5

Expandir/Contraer este Post


14 junio 2009

Instalación y Configuracíon de Subversion

Subversion (SVN) es uno de los sistema para manejo y control de versiones más usado hoy en día, llegando a reemplazar a sistemas anteriores como CVS.

Algunas de las ventajas que nos da trabajar un proyecto junto a un sistema de control de versiones es que este centraliza mediante un repositorio todos los documentos, archivos fuentes, librerías y demás por lo que evitamos duplicados y redundancia de códigos; otra ventaja es que nos ayuda a mantener la información de la evolución del sistema (su historia) y no sólo de los componentes individuales. Intenta mantener todo esto en un proyecto grupal sin usar un controlador de versiones y verás el verdadero infierno en que se puede convertir.

Es por eso que algunos ejemplos de proyectos en los cuales se usa actualmente SVN son Apache, KDE, GCC, por mencionar algunos.



En este manual vamos a instalar Subversión sobre Apache en un Ubuntu 9.04, sin embargo, los comandos son los mismos para cualquier otra versión de Linux.

Bueno, empecemos con la instalación, lo primero que debemos tener instalado es Apache, por lo que aquí dejo unas instrucciones sencillas para hacerlo, si tu ya tienes instalado Apache, puedes saltarte a los siguientes pasos.

Instalación de Apache:
Lo primero que debemos hacer es instalar Apache y Subversion junto con el módulo de integración de ambos, esto lo conseguimos con el comando:

sudo apt-get install apache2 subversion lipapache2-svn


Esto instalará Apache junto a todas sus dependencias por lo que lo siguiente es modificar el archivo httpd:
sudo nano /etc/apache2/httpd.conf

y agregamos las siguientes líneas:
ServerName localhost
User usuario
Group usuario

Donde debes reemplazar usuario por tu nombre de usuario (con el que te logueas en Ubuntu). Guardamos y reiniciamos apache:
sudo /etc/init.d/apache2 restart



Por lo que nos deberá aparecer un mensaje indicándonos que se ha levantado correctamente el servicio, por lo que ahora podemos probar a escribir "http://localhost" en el navegador, si todo esta correcto deberíamos obtener una página con el texto "It, Works!", si es asì, ya tenemos instalado Apache (la carpeta donde estan los documentos web es /var/www/ por si deseas cambiar ese index)

Instalación de Subversion:
Si te saltaste la sección anterior porque ya tienes instalado Apache, solamente deberás instalar los siguientes paquetes:

sudo apt-get install subversion libapache2-svn


Esto instalará subversion junto con el módulo de integración para apache, por lo que ahora debemos de hacer las configuraciones para permitir que se modifiquen los archivos del repositorio desde web, mediante apache, esto lo conseguimos a través del protocolo WEB/DAV ((Web-based Distributed Authoring and Versioning)), el cual es una extensión del HTTP.

WEBDAV esta diseñado para permitir a grupos o individuos el editar y manejar archivos almacenados en un servidor web. El protocolo permite la creacion de “web-shares” que pueden usarce para almacenar archivos, proyectos colaborativos, editar sitios web, entre otras cosas. WebDAV soporta propiedades tales como editar, copiar, y mover archivos, poner candados, listas de recursos, y modificacion de propiedades.

Para más información sobre WEBDAV en Apache, podemos consultar el siguiente enlace


El módulo de subversion utiliza WEBDAV por lo que es de esperar que la instalación habilite los modulos, pero para confirmar debemos ingresar el siguiente comando:
sudo a2enmod dav_svn
, lo cual nos mostrará un resultado similar a la imagen.

Ahora lo que deberemos hacer es crear una carpeta para el repositorio, esta puedes ponerla donde quieras y con el nombre que quieras, en mi caso será "~/repositorio"

mkdir ~/repositorio


Ejecutamos el siguiente comando para que subversion cree un nuevo repositorio en la carpeta indicada, usando la herramienta svnadmin:

sudo svnadmin create ~/repositorio


Ahora hay q configurar Apache para que reconozca el repositorio. Esto lo hacemos editando el archivo:

sudo nano /etc/apache2/mods-enabled/dav_svn.conf


Buscamos la línea #<location /svn> y la descomentamos (quitamos el simbolo de #) ahora habilitamos el repositorio descomentando la linea #DAV svn, descomentamos la linea #SVNPath y escribimos la direccion de la carpeta de repositorio (en mi caso, ~/repositorio). Para el control de acceso, haremos la configuracion del modo basico, pero sería bueno que leyeras las instrucciones que estan comentadas para los otros dos modos en caso que creas que sea necesario un control mas fino para tu proyecto. Descomentamos las siguientes lineas #AuthType Basic, #AuthName "Subversion Repository", #AuthUserFile /etc/apache2/dav_svn.passwd, #Require valid-user, #</Location> por lo que al final nuestro archivo quedará algo así:

<Location /svn>
DAV svn
SVNPath /home/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>


Guardamos y salimos.

Ahora debemos crear los usuarios para trabajar con Subversion, esto podemos hacerlo de dos formas, creamos usuarios individualmente mediante el comando:

sudo htpasswd -cm /etc/apache2/dav_svn.passwd usuario


Donde usuario es cualquier nombre que desees, luego ingresas tu password y luego el password del nuevo usuario.

Otra forma es creando un grupo de usuarios con todos los permisos y restricciones, y luego agregando cuantos usuarios comunes como se requieran:

groupadd repositorio


ahora creamos todos los usuarios que necesitemos y los agregamos al grupo:
useradd usuario1 -m -G repositorio
passwd usuario1
useradd usuario2 -m -G repositorio
passwd usuario2


Ahora le damos permisos al grupo sobre el repositorio:
chown -R root:repositorio ~/repositorio
chmod 770 ~/repositorio


Para que los usuarios al crear revisiones, las creen con determinados permisos de manera que todos los usuarios puedan acceder, debemos asignarles el umask y asì evitamos errores de permiso denegado, como este:

No se pudo abrir el archivo '/svn/db/current': Permiso denegado


Asignamos el umask para cada usuario que creemos, editamos el archivo .profile de su home, por ejemplo:

sudo nano /home/usuario1/.profile


y buscamos la línea "#umask 022" y la cambiamos por "umask 770"

Ya casi terminamos, ahora sólo debemos importar la estructura de carpetas: trunk, branches, y tags a nuestro repositorio. A continuación una descripción del porque de esta estructura:

trunk: contiene el tronco principal del proyecto donde se va creando los directorios/ficheros y se van modificando.

branches: es donde se guardan copias del tronco principal en estas para poder hacer cambios experimentales y pruebas sin tener que modificar el trunk.

tags:Acá se guardan versiones del proyecto, que ya están terminadas y sobre las cuales no se harán más cambios. (son versiones históricas)

Para crear esta estructura en el repositorio, creamos una carpeta temporal cualquiera (por ejemplo, ~/tmpRepositorio)

mkdir ~/tmpRepositorio
cd ~/tmpRepositorio
mkdir trunk branches tags


Ahora importamos esta estructura al subversion mediante el comando:

sudo svn import . file:///home/mi_usuario/repositorio -m "Se ha importado la estructura del directorio"


Donde en file:// debes poner la dirección local de la carpeta que usarás para repositorio.
El parámetro despues de -m es para enviarle un mensaje a subversion indicando la razón de la operación.

Por último debemos cambiar los permisos del repositorio para que se puedan realizar los commits (actualizaciones):

sudo chmod -R 770 /home/alexander/repositorio


Listo, ya tenemos instalado y configurado Subversion, por lo que ahora deberemos reiniciar el servidor Apache:

sudo /etc/init.d/apache2 restart



Y escribimos en nuestro navegador: "http://localhost/svn" donde nos pedirá que nos autentiquemos, escribimos el usuario y contraseñas que creamos para Subversion y listo, nos deberá mostrar la siguiente estructura de carpetas:


Fuentes:
Instalaciòn de Apache: http://ubuntu-ar.org/node/206
Wiki sobre Subversion: http://en.wikipedia.org/wiki/Subversion_(software)
Conf. de WEBDAV junto a Apache: http://www.digital-arcanist.com/sanctum/article.php?story=20070427101250622
Instalación y conf. de Subversion: http://sherekan.com.ar/2008/03/25/instalacion-configuracion-y-uso-de-subversion-en-linux/

Expandir/Contraer este Post


09 junio 2009

Ya disponible Fedora 11


Fedora 11: Gobierna

Ese es el slogan para la nueva versión de Fedora, disponible a partir de hoy en su sitio oficial donde podrán encontrar la documentación de la versión en buen español.

Entre algunas de las características más importantes que trae Fedora 11 (y que están más detalladas en la documentación oficial de la versión) son:

Presto: Normalmente cuando actualiza un paquete en Fedora, descarga un paquete reemplazo entero. La mayor parte del tiempo (especialmente para paquetes más grandes), la mayoría de los datos actuales en el paquete actualizado es el mismo que el del paquete original, pero todavía puede terminar descargando el paquete completo. Presto le permite descargar la diferencia (llamada delta) entre el paquete que tiene instalado y el que quiere actualizar. Esto puede reducir el tamaño de descarga de las actualizaciones en un 60% – 80%. No está habilitado por defecto en este lanzamiento. Para usar esta característica debe instalar el complemento yum-presto con yum install yum-presto.

Instalación automática de fuente y tipos mime: PackageKit permite instalar automáticamente fuentes donde se necesiten para ver y editar documentos.

Control de Volumen: PulseAudio unifica los controles de volumen en una interfase que mejora la configuración de sonido, haciendo mucho más fácil su control.

Modesetting del kernel (KMS) en Intel, ATI y Nvidia: Lo que permite agilizar el arranque gráfico Ahora se incluyen muchas más placas de video, incluídas Intel y Nvidia, así como también otras ATI.

Huella digital: Se ha hecho un mejor trabajo para soportar esta funcionalidad directamente desde el sistema.

Además entre las nuevas características se mencionan:

Sistema de archivo Ext4: reemplazando a ext3 dado a su diseño mejorado, una mejor performance y confiabilidad, soporte para un almacenamiento más grande y chequeos de sistema de archivo y borrado de archivos mucho más rápido.

MinGW (compilador cruzado de Windows): MinGW, un entorno de desarrollo para compilar en forma cruzada programas para que se ejecuten en Windows sin tener que usar Windows, eliminando el trabajo duplicado a los desarrolladores, proveyéndoles de un rango de bibliotecas y de herramientas de desarrollo que ya fueron portados al entorno del compilador cruzado. Los desarrolladores no tendrán que recompilar toda la pila de aplicaciones por si mismos, sino que solamente tendrán que concentrarse en los cambios necesarios por su aplicación.

A continuación copypasteo los requerimientos mínimos en arquitecturas X86 y X86_64

Requerimientos de Memoria y procesador en arquitecturas x86
Las siguientes especificaciones de CPU se pusieron en términos de procesadores Intel. Los demás procesadores, tales como los de AMD, Cyrix y VIA, que son compatibles y equivalentes a los procesadores de Intel, también se pueden usar con Fedora. Fedora 11 requiere un Intel Pentium o mejor, y está optimizado para procesadores Pentium 4 y posteriores.

Para modo texto se recomienda: Pentium 200 MHz o mejor
Para gráficos: 400 MHz Pentium II o mejor
RAM mínimo para modo texto: 128 MB
Mínimo de RAM para gráficos: 192 MB
RAM recomendado para gráficos: 256 MB

Requerimientos de Memoria y Procesador en arquitecturas x86_64
RAM mínimo para modo texto: 256 MB
Mínimo de RAM para gráficos: 384 MB
RAM recomendado para gráficos: 512 MB


Bueno, esa es toda la información relevante que quería compartirles, yo me pondré a descargar el iso y probablemente lo pruebe durante algunas semanas, saludos.

Expandir/Contraer este Post


06 junio 2009

Sixthsense: una tecnología que extiende nuestra realidad con información.


De vez en cuando es posible toparnos con cosas que son tan innovadoras que parecen sacadas de un película de ciencia ficción.

Imagina poder chequear tu correo en una pared, ver videos en el periódico que lees en el parque o tomar una fotografía con sólo crear un marco con tus dedos, usar tu mano para ver información de donde te encuentras y aún más.


Pues esto es lo que algunos investigadores del MIT han propuesto con su proyecto de realidad aumentada llamado SixthSense y actualmente a cargo de la doctora Pattie Maes.

El prototipo de SixthSense consiste de una combinación de una pequeña cámara y un proyector acompañados de un smartphone para correr el software de la aplicación y mantenerla conectada a internet, por lo que el costo de construcción de una unidad anda alrededor de los $350.

Citando las palabras de la Dra. Maes: "La idea es que SixthSense trate de determinar no sólo con que estás interactuando sino que también como estas haciendolo.

El sistema está constantemente tratando de comprender que hay alrededor tuyo y que es lo que estás tratando de hacer por lo que tiene que reconocer las imágenes que miras y los gestos que haces para relacionarlos entre sí, buscar información relevante en internet y luego presentarla mediante el proyector."


A mi punto de ver, si el grupo logra capturar el interés de alguna(s) empresa(s) de telefonía móvil, no será nada raro que algún día veamos esta tecnología implementada en nuestros teléfonos celulares.

Acá les dejo un video donde demuestran el funcionamiento del sistema:


Otro video, explicado por la Dra. Maess:



Así que a irnos olvidando de las pantallitas táctiles que lo que depara el futuro es mucho más interesante... :)

Fuentes:
http://news.bbc.co.uk/2/hi/technology/7997961.stm
http://news.bbc.co.uk/2/hi/technology/7997983.stm
Sitio Oficial: http://www.pranavmistry.com/projects/sixthsense/

Expandir/Contraer este Post