jueves 26 de marzo de 2009

Crear una red inalámbrica punto a punto (Ad-Hoc) entre un iPhone 3G y una Netbook Acer Aspire One con Ubuntu 8.10

Ya expliqué hace unos días cómo configurar este tipo de red pero con una computadora con Windows como sistema operativo, pero ahora será lo haré para los que tienen una máquina con Ubuntu en su versión 8.10.

Lo primero que haremos será desactivar la tarjeta inalámbrica, para ello presionaremos con el botón derecho sobre el ícono del applet network-manager (nm) y posteriormente deseleccionaremos la opción Activar inalámbrica.



Ahora lo que haremos será dar de baja el dispositivo.

javoaxian@aspireoneubuntu:~$ sudo wlanconfig ath0 destroy

Levantaremos nuevamente el dispositivo pero en modo ad-hoc.

javoaxian@aspireoneubuntu:~$ sudo wlanconfig ath0 create wlandev wifi0 wlanmode adhoc

Hecho ésto, daremos de alta la red inalámbrica, la cual la nombraremos aspireoneubuntu y le diremos que será de tipo ad-hoc.

javoaxian@aspireoneubuntu:~$ sudo iwconfig ath0 essid aspireoneubuntu mode ad-hoc channel 1

Ahora deberemos de ir a nuestro iPhone 3G y elegir Ajustes donde aparecerá la siguiente pantalla en la que presionaremos sobre la opción Wi-Fi.


Ahora activaremos nuestro dispositivo Wi-Fi presionando sobre el botón de la derecha para que quede marcado el 1 que indica que está prendido, además que se mostrará las redes inalámbricas disponibles entre las cuales se encontrará la que acabamos de hacer y presionaremos sobre su nombre para que se conecte a ella. Veremos que aparecerá una palomita indicando que se está conectado a esa red.




Ahora en nuestra computadora ejecutaremos el comando dhclient para finalizar la conexión y asignar una IP a la máquina.

javoaxian@aspireoneubuntu:~$ sudo dhclient ath0
There is already a pid file /var/run/dhclient.pid with pid 7646
killed old client process, removed PID file
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

wifi0: unknown hardware address type 801
wifi0: unknown hardware address type 801
Listening on LPF/ath0/06:22:69:27:ec:f3
Sending on LPF/ath0/06:22:69:27:ec:f3
Sending on Socket/fallback
DHCPREQUEST of 169.254.111.112 on ath0 to 255.255.255.255 port 67
DHCPACK of 169.254.111.112 from 0.0.0.0
bound to 169.254.111.112 -- renewal in 78863 seconds.

Con esto ya quedaron conectados la computadora y el celular y podemos usar SSH para conectarnos al celular o de éste a la computadora. Claro, siempre y cuando tengan el jailbreak de su iPhone.

martes 24 de marzo de 2009

Crear una red punto a punto (Ad-Hoc) entre un iPhone 3G y una máquina con Windows XP por Wi-Fi

En este artículo vamos a ver cómo podemos crear una red ad-hoc entre nuestra máquina con Windows XP y nuestro iPhone 3G.

Lo primero que haremos será en nuestra máquina ir a Inicio -> Conectar a -> Mostrar todas las conexiones.


Esto abrirá una ventana donde se nos muestran las conexiones a internet que tenemos y en la cual presionaremos con el botón derecho sobre la conexión que corresponde a nuestra tarjeta Wireless y haremos clic en la opción Propiedades.


Se abrirá una nueva ventana y presionaremos sobre la pestaña "Redes inalámbricas" y una vez en esa pestaña, presionaremos sobre la opción Agregar.


Saldrá una nueva ventana en la que ingresaremos el Nombre de red (SSID) en este caso la nombre aspireonewindows. En la opción Autenticación de red elegiremos Abierta y en este caso, en la opción Cifrado de datos elegiremos Deshabilitado aunque pudiésemos elegir algún nivel de cifrado si lo quisieramos. Para fines prácticos elegí la opción Deshabilitado. También deberemos marcar la casilla con la opción Esta es una red de equipo a equipo (ad hoc). No se utilizan puntos de acceso inalámbrico y posteriormente presionar Aceptar.


Nos aparecerá una ventana de advertencia indicandonos que los datos no serán cifrados y pueden ser vistos por otros. Presionaremos Continuar.


Ahora en la ventana de propiedades de la conexión que elegimos anteriormente, veremos listada la red que acabamos de crear y presionaremos Aceptar.


Ahora volveremos a presionar con el botón derecho sobre la conexión de nuestra tarjeta Wireles pero ahora elegiremos la opción Ver redes inalámbricas disponibles.


Se mostrará la lista de las redes inalámbricas disponibles y haremos doble clic sobre el nombre de la red que acabamos de crear, que en este caso es aspireonewindows.


Aparecerá una ventana donde indica que se está conectando a la red que creamos.


Hecho lo anterior en nuestra máquina con Windows, ahora procederemos a configurar y entablar la comunicación de nuestro iPhone con la máquina.

Lo que haremos será ir a Ajustes de nuestro iPhone y aparecerá la siguiente pantalla en la que presionaremos sobre la opción Wi-Fi.


Ahora activaremos nuestro dispositivo Wi-Fi presionando sobre el botón de la derecha para que quede marcado el 1 que indica que está prendido, además que se mostrará las redes inalámbricas disponibles entre las cuales se encontrará la que acabamos de hacer y presionaremos sobre su nombre para que se conecte a ella. Veremos que aparecerá una palomita indicando que se está conectado a esa red.




En nuestra máquina también podremos observar que ya se encuentra conectada la computadora con nuestro celular.


Listo, con esto ya tenemos conectadas tanto nuestra máquina con Windows XP y nuestro iPhone 3G por medio de una red ad hoc. Ahora si ya hicieron el jailbreak de su iPhone, podrán conectarse a él por medio de SSH.

domingo 22 de marzo de 2009

Instalar OpenSSH en iPhone 3G

El día de hoy lo que vamos a realizar será el instalar OpenSSH en nuestro iPhone, con esto podremos conectarnos remotamente tanto del celular a un equipo o viceversa.

Para no dar tantas vueltas haremos lo siguiente:

  1. Hacer jailbreak del iPhone (en caso de todavía no haberlo hecho).
  2. Presionar sobre el ícono de Cydia para arrancar la aplicación.
  3. Una vez que arrancó Cydia, presionamos sobre el botón Search.
  4. Buscamos el programa OpenSSH y presionamos sobre él una vez que nos haya aparecido como resultado de la búsqueda.
  5. Presionaremos el botón Install.
  6. Presionaremos el botón Confirm, lo cual iniciará el proceso de instalación.
  7. Una vez que acabó de instalarse presionaremos el botón Return Cydia y salimos de Cydia.

Ahora si queremos conectarnos a nuestro celular deberán estar conectados los equipos ya sea en una red Ad-Hoc o conectados a la misma red Wi-Fi.
Suponiendo que nos queremos conectar de nuestra máquina a nuestro celular deberemos ver qué dirección IP tiene asignado nuestro celular. Para hacer esto, iremos a Ajustes.


Presionamos sobre Wi-Fi.


Presionamos sobre la flecha azul que apunta hacia la derecha. y que pertenece a la red a la que estamos conectados.


Esto mostrará la pantalla donde nos indica la IP que le fue asignada al celular.


Ahora deberemos usar algún cliente de SSH, como puede ser gFtp, SSHClient, Putty, etc., para conectarnos a nuestro celular a través de la dirección IP que acabamos de consultar en Ajustes. El nombre de usuario para conectarnos será root y la contraseña es alpine.

Con esto ya está instalado OpenSSH y unos tip's para conectarse al celular, también si desean conectarse a un equipo desde el celular, pueden usar el MobileTerminal y conectarse por medio de comandos.

viernes 20 de marzo de 2009

Configurar Apache para usar URL's amigables

Dado que en el proyecto en el que estoy participando en mi trabajo requieren que generemos URL's amigables, me dí a la tarea de investigar sobre este tema. Este artículo describirá de forma breve los pasos que necesitamos para que Apache cree las URL's correctamente e interprete los valores de las variables que se envían. Al finalizar mostraré con un ejemplo sencillo en PHP el valor de las variable que se envía por el URL.

El primer paso que deberemos hacer es instalar Apache. Para no volver a explicar como instalarlo dado que ya lo postié en otro artículo dejo AQUÍ la liga. En este artículo tendremos que hacer unos cambios pequeños que a continuación describiré y también para que funcione bien el ejemplo deberemos instalar PHP como indico AQUÍ TAMBIÉN.
Cuando en el artículo de instalación de Apache lleguen a la línea:

$ cp /ruta/donde/se/bajo/httpd-2.2.8.tar.bz2 /usr/local/src/
$ cd /usr/local/src/
$ tar -jxvf httpd-2.2.8.tar.bz2
$ cd httpd-2.2.8
$ ./configure --prefix=/usr/local/apache --enable-module=so
o
$ ./configure --prefix=/usr/local/apache --enable-so

Deberemos agregar la opción --enable-rewrite=shared la cuál nos permitirá reescribir para poder generar nuestras rutas.

La opción quedaría similar a lo siguiente:

$ cp /ruta/donde/se/bajo/httpd-2.2.8.tar.bz2 /usr/local/src/
$ cd /usr/local/src/
$ tar -jxvf httpd-2.2.8.tar.bz2
$ cd httpd-2.2.8
$ ./configure --prefix=/usr/local/apache --enable-module=so --enable-rewrite=shared
o
$ ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite=shared

Después de esto, continuaremos con la instalación que se describe en el artículo de instalación de Apache.

Una vez que ya se tiene instalado Apache deberemos editar como usuario root el archivo /usr/local/apache/conf/httpd.conf y deberemos buscar las líneas donde encontremos la palabra AllowOverride None y deberemos cambiarla por AllowOverride All, por ejemplo, y la encontré en dos lugares:

<Directory />
Options FollowSymLinks
#AllowOverride None
AllowOverride All
</Directory>

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit Indexes
#
#AllowOverride None
AllowOverride All

En el artículo menciono que podemos crear alias como el siguiente:

    # If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a section to allow access to
# the filesystem path.

Alias /javoaxian "/home/javoaxian/htdocs"
<Directory /home/javoaxian/htdocs>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

Y para poder usar también los URL's amigables deberemos cambiar la opción AllowOverride.

    # If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a section to allow access to
# the filesystem path.

Alias /javoaxian "/home/javoaxian/htdocs"
<Directory /home/javoaxian/htdocs>
#AllowOverride FileInfo AuthConfig Limit Indexes
AllowOverride All
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

Recuerden que una vez que hayan guardado estos cambios necesitarán reiniciar su Apache en caso de que este iniciado.

Con ésto ya tenemos casi configurado nuestro Apache, ahora lo que falta es crear el archivo .htaccess el cual nos permitirá crear las reglas que necesitamos para que se interprete el URL.

El archivo .htaccess deberá crearse dentro del directorio htdocs de nuestro sitio o en alguno de los directorios dentro de este directorio. Yo crearé un directorio llamado urls dentro del directorio /usr/local/apache/htdocs y en este directorio colocaré el archivo .htacces.

javoaxian@darthmaul:~$ su -
Password:
root@darthmaul:~$ cd /usr/local/apache/htdocs
root@darthmaul:~$ mkdir urls

El contenido del archivo será el siguiente:

<ifmodule mod_rewrite.c>
RewriteEngine On
Rewriterule ^nota/(.+)/(.+) nota.php?id=$1&titulo=$2
</ifmodule>

Ahora explicaré el archivo .htaccess.
Las etiquetas <ifmodule mod_rewrite.c> </ifmodule> indican que si está instalado el módulo mod_rewrite haga lo que está entre esas etiquetas.

La línea RewriteEngine On indica que vamos a habilitar el modo de reescritura de las URL's.

La línea: Rewriterule ^nota/(.+)/(.+) nota.php?id=$1&titulo=$2 crea una expresión regular donde le decimos que el URL será formado de la siguiente manera: http://localhost/urls/nota/numero/titulo-nota donde en este URL /nota representa el nombre del archivo, /numero equivaldría a la variable id=$1 que se especifíca en la expresión regular y /titulo equivale a la variable &titulo=$2. Por tal motivo, si yo pongo el siguiente URL amigable:

http://localhost/urls/nota/1/mi-primer-noticia

será lo mismo que si hubieramos escrito:

http://localhost/urls/nota.php?id=1&titulo=mi-primer-noticia

Hay muchas forma de crear nuestras expresiones regulares, aquí puse una muy sencilla y para fines prácticos.

Ahora bien, si ustedes estuvieran poniendo el archivo .htaccess dentro de un alias que hubieran creado, como es el caso del artículo que mencioné y en donde el alias está dirigido a http://localhost/javoaxian, crearíamos el directorio urls dentro del directorio /home/javoaxian/htdocs.

javoaxian@darthmaul:~$ javoaxian@darthmaul:~$ cd /home/javoaxian/htdocs
javoaxian@darthmaul:~$ mkdir urls

Y el contenido del archivo .htacces variará un poco ya que en lugar de poner ^nota/(.+)/(.+) colocaremos ^nota.php/(.+)/(.+). Esto quedaría así:

<ifmodule mod_rewrite.c>
RewriteEngine On
Rewriterule ^nota.php/(.+)/(.+) nota.php?id=$1&titulo=$2
</ifmodule>

Ahora por último crearemos nuestro programa de PHP el cual nos mostrará el valor de las variables. Por tal motivo crearemos el archivo nota.php y el contenido de este será:

<?php echo "ID: " . $_GET['id'] . " TITULO: " . $_GET['titulo'] ?>

Guardaremos el archivo y ahora en nuestro navegador entraremos a:

http://localhost/urls/nota/1/titulo-de-la-nota

o si están probandolo con el alias:

http://localhost/javoaxian/urls/nota/1/titulo-de-la-nota

A lo cual el programa les mostrará:

ID: 1 TITULO: titulo-de-la-nota

Listo, con esto ha quedado configurado nuestro Apache para interpretar URL's amigables.

miércoles 18 de marzo de 2009

Notifier: Otro notificador de eventos para el iPhone

Si no les convenció el StatusNotifier aquí les pongo otra alternativa llamada Notifier. Este programa también se encarga de mostrarnos en la barra de estados del celular si tenemos llamadas perdidas, mensajes sin leer, entre otras cosas, para instalarlo deberemos de seguir los siguientes pasos:

  1. Hacer un jailbreak al iPhone para tener instalado Cydia (ver aquí) y a través de este programa instalar Notifier.
  2. Una vez instalado Cydia, presionaremos sobre su ícono.
  3. Ahora presionamos sobre el botón Search.
  4. Buscaremos el paquete Notifier.
  5. Una vez que aparezca su nombre, presionamos sobre él.
  6. Nos aparecerá su descripción y presionamos el botón Install.
  7. Se nos preguntará la confirmación para instalar el programa y presionamos Confirm.
  8. Iniciará el proceso de instalación y cuando finalice presionaremos el botón Restart Springboard.

Ahora podremos presionar en su ícono llamado Reminder.


Esto nos presentará la pantalla para configurar los avisos.


Por último, podremos observar en la barra de estado los íconos que nos indican alguno de los avisos que tenemos pendientes.

lunes 16 de marzo de 2009

Notifier Widget para iPhone

Este widget para la pantalla de bloque de nuestro iPhone nos avisa cuando tenemos pendientes por consultar correos, SMS's, llamadas, etc.

Para que funcione deberemos haberle hecho un jailbreak a nuestro iPhone para tener instalado Cydia (ver aquí) y a través de este programa instalar StatusNotifier, Winterboard y posteriormente Notifier Widget.

  1. Una vez instalado Cydia, presionaremos sobre su ícono.
  2. Ahora presionamos sobre el botón Search.
  3. Buscaremos el paquete Notifier Widget.
  4. Una vez que aparezca su nombre, presionamos sobre él.
  5. Nos aparecerá su descripción y presionamos el botón Install.
  6. Se nos preguntará la confirmación para instalar el programa y presionamos Confirm.
  7. Iniciará el proceso de instalación y cuando finalice presionaremos el botón Return to Cydia.

Ahora deberemos presionar sobre el ícono de Winterboard.


Y deberemos marcar la opción Notifier Widget.


Hecho todo lo anterior ya contaremos con nuestros avisos pendientes en la pantalla de bloque de nuestro celular.

sábado 14 de marzo de 2009

StatusNotifier: Programa para notificar Emails, llamadas, SMS, etc., en la barra de estados del iPhone

StatusNotifier es una aplicación que nos avisa en la barra de estado del celular si tenemos correos sin consultar, SMS's, llamadas, RSS, llamadas de voz, etc.

Para poder instalarlo necesitamos tener una versión del firmware 2.x. También deberemos haberle hecho un jailbreak al iPhone para tener instalado Cydia (ver aquí) y a través de este programa instalar Status Notifier.

  1. Una vez instalado Cydia, presionaremos sobre su ícono.
  2. Ahora presionamos sobre el botón Search.
  3. Buscaremos el paquete Status Notifier.
  4. Una vez que aparezca su nombre, presionamos sobre él.
  5. Nos aparecerá su descripción y presionamos el botón Install.
  6. Se nos preguntará la confirmación para instalar el programa y presionamos Confirm.
  7. Iniciará el proceso de instalación y cuando finalice presionaremos el botón Restart SpringBoard.

Una vez que reinicie el Springboard ya podemos acceder a su ícono.


Una vez que presionemos sobre el ícono, podemos activar las cosas que deseamos que nos notifique.


Y también podremos observar en la barra de estado los íconos que nos indican si algo tenemos pendiente, como por ejemplo en la imagen que sigue, podemos observar un sobre al lado del estado de la batería indicando que nos hace falta leer un correo.

jueves 12 de marzo de 2009

SuperDial: Aplicación para marcado rápido de contactos en el iPhone

SuperDial es una aplicación para mi gusto bastante buena para el marcado rápido de nuestros contactos. Esta aplicación nos permite mostrar las fotos de los contactos que deseemos y al presionar sobre ella, nos deja llamarla, enviar correos electrónicos o SMS.

Una gran ventaja de este software para nuestro iPhone es que por el momento es gratuito.

  1. Para instalarla, bastará con entrar al App Store.
  2. Presionamos en el botón Buscar.
  3. Ingresamos SuperDial y presionamos Buscar para encontrarlo.
  4. Presionamos sobre el nombre de SuperDial en la lista de resultados.
  5. Nos aparecerá una la descripción del programa y presionaremos el botón Free.
  6. El botón Free cambiará por el botón Install el cual deberemos presionar.
  7. En caso de que no estemos autenticados en Apple Store nos pedirá nuestra cuenta de Apple ID, y una vez que la ingresemos comenzará el proceso de instalación.

Bastará esperar unos momentos a que se instale y tendremos esta aplicación en nuestro celular. Para usarla, bastará con presionar sobre el ícono instalado y podremos aprovechar su funcionalidad.