martes, 20 de marzo de 2012

CVS Subversion

Hoy para un proyecto que estamos trabajando con Diego tuve que instalar un CVS, y con el post que copio abajo me fue muy fácil, así que lo copio acá para no perderle.


http://ubuntulife.wordpress.com/2007/05/29/instalar-un-servidor-de-subversion-en-ubuntu/



Instalacion y configuracion de Subversion
Me embarco en la aventura de instalar subversion al servidor… ¿Qué es subversion?
Subversion es un servidor de control de versiones. Si estas trabajando en un proyecto grande, es lógico que con el paso del tiempo vayas haciendo cambios mas o menos importantes. Puede que en un momento dado quieras volver a una versión previa de un archivo, o de todo el proyecto, que desees ver quién hizo un cambio y porqué… para eso está subversion.
Se supone que tenemos configurado un servidor bajo Apache en una distribución Debian.
Primer paso: Instalación de las herramientas necesarias
Instalamos los paquetes que nos hacen falta para crear repositorios:
sudo aptitude install subversion subversion-tools
Necesitamos dos módulos de apache instalados en nuestro servidor, si haremos uso de svn a través de internet… (obvio, al menos para mí)
Los modulos son dav y dav_svn. Para comprobar que los tenemos:
a2enmod dav
a2enmod dav_svn

Si no estaban instalados, los instalamos:
sudo aptitude install libapache2-svn
Segundo paso: Creación de grupos y usuarios permitidos
Creamos un grupo subversion para manejar fácilmente los permisos
groupadd subversion
Añadimos a dicho grupo los usuarios que queremos que usen de algún modo nuestro servidor
usermod -a -Gsubversion user1
usermod -a -Gsubversion user2
usermod -a -Gsubversion user3

Ahora pasamos a crear los ficheros de acceso, que guardan los nombres y contraseñas de esos usuarios que harán uso del repositorio:
htpasswd2 -c /etc/apache2/dav_svn.passwd user1
htpasswd2 /etc/apache2/dav_svn.passwd user2
htpasswd2 /etc/apache2/dav_svn.passwd user3

El primero lleva -c por la simple razón de que crea el fichero. Los demás se añaden a él.
Cada vez que introduzcamos un usuario, se nos pedirá su nueva contraseña.
Tercer paso: Creación de un repositorio
Ahora creamos la carpeta donde ubicaremos el repositorio:
sudo mkdir /home/SVN
sudo svnadmin create /home/SVN

Y le damos los correspondientes permisos
chown -R www-data:subversion /home/svn/
chmod -R 770 /home/svn/

Cuarto paso: Configurando Apache para los repositorios
Pasamos a configurar el fichero que gestiona el módulo de apache para el svn:
sudo gedit /etc/apache2/mods-available/dav_svn.conf
Dentro ponemos esta configuración:
##
# SVN
#

DAV svn
SVNPath /home/svn
AuthType Basic
AuthName "Repositorio Subversion del proyecto"
AuthUserFile /etc/apache2/dav_svn.passwd

Require valid-user



Si queremos quitar el modo lectura a cualquiera, porque nuestro proyecto sea confidencial o no queramos que sea visto desde fuera, basta reemplazar la sección:

Require valid-user

por
Require valid-user
Reiniciamos el servicio de apache para que nos rearranque con los cambios introducidos.
sudo /etc/init.d/apache2 restart
Notas finales
Si queremos añadir usuarios a nuestros repositorios:
htpasswd2 /etc/apache2/dav_svn.passwd otro_usuario
Si queremos crear nuevos repositorios repetiremos todo desde el tercer paso, creando fichero de contraseñas con otro nombre (seguridad), añadiendo al final del fichero /etc/apache2/mods-available/dav_svn.conf la configuracion del nuevo servidor (seguramente cambia el path al fichero de contraseñas y el path al propio repositorio.
Eso es todo. Disfrutad.

viernes, 16 de marzo de 2012

Instalar apk con adb


Tenia que instalar a una cantidad de móviles considerable una apk desarrollada por mi (puede ser cualquier apk), los cuales no tenían mas que el sistema operativo android, casi virgen, por ejemplo no tenían un explorador de archivos. La única opción que había encontrado es por bluetooth pero es muy lento el proceso, entonces Diego encontró que se puede utilizar el adb del sdk de android.

Entonces lo que necesitamos es tener un pc con el sdk de android. Luego un cable usb, y obviamente los móviles con android.
Primero enchufamos un celular (no lo probé con un Tablet pero debería de funcionar igual).
Luego tenemos que ejecutar lo siguiente:

adb devices (debemos de o tener el adb.exe si es Windows en el path de Windows, o nos paramos en la ruta donde lo tenemos instalado normalmente en el plataform-tools de la carpeta de instalación del sdk)

Con esto detectamos el nombre del equipo enchufado, luego

adb -s NOMBRE_DEL_MOVIL install helloWorld.apk (nos paramos en la ruta donde esta nuestro apk, o ponemos toda la ruta)

Con esto un Segundo después queda instalado en el cel la apk, y repetimos el proceso las veces que necesitemos.

miércoles, 7 de marzo de 2012

Telnet en Windows 7


Por defecto Windows 7 no tiene habilitado el comando telnet.
Para habilitarlo en la búsqueda que nos aparece al presionar en el botón de inicio, buscamos “Activar características de windows”, abrimos esta pantalla (esto demora un rato en mostrarnos datos), luego buscamos en el listado donde dice “Cliente Telnet”, lo habilitamos, aceptamos y luego de un rato tenemos el comando habilitado.

martes, 6 de marzo de 2012

Levantar base de datos desde gz


Ahora me surgió la duda de como levantar un dump de una base de datos, que esta comprimido con gzip a un server mysql.
El problema es que el dump es muy grande, comprimido obviamente es bastante mas pequeño, pero no me da el espacio en el disco para descomprimir el gz y además tirarlo al server mysql (todo en el mismo servidor), entonces lo que debemos de ejecutar es lo siguiente:

gzip –dc archivo.sql.gz | mysql –u USUARIO –pGEOCOM  BASE

Con esto el sistema tira por consola lo que esta descomprimiendo (el –c del gzip) y con el pipe (|) lo redirige al lo que esta a la derecha del |, con el comando mysql se levanta a la base BASE.

Copiar base Mysql directamente de servidor a otro


Recién me enfrente con el problema de copiar una base de un servidor a otro, sin tener que generar el dump, y luego del otro lado levantar el dump.
Entonces buscando un poco por internet encontré que realmente es muy fácil, entonces los pasos serian los siguientes (o por lo menos como lo hice yo):
1 – tener en el servidor destino la base creada
2 – pararme en el servidor origen
3 – correr el siguiente script

mysqldump –u USUARIO_ORIGEN –pCLAVE_ORIGEN BASE_DE_DATOS_ORIGEN | ssh USUARIO@SERVIDOR "mysql –u USUARIO_DESTINO –pCLAVE_DESTINO BASE_DE_DATOS_DESTINO"

USUARIO_ORIGEN – usuario de la base de datos del servidor de origen
CLAVE_ORIGEN – clave de usuario de la base de datos origen
BASE_DE_DATOS_ORIGEN – nombre de la base de datos que quiero copiar
USUARIO@SERVIDOR – usuario y server destino, esto aconsejo antes de correr esto probar que se tenga acceso por ssh al server destino desde el server origen
USUARIO_DESTINO, CLAVE_DESTINO, BASE_DE_DATOS_DESTINO – se desprende de los 3 primeros

Con esto hay la limitante que el server origen tienen que tener permisos para acceder al server destino por ssh.

Otra opción que también encontré pero que no la probe (lo dejo para que lo prueben ustedes) es la siguiente:
mysqldump –u USUARIO_ORIGEN -p CLAVE_ORIGEN BASE_DE_DATOS_ORIGEN | mysql -h SERVIDOR  –u USUARIO_DESTINO -pCLAVE_DESTINO BASE_DE_DATOS_DESTINO