Bueno, una herramienta que me gusta mucho para trabajar con repositorios SVN, es RabbitVCS.
RabbitVCS es una alternativa para TortoiseSVN para windows, tiene integración con los principales file managers como Nautilus, y Thunar.
Con la salida de la alternativa a Nautilus por parte de Cinnamon, NEMO, un muy buen file manager, que salva buenas características del antiguo Nautilus, y al ser un fork de este, se pueden portar algunas extensiones y características de Nautilus a Nemo. Sin embargo por parte de RabbitVCS todavía no hay un soporte oficial para Nemo, buscando en los foros de RabbitVCS encontré que se puede integrar a nemo, de una manera sencilla.
Lo primero es tener instalado RabbitVCS:
Si estamos en ubuntu añadimos su ppa:
$ sudo add-apt-repository ppa:rabbitvcs/ppa
e instalamos:
$ sudo apt-get update && install rabbitvcs
si estamos en Arch lo instalamos desde AUR:
$ yaourt -S rabbitvcs rabbitvcs-nautilus
con esto instalaremos Rabbitvcs y su soporte para nautilus.
Ahora mismo estoy leyendo que en el repositorio de AUR hay un paquete para dar soporte a nemo:
$ yaourt -S rabbitvcs-nemo
y con esto tendremos la integración en nemo.
para Ubuntu pueden descargar el siguiente archivo: http://rabbitvcs.googlecode.com/files/rabbitvcs-0.15.2.tar.bz2 descomprimirlo en la siguiente ruta:
"/usr/share/nemo-python/extensions"
y reinician nemo:
$ nemo -q; nemo
y listo! tendremos Rabbitvcs en nemo.
Mostrando entradas con la etiqueta Ubuntu. Mostrar todas las entradas
Mostrando entradas con la etiqueta Ubuntu. Mostrar todas las entradas
martes, 8 de enero de 2013
sábado, 8 de diciembre de 2012
Buscando un DNS más rápido (Linux Manjaro [Archlinux] - Ubuntu)
Últimamente el DNS de mi proveedor de Internet falla o es demasiado lento al navegar, y recordé una utilidad que ayuda a buscar un DNS más rápido realizando diferentes tipos de pruebas, y al final te da un resultado con los DNS más rápidos.
Esta es una herramienta multiplataforma, pueden usarla en Linux, Mac Os y Windows.
La herramienta es Namebench
Para instalar en ubuntu, la pueden encontrar en los repositorios:
Y para Manjaro podemos encontrarlo en el repositorio de AUR
y si queremos usar la interfaz gráfica instalamos "tk", el paquete la muestra como dependencia opcional.
Y listo lo podemos ejecutar desde la terminal y que haga su magia y si instalaron tk para la interfaz gráfica al ejecutarlo esta se mostrará y con un clic comenzará a trabajar. Pueden dejar los parámetros tal y como están al momento de ejecutarse, si son usuarios mas experimentados pueden modificar las opciones a su gusto.
Aquí unas imágenes de namebench trabajando:
Esta es una herramienta multiplataforma, pueden usarla en Linux, Mac Os y Windows.
La herramienta es Namebench
Para instalar en ubuntu, la pueden encontrar en los repositorios:
$ sudo apt-get install namebench
Y para Manjaro podemos encontrarlo en el repositorio de AUR
$ yaourt -S namebench
y si queremos usar la interfaz gráfica instalamos "tk", el paquete la muestra como dependencia opcional.
$ sudo pacman -S tk
Y listo lo podemos ejecutar desde la terminal y que haga su magia y si instalaron tk para la interfaz gráfica al ejecutarlo esta se mostrará y con un clic comenzará a trabajar. Pueden dejar los parámetros tal y como están al momento de ejecutarse, si son usuarios mas experimentados pueden modificar las opciones a su gusto.
Aquí unas imágenes de namebench trabajando:
Resultados en terminal
Imagen de la interfaz gráfica de namebench
Una vez con los resultados, solo es cuestión de cambiar los DNS en la configuración de red, esto ya dependerá de nuestro sistema y escritorio que usemos (GNOME, KDE, LXDE, XFCE etc).
jueves, 1 de noviembre de 2012
Insync (Cliente Google Drive) - Sincronizando nuestros directorios en Ubuntu y Windows
Actualmente hay una gran variedad de servicios como Dropbox que nos ofrecen almacenamiento gratuito en la nube, ejemplo de esto lo tenemos en Ubuntu, con su servicio Ubuntu One que nos ofrece 5gb gratuitos, ademas de tener clientes multiplataforma, un servicio relativamente nuevo, es el liberado por Google, su servicio "Google drive". En lo personal, uso varios de estos servicios, entre ellos:
Ubuntu one
Google Drive
DropBox
Box
Para Mint:
Y después para cualquiera que sea, importamos las llaves:
e instalamos:
Ubuntu (Soporte para Unity):
Mint (Soporte para Cinnamon):
Y con esto tendremos instalado este cliente para manejar nuestras cuentas de google drive, cuando lo ejecutemos nos pedirá ligarlo a alguna cuenta que tengamos de google, una vez hecho esto, en nuestro directorio HOME creará los directorios de nuestras diferentes cuentas y en estos tendremos los archivos y directorios que queramos sincronizar.
Y listo, tendremos sincronizados los directorios o archivos, y simple! Ojo: si borramos los archivos desde nuestro directorio de Insync se borrarán de nuestro google drive pero no de nuestro pc.
Ubuntu one
Google Drive
DropBox
Box
Google tardó un poco en liberar su API para este servicio (nada nuevo...), pero ya tenemos un cliente de escritorio para este servicio, y es Insync, es un cliente multiplataforma, entre sus características se integra con el administrador de archivos, y permite manejar cuentas múltiples.
Para instalarlo en Ubuntu/Mint, podemos agregar su ppa con los siguientes comandos:
Para Ubuntu:
$ echo "deb http://apt.insynchq.com/ubuntu $(lsb_release -cs) non-free" | sudo tee /etc/apt/sources.list.d/insync.list
Para Mint:
$ echo "deb http://apt.insynchq.com/mint $(lsb_release -cs) non-free" | sudo tee /etc/apt/sources.list.d/insync.list
Y después para cualquiera que sea, importamos las llaves:
$ wget -O - https://d2t3ff60b2tol4.cloudfront.net/services@insynchq.com.gpg.key | sudo apt-key add - sudo apt-get update
e instalamos:
Ubuntu (Soporte para Unity):
$ sudo apt-get install insync-beta-ubuntu
Mint (Soporte para Cinnamon):
$ sudo apt-get install insync-beta-cinnamon
Y con esto tendremos instalado este cliente para manejar nuestras cuentas de google drive, cuando lo ejecutemos nos pedirá ligarlo a alguna cuenta que tengamos de google, una vez hecho esto, en nuestro directorio HOME creará los directorios de nuestras diferentes cuentas y en estos tendremos los archivos y directorios que queramos sincronizar.
Para windows, solo hay que descargar el instalador y seguir las instrucciones.
A pesar de ser muy buen cliente, falta una que a mi parecer es una opción muy buena, y es la de elegir otros directorios para compartir y que estos no se encuentren dentro de los directorios que crea el cliente. Por ejemplo esta opción si la tiene Ubuntu One, permite seleccionar cualquier directorio de nuestro sistema y sincronizarlo con nuestra cuenta.
Pues muy simple! Podemos crear enlaces simbólicos de archivos o directorios que queramos tener sincronizados.
Desde la terminal tecleamos:
$ ln -s /ruta/de/directorio/que/quieras-sincronizar /home/tuusuario/Insync/tusuario@gmail.com/
Y listo, tendremos sincronizados los directorios o archivos, y simple! Ojo: si borramos los archivos desde nuestro directorio de Insync se borrarán de nuestro google drive pero no de nuestro pc.
Etiquetas:
cliente,
directorios,
Drive,
DropBox,
enlace,
Escritorio,
Google,
Mint,
nube,
One,
simbolico,
sincronizacion,
Ubuntu,
Windows
martes, 30 de octubre de 2012
[fix] Solución al problema de "GPG Badsig" al actualizar Ubuntu/Mint
Bueno, en lo personal, he tenido este problema muchas veces, cuando al estar actualizando se corta por alguna razón la red (algo habitual aquí en la oficina... ¬_¬) y al momento de actualizar de nuevo, este error aparece "GPG badsig"
La solución es muy sencilla:
Movemos el directorio "lists" de "/var/lib/apt" a lists.old y actualizamos!
Pero! como es recurrente este problema en mi caso, tengo que borrar el directorio "lists" de "lists.old" cada vez que esto sucede, y es algo que se puede automatizar con un sencillo script.
$chmod +x fixgpgbadsig.sh
y ejecutan:
$sudo ./fixgpgbadsig.sh
O pueden descargar el script y leerlo, ejecutarlo y modificarlo a su gusto.
Descarga: fixgpgkeyproblem.sh
La solución es muy sencilla:
Movemos el directorio "lists" de "/var/lib/apt" a lists.old y actualizamos!
Pero! como es recurrente este problema en mi caso, tengo que borrar el directorio "lists" de "lists.old" cada vez que esto sucede, y es algo que se puede automatizar con un sencillo script.
#!/bin/bash #Autor Max J. Rodriguez Beltran. 2012 user=$(whoami) directorio="lists" olddirectorio="lists.old" if [ $user = "root" ]; then cd /var/lib/apt if [ -d $olddirectorio ]; then #echo "existe" $olddirectorio cd $olddirectorio if [ -d $directorio ]; then echo "borramos " $directorio "de " $olddirectorio rm -r $directorio fi cd /var/lib/apt echo "movemos " $directorio "al dir: " $olddirectorio mv $directorio ${olddirectorio}/ echo "ahora actualizamos la lista..." sleep 5; apt-get update fi else echo "Ejecuta este script con sudo" exit 1 fi echo "Termino ejecución"
pueden copiar y pegar el script, solo recuerden dar permisos de ejecución al script y ejecutarlo como root.$chmod +x fixgpgbadsig.sh
y ejecutan:
$sudo ./fixgpgbadsig.sh
O pueden descargar el script y leerlo, ejecutarlo y modificarlo a su gusto.
Descarga: fixgpgkeyproblem.sh
viernes, 5 de octubre de 2012
Ejemplo sencillo usando Hilos (Threads) con Lazarus 1.0 en Linux (Ubuntu12.04)
Bueno, buscando mejorar el rendimiento de una aplicación que estoy desarrollando *mientras aprendo* usando el IDE Lazarus, supuse que lo mejor sería usar hilos para ciertos procesos de la aplicación que pueden llegar a ser pesados, al ver y probar algunos ejemplos de multithreading en windows vi que era la solución, todo bien, estuve probando y experimentando y funcionaba de lo lindo en windows, al compilarlo en Linux, todo compilaba bien... solo que al llegar a crear el hilo saltaba una excepción fatal!
Revisando el código, probando linea por linea, comparándolo con el ejemplo de multi threading que viene con Lazarus, no encontraba el error, usaba lo que tenía que usar, todo en su lugar... eso creía yo.
Esto es una sugerencia basada en mi experiencia: Si preguntan en algún foro, y esperan una respuesta rápida, pregunten en foros en idioma Inglés, cuando he preguntado en foros en español, o no me contestan, o tardan millones de años.
Bueno lancé la pregunta en el foro de Lazarus y en Stack Overflow, minutos mas tarde ya me estaban respondiendo con algunos tips, y comentarios de lo que podría estar fallando o faltando en mi proyecto.
En resumen la cuestión era que si se van a usar threads en Linux(UNIX, OsX BSD y demás) es necesario agregar al archivo ".lpr" del proyecto (este archivo es creado automaticamente al crear un proyecto, en el directorio del proyecto) necesitamos agregar la siguiente linea:
{$define UseCThreads}
Quedando de la siguiente forma el documento:
Revisando el código, probando linea por linea, comparándolo con el ejemplo de multi threading que viene con Lazarus, no encontraba el error, usaba lo que tenía que usar, todo en su lugar... eso creía yo.
Esto es una sugerencia basada en mi experiencia: Si preguntan en algún foro, y esperan una respuesta rápida, pregunten en foros en idioma Inglés, cuando he preguntado en foros en español, o no me contestan, o tardan millones de años.
Bueno lancé la pregunta en el foro de Lazarus y en Stack Overflow, minutos mas tarde ya me estaban respondiendo con algunos tips, y comentarios de lo que podría estar fallando o faltando en mi proyecto.
En resumen la cuestión era que si se van a usar threads en Linux(UNIX, OsX BSD y demás) es necesario agregar al archivo ".lpr" del proyecto (este archivo es creado automaticamente al crear un proyecto, en el directorio del proyecto) necesitamos agregar la siguiente linea:
{$define UseCThreads}
Quedando de la siguiente forma el documento:
{$mode objfpc}{$H+} {$define UseCThreads} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} Interfaces, // this includes the LCL widgetset Forms, Unit1 { you can add units after this }; . . .
Una vez agregado esto y recompilando, funcionó.
Bueno voy a agregar el pequeño ejemplo:
Comienzan un nuevo proyecto en Lazarus->aplicación, y agregara un form vacío, agregamos un botón y un progressbar para el ejemplo.
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, ComCtrls; //Creamos el type para lo que será nuestro hilo type { TMiHilo } TMiHilo = class(TThread) private procedure AvanzaBarra; protected procedure Execute; override; public constructor Create(CreateSuspended: boolean); end; { TForm1 } TForm1 = class(TForm) Button1: TButton; ProgressBar1: TProgressBar; procedure Button1Click(Sender: TObject); private { private declarations } public { public declarations } end; var Form1: TForm1; implementation {$R *.lfm} { TForm1 } //agregamos al evento click del botón, aquí se iniciará nuestro hilo al dar click procedure TForm1.Button1Click(Sender: TObject); var MiHilo : TMiHilo; begin //creamos el hilo, pero no lo iniciamos MiHilo := TMiHilo.Create(True); // Con el parametro true no se inicia automaticamente if Assigned(MiHilo.FatalException) then raise MiHilo.FatalException; //si no hay ninguna excepción lo iniciamos MiHilo.Start; end; //aquí definimos los procesos para el hilo { TMiHilo } procedure TMiHilo.AvanzaBarra; //Este metodo solo es llamado por Synchronize(@AvanzaBarra) y por ello // es ejecutado por el hilo principal. //El hilo principal puede acceder a los elementos visuales del GUI por ejemplo a la progressbar begin Form1.ProgressBar1.StepIt; if Form1.ProgressBar1.Position = Form1.ProgressBar1.Max then begin Form1.ProgressBar1.Position := 0; end; end; //Este proceso se ejecuta al iniciar el hilo procedure TMiHilo.Execute; begin //mientras no termine y sea verdadero se ejecutará while (not Terminated) and (true) do begin //este loop es del hilo principal Synchronize(@AvanzaBarra); end; end; constructor TMiHilo.Create(CreateSuspended: boolean); begin //Con esta propieda del hilo no necesitamos liberarlo manualmente al terminar de ejecutar el hilo FreeOnTerminate := True; inherited Create(CreateSuspended); end; end.
Y listo, compilamos y ejecutamos y debemos ver nuestro formulario con un botón y una barra de progreso, al dar clic en el botón esta comenzará a llenarse, cuando se llene se vaciará y comenzara de nuevo. No olviden agregar la linea {$define UseCThreads} en el archivo .lpr de su proyecto para que la validación de "si es compilado en Unix" use cThreads.
Etiquetas:
12.04,
desarrollo,
Free Pascal,
Lazarus,
Linux,
Multiplataforma,
MultiThreading,
Threads,
Ubuntu
martes, 11 de septiembre de 2012
SVN - Control de acceso con Authz
Actualmente utilizamos en la empresa SVN como sistema de control de versiones para nuestros proyectos, es práctico y nos ha servido bastante bien, hasta ahora hemos utilizado el método del archivo "passwd" para dar acceso a los repositorios de los proyectos, no habíamos necesitado de nada más.
Actualmente ha surgido la necesidad de buscar una manera de crear un repositorio común para toda la organización pero con acceso limitado por carpetas para los diferentes usuarios.
Leyendo un poco acerca de las diferentes formas de control de acceso para SVN encontré que usando svnserve, y configurando el archivo "authz" se puede configurar el acceso a directorios, en base a usuario o grupos de usuarios.
En este caso lo mejor es crear el árbol de directorios que se usará para que en base a ese árbol configuremos el archivo "authz", aunque siempre se puede modificar si se agregan mas directorios y se quiere mantener el acceso restringido a estos.
NOTA es importante definir bien la estructura del directorio, desde los niveles mas bajos a los mas altos.
Primero creamos un repositorio, lo llamaremos "Proyectos", editamos el archivo svnserve.conf que se crea, buscamos y descomentamos las siguientes lineas:
# anon-access = read # auth-access = write .
.
.
# password-db = passwd
para que queden sin la almoadilla "#"
anon-access = read
auth-access = write
.
.
.
password-db = passwd
Y añadimos los usuarios que vayan a utilizar el repositorio en el archivo "passwd"
para este ejemplo agregaré 4 usuarios:
[users]
admin = adminssecret
devchief = chiefssecret
developer1 = devs1secret
developer2 = devs2secret
developer3 = devs3secret
Después creamos la estructura de directorios:
Voy a poner un ejemplo simple de estructura de directorios:
Directorio Raiz: --Proyectos
--Web
--PERL
--PHP
--RUBY
importamos a nuestro repositorio el directorio raiz con los subdirectorios:
ya sea que lo hagan con un cliente gráfico como VCSRabbit o Tortoise
o desde la terminal, que sería así:
$ svn import -m "estructura" --username admin --password adminssecret Proyectos/ svn://tuserver/Proyectos
Así queda creada la estructura de directorios base en el repositorio.
Ahora si! es hora de configurar el archivo "authz"
Abrimos el archivo authz que se encuentra en el directorio de nuestro repositorio y buscamos la sección [groups] que es donde configuraremos los grupos con los usuarios que definimos en el archivo "passwd"
deberá quedar algo así:
[groups]
Admins = admin, devchief
Developersphp = developer1, developer3
Developersperl = developer2
Developersruby = developer2, developer3
después de esta sección vamos a configurar el acceso a los directorios de la siguiente manera:
primero tenemos que dar acceso a todos los usuario a la raíz del repositorio, pero solo daremos permiso de escritura al grupo de administradores. No se le puede otorgar un permiso de escritura a un usuario/grupo si no tiene acceso de lectura al directorio padre.
[/]
@Admins = rw #con esto damos acceso de lectura y escritura a el grupo Admins
* = r #con esto damos acceso a todos acceso de lectura
[/Web] #Ahora configuramos los accesos para el siguiente nivel, que es el directorio "Web"
* = r #con esto damos acceso a todos acceso de lectura
@Admins = rw #con esto damos acceso de lectura y escritura a el grupo Admins
[/Web/PHP] #Ahora configuramos los accesos para el siguiente sub-nivel, de Web, que es el directorio "PHP"
@Developersphp = rw #con esto damos acceso de lectura y escritura a el grupo Developersphp, entonces SOLO el usuario developer1, developer3 podrán ver y escribir este directorio
@Admins = rw #con esto damos acceso de lectura y escritura a el grupo Admins
* = #Con esto se asegura que nadie mas tenga ningún tipo de acceso al directorio
[/Web/PERL] #Ahora configuramos los accesos para el siguiente sub-nivel, de Web, que es el directorio "PERL"
@Developersperl = rw #con esto damos acceso de lectura y escritura a el grupo Developersperl, entonces SOLO el usuario developer2 podrá ver y escribir este directorio
@Admins = rw
* =
[/Web/RUBY] #Ahora configuramos los accesos para el siguiente sub-nivel, de Web, que es el directorio "RUBY"
@Developersruby = rw #con esto damos acceso de lectura y escritura a el grupo Developersruby, entonces SOLO los usuarios developer2 y developer3 podrán ver y escribir este directorio
@Admins = rw
* =
#Nota si se desea puede darse acceso a usuarios por separado de a siguiente forma:
#[/Web/PERL]
#developer2 = rw
#devchief = r
#* =
Guardamos y cerramos el archivo.
Ahora hay que descomentar una linea más en el archivo "svnserve.conf"
Buscamos la siguiente linea:
# authz-db = authz
lo descomentamos y lo dejamos así:
authz-db = authz
Guardamos y cerramos el archivo, y reiniciamos el demonio o servicio de svnserve.
Ahora cuando el usuario "admin" haga un checkout del repositorio podrá ver y escribir en todos los directorios. Y cuando el usuario developer1 solo podrá ver y escribir en el directorio "PHP" y así para cada uno de los diferentes usuarios que configuramos en el archivo authz.
Actualmente ha surgido la necesidad de buscar una manera de crear un repositorio común para toda la organización pero con acceso limitado por carpetas para los diferentes usuarios.
Leyendo un poco acerca de las diferentes formas de control de acceso para SVN encontré que usando svnserve, y configurando el archivo "authz" se puede configurar el acceso a directorios, en base a usuario o grupos de usuarios.
En este caso lo mejor es crear el árbol de directorios que se usará para que en base a ese árbol configuremos el archivo "authz", aunque siempre se puede modificar si se agregan mas directorios y se quiere mantener el acceso restringido a estos.
NOTA es importante definir bien la estructura del directorio, desde los niveles mas bajos a los mas altos.
Primero creamos un repositorio, lo llamaremos "Proyectos", editamos el archivo svnserve.conf que se crea, buscamos y descomentamos las siguientes lineas:
# anon-access = read # auth-access = write .
.
.
# password-db = passwd
para que queden sin la almoadilla "#"
anon-access = read
auth-access = write
.
.
.
password-db = passwd
Y añadimos los usuarios que vayan a utilizar el repositorio en el archivo "passwd"
para este ejemplo agregaré 4 usuarios:
[users]
admin = adminssecret
devchief = chiefssecret
developer1 = devs1secret
developer2 = devs2secret
developer3 = devs3secret
Después creamos la estructura de directorios:
Voy a poner un ejemplo simple de estructura de directorios:
Directorio Raiz: --Proyectos
--Web
--PERL
--PHP
--RUBY
importamos a nuestro repositorio el directorio raiz con los subdirectorios:
ya sea que lo hagan con un cliente gráfico como VCSRabbit o Tortoise
o desde la terminal, que sería así:
$ svn import -m "estructura" --username admin --password adminssecret Proyectos/ svn://tuserver/Proyectos
Así queda creada la estructura de directorios base en el repositorio.
Ahora si! es hora de configurar el archivo "authz"
Abrimos el archivo authz que se encuentra en el directorio de nuestro repositorio y buscamos la sección [groups] que es donde configuraremos los grupos con los usuarios que definimos en el archivo "passwd"
deberá quedar algo así:
[groups]
Admins = admin, devchief
Developersphp = developer1, developer3
Developersperl = developer2
Developersruby = developer2, developer3
después de esta sección vamos a configurar el acceso a los directorios de la siguiente manera:
primero tenemos que dar acceso a todos los usuario a la raíz del repositorio, pero solo daremos permiso de escritura al grupo de administradores. No se le puede otorgar un permiso de escritura a un usuario/grupo si no tiene acceso de lectura al directorio padre.
[/]
@Admins = rw #con esto damos acceso de lectura y escritura a el grupo Admins
* = r #con esto damos acceso a todos acceso de lectura
[/Web] #Ahora configuramos los accesos para el siguiente nivel, que es el directorio "Web"
* = r #con esto damos acceso a todos acceso de lectura
@Admins = rw #con esto damos acceso de lectura y escritura a el grupo Admins
[/Web/PHP] #Ahora configuramos los accesos para el siguiente sub-nivel, de Web, que es el directorio "PHP"
@Developersphp = rw #con esto damos acceso de lectura y escritura a el grupo Developersphp, entonces SOLO el usuario developer1, developer3 podrán ver y escribir este directorio
@Admins = rw #con esto damos acceso de lectura y escritura a el grupo Admins
* = #Con esto se asegura que nadie mas tenga ningún tipo de acceso al directorio
[/Web/PERL] #Ahora configuramos los accesos para el siguiente sub-nivel, de Web, que es el directorio "PERL"
@Developersperl = rw #con esto damos acceso de lectura y escritura a el grupo Developersperl, entonces SOLO el usuario developer2 podrá ver y escribir este directorio
@Admins = rw
* =
[/Web/RUBY] #Ahora configuramos los accesos para el siguiente sub-nivel, de Web, que es el directorio "RUBY"
@Developersruby = rw #con esto damos acceso de lectura y escritura a el grupo Developersruby, entonces SOLO los usuarios developer2 y developer3 podrán ver y escribir este directorio
@Admins = rw
* =
#Nota si se desea puede darse acceso a usuarios por separado de a siguiente forma:
#[/Web/PERL]
#developer2 = rw
#devchief = r
#* =
Guardamos y cerramos el archivo.
Ahora hay que descomentar una linea más en el archivo "svnserve.conf"
Buscamos la siguiente linea:
# authz-db = authz
lo descomentamos y lo dejamos así:
authz-db = authz
Guardamos y cerramos el archivo, y reiniciamos el demonio o servicio de svnserve.
Ahora cuando el usuario "admin" haga un checkout del repositorio podrá ver y escribir en todos los directorios. Y cuando el usuario developer1 solo podrá ver y escribir en el directorio "PHP" y así para cada uno de los diferentes usuarios que configuramos en el archivo authz.
lunes, 14 de mayo de 2012
Restaurando la partición SWAP en UBUNTU 12.04
El domingo por la mañana sin nada que hacer, decidí probar Archbang una distro basada en ArchLinux, basicamente un ArchLinux con OpenBox, cabe decir que mi netbook vuela con esta distro, muy liviana y estable y trabajó "Out Of The Box" mas tarde pondré una guía de lo que realicé para instalarla y lo posterior a la instalación. Bueno retomando el tema, es que al momento de instalar Archbang formatee la partición SWAP y cuando inicie Ubuntu marcaba un error al inicio al no encontrar la partición SWAP, ademas de haber deshabilitado la hibernación.
Lo que pasó fue que al formatear la partición SWAP cambio el UUID y al tratar de montarla no encontraba el UUID anterior. La solución es obtener el nuevo UUID y editar fstab, para ello tecleamos lo siguiente en la terminal:
$ blkid
*Esto mostrará los UUID de las particiones y mostrará algo como lo siguiente*
/dev/sda3: UUID="425e41ab-d585-4adb-a014-589f9224de9b" TYPE="ext4"
/dev/sda5: UUID="df09fa38-6e0f-4c08-9b43-35014e1c8220" TYPE="swap"
/dev/sda6: UUID="6278d7a0-d59b-481e-ba77-21b517294580" TYPE="ext4"
copiamos el UUID de la partición SWAP y editamos fstab
$ sudo nano /etc/fstab
buscamos la sección de la partición swap y cambiamos el UUID anterior por el nuevo
# swap was on /dev/sda5 during installation
UUID=df09fa38-6e0f-4c08-9b43-35014e1c8220 none swap sw 0 0
y guardamos los cambios.
si por alguna razón sigue sin detectar la partición swap
podemos teclear:
$ sudo swapon -U df09fa38-6e0f-4c08-9b43-35014e1c8220
para indicarle que usaremos esa partición para swap. Con esto se habilitará la SWAP y la hibernación de vuelta, pero me di cuenta que al hibernar no estaba guardando el estado del sistema, al arrancar no cargaba el estado del sistema como lo deje.
Lo que hay que hacer es editar el archivo "resume" en "/etc/initramfs-tools/conf.d"
*respaldamos el archivo "resume*
$ cp /etc/initramfs-tools/conf.d/resume /home/tuusuario/resume.back
$ sudo nano /etc/initramfs-tools/conf.d/resume
y editamos la linea con el nuevo UUID
RESUME=UUID=df09fa38-6e0f-4c08-9b43-35014e1c8220
y guardamos, después ejecutamos:
$ sudo update-initramfs -u
y con esto tendremos de vuelta la hibernación correcta.
viernes, 11 de mayo de 2012
Creando WINEPREFIX para instalar aplicaciones con WINE UBUNTU 12.04
En el post anterior Ejecutando aplicaciones de Windows con WINE, vimos como ejecutar aplicaciones con WINE y como ejecutarlas para que se defina el directorio de trabajo, y mencione a WINEPREFIX.
WINEPREFIX es una variable de entorno que determina con que carpeta WINE trabajará. Bueno estos "WINEPREFIX" se pueden utilizar para manejar de mejor forma las aplicaciones de windows instaladas con WINE, esto nos permite evitar mezclar instalaciones y por ende poder desinstalar la aplicación con solo borrar el directorio donde se creo el WINEPREFIX.
martes, 8 de mayo de 2012
Netbeans 7.1.2. problemas en menu con Ubuntu 12.04
Actualice mi S.O. de Ubuntu 11.10 a Ubuntu 12.04 *Planeo aguantar con el hasta que termine su soporte* y una de las aplicaciones que actualice fue el IDE de Oracle, Netbeans, de su versión 7.1.1 a 7.1.2 y de usar el JDK 6 pase al 7.
El problema surgió al querer comenzar un proyecto nuevo, la ventana de dialogo al crear un proyecto nuevo, se mostraba vacía y solo me permitía "cancelar".
Después de leer en los foros y postear esta duda sin respuesta, vi que usuarios estaban teniendo problemas con los menús de Netbeans en Ubuntu 12.04, así que decidí probar la siguiente solución:
http://hanynowsky.wordpress.com/2012/04/27/netbeans-ide-look-feel-under-ubuntu-12-04/
En resumen, el problema parece ser con el "Look and feel (L&F)" de Java, que utiliza para Linux el L&F GTK, la solución es cambiar este L&F por el "nativo" llamado "Metal"
Para esto, hay que editar el siguiente archivo: netbeans.conf
Este generalmente se encuentra en la siguiente dirección:
/usr/local/netbeans-7.1.2/etc/netbeans.conf
$ gksudo gedit /usr/local/netbeans-7.1.2/etc/netbeans.conf
y añadimos la siguiente linea a las opciones de netbeans:
-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf Metal
El problema surgió al querer comenzar un proyecto nuevo, la ventana de dialogo al crear un proyecto nuevo, se mostraba vacía y solo me permitía "cancelar".
Después de leer en los foros y postear esta duda sin respuesta, vi que usuarios estaban teniendo problemas con los menús de Netbeans en Ubuntu 12.04, así que decidí probar la siguiente solución:
http://hanynowsky.wordpress.com/2012/04/27/netbeans-ide-look-feel-under-ubuntu-12-04/
En resumen, el problema parece ser con el "Look and feel (L&F)" de Java, que utiliza para Linux el L&F GTK, la solución es cambiar este L&F por el "nativo" llamado "Metal"
Para esto, hay que editar el siguiente archivo: netbeans.conf
Este generalmente se encuentra en la siguiente dirección:
/usr/local/netbeans-7.1.2/etc/netbeans.conf
$ gksudo gedit /usr/local/netbeans-7.1.2/etc/netbeans.conf
y añadimos la siguiente linea a las opciones de netbeans:
-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf Metal
y con esto, mostrará el L&F Metal
Y se solucionará por lo pronto este problema.
miércoles, 18 de abril de 2012
Ejecutando aplicaciones de Windows con WINE
Como es bien sabido, WINE permite ejecutar ciertas aplicaciones nativas de Windows en Linux, mi problema se presentó cuando al tratar de ejecutar una aplicación, para ser mas exacto un juego, el emulador NeoRage para Windows, si no me encontraba en el directorio donde se encuentra el programa, no puede leer los archivos necesarios para ejecutarse, pero en cambio si desde la terminal me posicionaba en el directorio y ejecutaba el programa se ejecutaba sin problemas.
$ cd /home/jaxnet/NeoGeo
$ wine neorage.exe
-funciona bien-
pero si el caso es que desde mi directorio "home" lo ejecuto no lee los archivos.
Entonces leyendo en la wiki de WINE di con la solución:
si ejecutamos desde un lanzador creado por nosotros en el escritorio o desde otro directorio diferente a donde este el programa, hay que usar:
$ wine start /Unix "/home/jaxnet/NeoGeo/neorage.exe"
con esto WINE define el directorio de trabajo para el programa
O si tenemos el programa en otro WINEPREFIX
$ WINEPREFIX="$HOME/NeoGeo" wine start "C:\\NeoGeo\\neorage.exe"
en la próxima entrada escribiré como crear un "WINEPREFIX" para aplicaciones, esto permite un mejor manejo a la hora de instalar y configurar programas.
Aquí una imagen del lanzador que hice para la aplicación
Etiquetas:
instalacion,
Ubuntu,
Windows,
WINE,
WINEPREFIX
viernes, 16 de marzo de 2012
Problemas para accesar a cuenta de GMAIL desde ThunderBird
Hoy por la mañana al abrir mi cliente de correo thunderbird, marcó un error al cargar la bandeja de entrada de mi cuenta de correo de Gmail, con una notificación como la siguiente:
Alerta de la cuenta max.correo@gmail.com: Web Login required: http://support.google.com/mail/bin/answer.py?hl=es&answer=78754 (failure)
y una ventana de error mostrando el siguiente mensaje:
La identificación con el servidor imap.googlemail.com es incorrecta
Introduzca nueva contraseña Cancelar Reintentar
Bien, después de leer de que se trata el error, este se puede deber si configuras tu cliente de correo para comprobar si tienes nuevos correos con demasiada frecuencia.
para corregir el problema, basta con entrar a la página que se muestra en la notificación
http://support.google.com/mail/bin/answer.py?hl=es&answer=78754
Y dar clic en el enlace que dice "desbloquear CAPTCHA"
Con eso bastó para resolver mi problema.
Alerta de la cuenta max.correo@gmail.com: Web Login required: http://support.google.com/mail/bin/answer.py?hl=es&answer=78754 (failure)
y una ventana de error mostrando el siguiente mensaje:
La identificación con el servidor imap.googlemail.com es incorrecta
Introduzca nueva contraseña Cancelar Reintentar
Bien, después de leer de que se trata el error, este se puede deber si configuras tu cliente de correo para comprobar si tienes nuevos correos con demasiada frecuencia.
para corregir el problema, basta con entrar a la página que se muestra en la notificación
http://support.google.com/mail/bin/answer.py?hl=es&answer=78754
Y dar clic en el enlace que dice "desbloquear CAPTCHA"
Con eso bastó para resolver mi problema.
Etiquetas:
correo,
error,
Gmail,
Thunderbird,
Ubuntu
lunes, 12 de marzo de 2012
Grooveshark en UBUNTU
Grooveshark es un interesante servicio de streaming, para escuchar música sin necesidad de descargarla, puedes crear listas y guardarlas(previo registro) y es gratuito, cabe destacar que su catalogo de música es muy extenso.
Bien, para Linux existe una aplicación para escuchar, crear y guardar listas (hasta descargar canciones) sin necesidad de entrar al sitio de este. La aplicación se llama gSharkDown, su instalación es muy sencilla, se puede realizar a través de su repositorio:
sudo add-apt-repository ppa:ferramroberto/gsharkdown
sudo apt-get update
sudo apt-get install gsharkdown
o bien podemos descargar los paquetes *.deb desde su página:
https://bitbucket.org/vkolev/gsharkdown/downloads
Recomiendo descargar el paquete, ya que últimamente no se ha actualizado el repositorio.
Una vez descargados :
sudo dpkg -i gsharkdown-0.6.7-all.deb
Y tendremos instalada la aplicación.
Nota: En ultimas actualizaciones la aplicación muestra un error al ejecutarse.
Este error se puede corregir ya sea descargando el siguiente archivo patch y reemplazándolo en la siguiente ruta:
/usr/share/gsharkdown/lib
lo podemos hacer de la siguiente forma:
sudo mv /descargas/groove.py /usr/share/gsharkdown/lib
o bien desde su administrador de archivos, navegando como root:
gksudo nautilus
y movemos el archivo descargado.
Y quedará resuelto ese error que muestra, cuando se ejecuta la aplicación.
Gracias a MsSECKTARque realizó un video mostrando la solución.
Video de solución
Si somos mas curiosos y comparamos los archivos, la única diferencia se encuentra en la línea 58
Archivo original:
p["header"]["clientRevision"] = "20110906"
Archivo descargado:
p["header"]["clientRevision"] = "20120220"
Incluso podemos abrir el archivo y modificar la línea sin necesidad de descargar el archivo y moverlo.
gksudo gedit /usr/share/gsharkdown/lib/groove.py
Guardamos los cambios y listo.
***********************Actualización**********************************************
Al instalar UBUNTU 12.04 y reinstalar GSharkdown me di cuenta que no estaba funcionando, no me respondía a las consultas que realizaba, después de leer un rato di con la respuesta, en la pagina del autor podemos encontrar los "diffs" que muestran los cambios al script: https://bitbucket.org/vkolev/gsharkdown/changeset/54e474b66886
basta con actualizar el archivo "groove.py" como en la anterior actualización y tendremos funcionando de vuelta GSsharkdown.
Acá les dejo el archivo ya con las modificaciones si desean descargarlo y reemplazarlo https://www.dropbox.com/s/e91cpbphbq1np6w/groove.py
Bien, para Linux existe una aplicación para escuchar, crear y guardar listas (
sudo add-apt-repository ppa:ferramroberto/gsharkdown
sudo apt-get update
sudo apt-get install gsharkdown
o bien podemos descargar los paquetes *.deb desde su página:
https://bitbucket.org/vkolev/gsharkdown/downloads
Recomiendo descargar el paquete, ya que últimamente no se ha actualizado el repositorio.
Una vez descargados :
sudo dpkg -i gsharkdown-0.6.7-all.deb
Y tendremos instalada la aplicación.
Nota: En ultimas actualizaciones la aplicación muestra un error al ejecutarse.
Este error se puede corregir ya sea descargando el siguiente archivo patch y reemplazándolo en la siguiente ruta:
/usr/share/gsharkdown/lib
lo podemos hacer de la siguiente forma:
sudo mv /descargas/groove.py /usr/share/gsharkdown/lib
o bien desde su administrador de archivos, navegando como root:
gksudo nautilus
y movemos el archivo descargado.
Y quedará resuelto ese error que muestra, cuando se ejecuta la aplicación.
Gracias a MsSECKTARque realizó un video mostrando la solución.
Video de solución
Si somos mas curiosos y comparamos los archivos, la única diferencia se encuentra en la línea 58
Archivo original:
p["header"]["clientRevision"] = "20110906"
Archivo descargado:
p["header"]["clientRevision"] = "20120220"
Incluso podemos abrir el archivo y modificar la línea sin necesidad de descargar el archivo y moverlo.
gksudo gedit /usr/share/gsharkdown/lib/groove.py
Guardamos los cambios y listo.
***********************Actualización**********************************************
Al instalar UBUNTU 12.04 y reinstalar GSharkdown me di cuenta que no estaba funcionando, no me respondía a las consultas que realizaba, después de leer un rato di con la respuesta, en la pagina del autor podemos encontrar los "diffs" que muestran los cambios al script: https://bitbucket.org/vkolev/gsharkdown/changeset/54e474b66886
basta con actualizar el archivo "groove.py" como en la anterior actualización y tendremos funcionando de vuelta GSsharkdown.
Acá les dejo el archivo ya con las modificaciones si desean descargarlo y reemplazarlo https://www.dropbox.com/s/e91cpbphbq1np6w/groove.py
GSharkdown funcionando en UBUNTU 12.04
***********************Actualización**********************************************
***********************Actualización**********************************************
La nueva versión de Gsharkdown 0.7.0 ya esta para descargar, y no necesita de parches a la fecha actual ( 15 Jul 2012 ) aquí el link donde pueden descargarlo https://bitbucket.org/vkolev/gsharkdown/downloads
Etiquetas:
bug gsharkdown,
grooveshark,
gsharkdown,
música,
Ubuntu
viernes, 9 de marzo de 2012
Instalando ECLIPSE y NetBeans en Ubuntu
Queriendo trastear desarrollo para móviles (aprovechando que mi novia esta por comprar un móvil con android), y por que no, alguna app para mi symbian. Instale el JDK 6 de ORACLE, que como ya saben, ya no se encuentra en los repositorios oficiales de UBUNTU por cuestiones de licencia. Y podemos optar por instalar open JDK, en mi caso opte por el de Oracle.
Primero hay que instalar el JDK
para esto podemos usar un PPA el cual no tiene los paquetes de oracle, pero contiene un script para poder instalarlo muy fácil:
añadimos el repositorio
vamos a trabajar.
Instalación de NetBeans y Eclipse
Primero descargamos desde la sección de descargas: http://netbeans.org/downloads/index.html
seleccionamos el paquete que deseemos, una vez descargado, ejecutamos desde la terminal:
sudo ./netbeans-7.1.1-ml-linux.sh
si tuvieramos problemas al ejecutarlo, hay que cambiar los permisos del script:
sudo chmod +x ./netbeans-7.1.1-ml-linux.sh
una vez ejecutado, solo es cosa de seguir las instrucciones del instalador.
Instalación de Eclipse.
Podemos instalarlo desde los repositorios oficiales de ubuntu, pero en este caso lo descargamos de su pagina http://www.eclipse.org/downloads/
Eclipse ofrece paquetes de binarios diferentes, para cada necesidad, en este caso descargamos la versión: Eclipse IDE for Java Developers
Una vez descargada, solo tenemos que descomprimirlo en una carpeta y ejecutarlo.
Nota: es importante que antes de instalar ya sea NetBeans o Eclipse es importante tener instalado el JDK, sino la instalación puede marcar errores.
Primero hay que instalar el JDK
para esto podemos usar un PPA el cual no tiene los paquetes de oracle, pero contiene un script para poder instalarlo muy fácil:
añadimos el repositorio
sudo add-apt-repository ppa:ferramroberto/java
Actualizamos:
sudo apt-get update
E instalamos:
sudo apt-get install sun-java6-jdk sun-java6-plugin
Si teníamos una versión diferente instalada, o de Open JDK, necesitamos definir con cual
vamos a trabajar.
sudo update-alternatives --config java
y nos mostrará un menú con las versiones instaladas:
Existen 2 opcioens para la alternativa java (que provee /usr/bin/java). Selección Ruta Prioridad Estado ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 modo automático 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 modo manual * 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 modo manual Pulsepara mantener el valor por omisión [*] o pulse un número de selección:
y seleccionamos "/usr/lib/jvm/java-6-sun/jre/bin/java"
Con esto habremos instalado y seleccionado la versión del JDK con la que vamos a trabajar.
Instalación de NetBeans y Eclipse
Primero descargamos desde la sección de descargas: http://netbeans.org/downloads/index.html
seleccionamos el paquete que deseemos, una vez descargado, ejecutamos desde la terminal:
sudo ./netbeans-7.1.1-ml-linux.sh
si tuvieramos problemas al ejecutarlo, hay que cambiar los permisos del script:
sudo chmod +x ./netbeans-7.1.1-ml-linux.sh
una vez ejecutado, solo es cosa de seguir las instrucciones del instalador.
Instalación de Eclipse.
Podemos instalarlo desde los repositorios oficiales de ubuntu, pero en este caso lo descargamos de su pagina http://www.eclipse.org/downloads/
Eclipse ofrece paquetes de binarios diferentes, para cada necesidad, en este caso descargamos la versión: Eclipse IDE for Java Developers
Una vez descargada, solo tenemos que descomprimirlo en una carpeta y ejecutarlo.
Nota: es importante que antes de instalar ya sea NetBeans o Eclipse es importante tener instalado el JDK, sino la instalación puede marcar errores.
miércoles, 7 de marzo de 2012
Administrando tu Servidor con Webmin - Ubuntu
Hoy estaba probando una interesante herramienta para administrar un servidor, después de haber instalado un servidor web LAMP, una buena opción es instalar "Webmin".
Webmin es una interfaz web para administrar sistemas UNIX, usando cualquier navegador moderno, puedes administrar cuentas de usuario, un servidor APACHE, un servidor de base de datos MySql, opciones del sistema, como el arranque y parada de servicios, ver y administrar que servicios se ejecutan al inicio y muchas cosas más, además de todo puedes agregarle funciones, instalando módulos de forma sencilla.
Para instalarlo solo necesitamos descargar el paquete correspondiente a nuestro sistema, en mi caso descargo el paquete DEB, y desde la terminal:
sudo dpkg -i webmin_1.580_all.deb
en mi caso marcó errores por no cumplir ciertas dependencias, si este es su caso, hagan lo siguiente:
sudo apt-get install -f
esto instalará las dependencias faltantes, y terminará de instalar Webmin
Una vez instalado podemos acceder a el a través de nuestro navegador, escribiendo:
https://localhost.com:100000
Si muestra una advertencia de seguridad, es por que no tenemos el certificado, pero no importa, es una conexión local.
Webmin es una interfaz web para administrar sistemas UNIX, usando cualquier navegador moderno, puedes administrar cuentas de usuario, un servidor APACHE, un servidor de base de datos MySql, opciones del sistema, como el arranque y parada de servicios, ver y administrar que servicios se ejecutan al inicio y muchas cosas más, además de todo puedes agregarle funciones, instalando módulos de forma sencilla.
Para instalarlo solo necesitamos descargar el paquete correspondiente a nuestro sistema, en mi caso descargo el paquete DEB, y desde la terminal:
sudo dpkg -i webmin_1.580_all.deb
en mi caso marcó errores por no cumplir ciertas dependencias, si este es su caso, hagan lo siguiente:
sudo apt-get install -f
esto instalará las dependencias faltantes, y terminará de instalar Webmin
Una vez instalado podemos acceder a el a través de nuestro navegador, escribiendo:
https://localhost.com:100000
Si muestra una advertencia de seguridad, es por que no tenemos el certificado, pero no importa, es una conexión local.
Se mostrará la pantalla de login donde, accederemos con nuestro usuario y cuenta de "super usuario".
Una vez autentificados, nos mostrará la pantalla la información del sistema, y del lado izquierdo el menú con las diferentes secciones para administrar.
Las opciones que permite configurar son muchas para describirlas en un solo post, pero la mayoría son muy fáciles de comprender y manejar, una vez instalado, lo mejor es probarlo.
Etiquetas:
Administración,
LAMP,
Servidor web,
Ubuntu,
Webmin
martes, 6 de marzo de 2012
Configurando Host Virtuales(basado en nombres) en Apache 2 con Ubuntu
Instalar un servidor web LAMP(Linux Apache MySQL PHP por sus siglas) en Ubuntu es realmente sencillo, una vez instalado, si quieren habilitar hosts virtuales (útil para tener mas de un sitio web en el mismo servidor)
Lo primero es dirigirnos al directorio donde encontraremos los archivos de configuración de Apache y buscamos la carpeta "sites-available" en la siguiente ruta:
cd /etc/apache2/sites-available/
y sacamos una copia del archivo "default" y la nombramos como deseamos ver el nombre en vez de "localhost"
sudo cp default miweb
abrimos para edición la copia del archivo renombrada:
sudo nano miweb
y cambiamos las lineas que sean necesarias y agregamos las que no estén, las demás lineas las dejamos intactas. Para este ejemplo creé un directorio llamado "www" en mi directorio home, pueden poner el directorio que gusten y es donde estarán los archivos de nuestro sitio.
sudo a2ensite miweb
esto habilitará el host virtual (Nota: el uso de a2ensite es valido para sistemas basados en Debian)
Después, editamos el archivo "hosts" en la siguiente ruta:
sudo nano /etc/hosts
y agregamos la siguiente linea:
127.0.0.1 miweb
y guardamos los cambios.
al final de esto reiniciamos el servicio:
sudo service apache2 reload
Y con esto ya tendremos configurado nuestro host virtual, ahora en vez de acceder a "http://localhost" accedemos con "http://miweb" y nos redirecccionará hacia nuestro directorio en /home/jaxnet/www
Lo primero es dirigirnos al directorio donde encontraremos los archivos de configuración de Apache y buscamos la carpeta "sites-available" en la siguiente ruta:
cd /etc/apache2/sites-available/
y sacamos una copia del archivo "default" y la nombramos como deseamos ver el nombre en vez de "localhost"
sudo cp default miweb
abrimos para edición la copia del archivo renombrada:
sudo nano miweb
y cambiamos las lineas que sean necesarias y agregamos las que no estén, las demás lineas las dejamos intactas. Para este ejemplo creé un directorio llamado "www" en mi directorio home, pueden poner el directorio que gusten y es donde estarán los archivos de nuestro sitio.
Una vez editado, guardamos los cambios, y ejecutamos lo siguiente:DocumentRoot /home/jaxnet/www
ServerAdmin webmaster@jaxnet
ServerName miweb
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
...
sudo a2ensite miweb
esto habilitará el host virtual (Nota: el uso de a2ensite es valido para sistemas basados en Debian)
Después, editamos el archivo "hosts" en la siguiente ruta:
sudo nano /etc/hosts
y agregamos la siguiente linea:
127.0.0.1 miweb
y guardamos los cambios.
al final de esto reiniciamos el servicio:
sudo service apache2 reload
Y con esto ya tendremos configurado nuestro host virtual, ahora en vez de acceder a "http://localhost" accedemos con "http://miweb" y nos redirecccionará hacia nuestro directorio en /home/jaxnet/www
lunes, 5 de marzo de 2012
Configurar aplicaciones para conectarse a traves de Tor en Ubuntu - Parte 2
Como comenté en el post anterior Configurar aplicaciones para conectarse a traves de Tor en Ubuntu algunas aplicaciones no permiten la configuración directa de conexión a través de un SOCK Server, en este caso podemos hacer uso de "tsocks"
tsocks provee un acceso transparente a la red, a través de proxy SOCKS 4 o 5, tsocks intercepta las llamadas que las aplicaciones hacen para establecer conexiones TCP y este las enruta de forma transparente, esto permite que aplicaciones hagan uso de SOCKS sin necesidad de recompilarlas o modificarlas.
Para instalar tsocks es tan fácil como desde la terminal, teclear:
sudo apt-get install tsocks
así que la editamos ya sea desde la terminal:
sudo nano /etc/tsocks.conf
o bien con gedit:
gksudo gedit /etc/tsocks.conf
local = 192.168.1.0/255.255.255.0
mas abajo, en la sección "# Default server"
indicamos la dirección del servidor:
server = 127.0.0.1
el tipo de servidor (4 o 5)
server_type = 5
y el puerto (por default tiene el 1080, Tor hace uso del 9050)
server_port = 9050
y guardamos los cambios al archivo.
Nota: en el siguiente directorio se encuentra un archivo que contiene una configuración para tor usando tsocks "/etc/tor/tor-tsocks.conf " pueden copiarlo y usarlo en vez de editarlo.
sudo cp /etc/tor/tor-socks.conf /etc/tsocks.conf
Y listo, para hacer uso de aplicaciones a través de tsocks, primero conectamos a la red de Tor mediante Privalia, una vez conectados, lanzamos las aplicaciones desde terminal o configuramos el lanzador de la aplicación con el siguiente comando:
para este ejemplo usaré "emesene" para conectarme a messenger
tsocks emesene
y listo, estaremos conectados a través de la red Tor y navegaremos de forma anónima.
Para usar Tor en Chromium o Google Chrome intente utilizar extensiones de configuración de proxy pero ninguna me funcionó bien. Lo que hice para hacer funcionar Chromium con Tor fue modificar el lanzador con los siguientes parámetros:
/usr/bin/chromium-browser %U --proxy-server=socks5://127.0.0.1:9050
tsocks provee un acceso transparente a la red, a través de proxy SOCKS 4 o 5, tsocks intercepta las llamadas que las aplicaciones hacen para establecer conexiones TCP y este las enruta de forma transparente, esto permite que aplicaciones hagan uso de SOCKS sin necesidad de recompilarlas o modificarlas.
Para instalar tsocks es tan fácil como desde la terminal, teclear:
sudo apt-get install tsocks
y listo quedará instalado, ahora tenemos que hacer una pequeña y fácil configuración:
el archivo de configuración de tsocks se encuentra en la siguiente ruta:
/etc/tsocks.conf
el archivo de configuración de tsocks se encuentra en la siguiente ruta:
/etc/tsocks.conf
así que la editamos ya sea desde la terminal:
sudo nano /etc/tsocks.conf
o bien con gedit:
gksudo gedit /etc/tsocks.conf
una vez editando el archivo buscamos la sección "#Local networks"
y añadimos las direcciones para las cuales irań directamente sobre LAN
y añadimos las direcciones para las cuales irań directamente sobre LAN
local = 192.168.1.0/255.255.255.0
mas abajo, en la sección "# Default server"
indicamos la dirección del servidor:
server = 127.0.0.1
el tipo de servidor (4 o 5)
server_type = 5
y el puerto (por default tiene el 1080, Tor hace uso del 9050)
server_port = 9050
y guardamos los cambios al archivo.
Nota: en el siguiente directorio se encuentra un archivo que contiene una configuración para tor usando tsocks "/etc/tor/tor-tsocks.conf " pueden copiarlo y usarlo en vez de editarlo.
sudo cp /etc/tor/tor-socks.conf /etc/tsocks.conf
Y listo, para hacer uso de aplicaciones a través de tsocks, primero conectamos a la red de Tor mediante Privalia, una vez conectados, lanzamos las aplicaciones desde terminal o configuramos el lanzador de la aplicación con el siguiente comando:
para este ejemplo usaré "emesene" para conectarme a messenger
tsocks emesene
y listo, estaremos conectados a través de la red Tor y navegaremos de forma anónima.
Para usar Tor en Chromium o Google Chrome intente utilizar extensiones de configuración de proxy pero ninguna me funcionó bien. Lo que hice para hacer funcionar Chromium con Tor fue modificar el lanzador con los siguientes parámetros:
/usr/bin/chromium-browser %U --proxy-server=socks5://127.0.0.1:9050
Configurar aplicaciones para conectarse a traves de Tor en Ubuntu
En el post anterior vimos como instalar Tor y su interfaz gráfica Vidalia, en este post veremos como configurar algunas aplicaciones para que se conecten a través de Tor.
Algunas aplicaciones, generalmente las mas nuevas, permiten la configuración de conexión a través de un sock server, para estas solo es necesario especificar el "host" y el puerto al que se conectarán, en este caso solo tenemos que iniciar Vidalia y una vez conectado a la red Tor, configuramos nuestra aplicación:
Algunas aplicaciones, generalmente las mas nuevas, permiten la configuración de conexión a través de un sock server, para estas solo es necesario especificar el "host" y el puerto al que se conectarán, en este caso solo tenemos que iniciar Vidalia y una vez conectado a la red Tor, configuramos nuestra aplicación:
en este ejemplo estoy conectando mi cliente twitter "Polly" a través de Tor
en el menú "Edit" -> "Preferences" en la pestaña "Proxy", checamos la casilla de "Use a proxy server for connecting" y en "Host:" capturamos lo siguiente: localhost
y en "Port:" le indicamos que use el "9050" y seleccionamos la opción de "SOCKS5"
Y listo, nuestra aplicación estará conectándose a través de la red de Tor, esto es recomendable si nos conectamos a través de redes inalambricas públicas.
En el caso de un navegador como Firefox podemos usar la extensión "Torbutton" para activar y desactivar la navegación a través de este.
Existen aplicaciones que no permiten la configuración directa de conexión a través de un servidor proxy, para estas aplicaciones podemos usar "tsocks" pero lo veremos en el siguiente post.
y en "Port:" le indicamos que use el "9050" y seleccionamos la opción de "SOCKS5"

En el caso de un navegador como Firefox podemos usar la extensión "Torbutton" para activar y desactivar la navegación a través de este.
Existen aplicaciones que no permiten la configuración directa de conexión a través de un servidor proxy, para estas aplicaciones podemos usar "tsocks" pero lo veremos en el siguiente post.
Instalando Tor y Vidalia en Ubuntu 11.10
Comentando mi experiencia con Tor en Ubuntu 11.0
http://deb.torproject.org/torproject.org <distribution> main
donde en " <distribution>" pondremos el nombre de nuestra versión del sistema en este caso "oneiric" quedando de la siguiente forma:
http://deb.torproject.org/torproject.org oneiric main
una vez añadidos, desde la terminal agregamos las llaves con los siguientes comandos:
sudo gpg --keyserver keys.gnupg.net --recv 886DDD89
sudo gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
después de esto, actualizamos nuestra lista con un:
sudo apt-get update
e instalamos los siguientes paquetes:
sudo apt-get install deb.torproject.org-keyring
sudo apt-get install tor
sudo apt-get install vidalia
Para instalar Tor pueden hacerlo entrando a su sitio en la sección de descargas https://www.torproject.org/download/download.html.en y descargar el paquete (aunque es beta) o bien pueden agregar el repositorio (es mejor, para mantener siempre actualizado), en mi caso agregué el repositorio, para ello necesitamos añadirlo ya sea desde "Orígenes del software" o desde el gestor de paquetes synaptic en el menú "Configuración"->Repositorios. Una vez editando los repositorios añadimos el repositorio dando click en el botón "Añadir" de la pestaña "Otro Software" e introducimos la siguiente linea:
http://deb.torproject.org/torproject.org <distribution> main
donde en " <distribution>" pondremos el nombre de nuestra versión del sistema en este caso "oneiric" quedando de la siguiente forma:
http://deb.torproject.org/torproject.org oneiric main
una vez añadidos, desde la terminal agregamos las llaves con los siguientes comandos:
sudo gpg --keyserver keys.gnupg.net --recv 886DDD89
sudo gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
después de esto, actualizamos nuestra lista con un:
sudo apt-get update
e instalamos los siguientes paquetes:
sudo apt-get install deb.torproject.org-keyring
sudo apt-get install tor
sudo apt-get install vidalia
Listo, ya tendremos instalado Tor para navegar de forma anónima. En el siguiente post, veremos como configurar algunas aplicaciones para que se conecten a través de Tor. Para ejecutarlo busca en el menú la aplicación "Vidalia" el cual es una interfaz gráfica para controlar Tor, desde ella podremos Comenzar y detenerlo y modificar alguna de sus configuraciones así como mostrar el uso del ancho de banda de Tor.
Etiquetas:
anonimo,
instalacion,
Tor,
Ubuntu,
Vidalia
viernes, 2 de marzo de 2012
Dar acceso remoto a 'root' en MySQL "UBUNTU"
Una vez instalado MySql server ya sea mediante
sudo apt-get install mysql-server
o desde synaptic, el archivo de configuración lo podemos encontrar en la siguiente ruta:
/etc/mysql
Editar el archivo my.cnf
sudo nano /etc/mysql/my.cnf
buscar la sección: [mysqld]
y buscamos la siguiente linea:
bind-address = 127.0.0.1
y la comentamos poniendo un '#' al principio de esta, quedando de la siguiente forma:
#bind-address = 127.0.0.1
Guardamos los cambios y reiniciamos el servidor:
sudo service mysql restart
mysql -u root
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> exit
Las siguientes imágenes son de como agregar el usuario 'root' usando la herramienta DBeaver


sudo apt-get install mysql-server
o desde synaptic, el archivo de configuración lo podemos encontrar en la siguiente ruta:
/etc/mysql
Editar el archivo my.cnf
sudo nano /etc/mysql/my.cnf
buscar la sección: [mysqld]
y buscamos la siguiente linea:
bind-address = 127.0.0.1
y la comentamos poniendo un '#' al principio de esta, quedando de la siguiente forma:
#bind-address = 127.0.0.1
Guardamos los cambios y reiniciamos el servidor:
sudo service mysql restart
Hasta aquí configuramos el servidor para aceptar conexiones remotas, lo que sigue es agregar un 'HOST' para root para que se pueda logear desde cualquier parte:
Si cuentan con un gui como phpmyadmin o DBeaver(http://dbeaver.jkiss.org/) es mas fácil, sino, pueden hacerlo desde terminal:
Si cuentan con un gui como phpmyadmin o DBeaver(http://dbeaver.jkiss.org/) es mas fácil, sino, pueden hacerlo desde terminal:
mysql -u root
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> exit
Y listo, podremos realizar conexiones remotas a nuestro servidor, en mi caso no redirecciono los puertos de mi router y utilizo una contraseña "segura" para evitar problemas de seguridad, en mi caso solo hago las conexiones desde otros equipos en la misma red local.
Las siguientes imágenes son de como agregar el usuario 'root' usando la herramienta DBeaver



lunes, 12 de diciembre de 2011
Empathy 3.2.0.1 Problemas con MSN
El cliente de chat Empathy es el que viene instalado default en Ubuntu 11.10
Es un cliente que a mi parecer es ligero, básico y permite conectar con diferentes protocolos.
Lo probé con MSN y el chat de Facebook, funcionó muy bien, hasta que un día comenzó a fallar al conectar con MSN, simplemente se quedaba tratando de conectar, bueno en ese momento no busque solución e instale "emesene" otro cliente, aprovechando que estrenaba su versión 2. Funciono muy bien, agradable interfaz, ligero y también soporta el protocolo de Facebook.
Hoy precisamente recordé empathy y decidí buscar una solución, después de leer en foros y blogs encontré una respuesta acá (https://bugs.launchpad.net/ubuntu/+source/papyon/+bug/887481/comments/13).
La solución es editar el siguiente archivo: /usr/share/pyshared/papyon/service/description/AB/__init__.py
y dentro cambiar la linea:
url = “http://contacts.msn.com/abservice/abservice.asmx”
por la siguiente :
url = “http://local-bay.contacts.msn.com/abservice/abservice.asmx“
en mi caso la url era diferente: url = "https://omega.contacts.msn.com/abservice/abservice.asmx"
después de cambiarla salí de mi sesión y volví a entrar y listo funcionó de nuevo.
Es un cliente que a mi parecer es ligero, básico y permite conectar con diferentes protocolos.
Lo probé con MSN y el chat de Facebook, funcionó muy bien, hasta que un día comenzó a fallar al conectar con MSN, simplemente se quedaba tratando de conectar, bueno en ese momento no busque solución e instale "emesene" otro cliente, aprovechando que estrenaba su versión 2. Funciono muy bien, agradable interfaz, ligero y también soporta el protocolo de Facebook.
Hoy precisamente recordé empathy y decidí buscar una solución, después de leer en foros y blogs encontré una respuesta acá (https://bugs.launchpad.net/ubuntu/+source/papyon/+bug/887481/comments/13).
La solución es editar el siguiente archivo: /usr/share/pyshared/papyon/service/description/AB/__init__.py
y dentro cambiar la linea:
url = “http://contacts.msn.com/abservice/abservice.asmx”
por la siguiente :
url = “http://local-bay.contacts.msn.com/abservice/abservice.asmx“
en mi caso la url era diferente: url = "https://omega.contacts.msn.com/abservice/abservice.asmx"
después de cambiarla salí de mi sesión y volví a entrar y listo funcionó de nuevo.
Suscribirse a:
Entradas (Atom)