Mostrando entradas con la etiqueta web. Mostrar todas las entradas
Mostrando entradas con la etiqueta web. Mostrar todas las entradas

sábado, 11 de abril de 2009

Configurar APACHE 2 en Ubuntu Intrepid Ibex

Despues de haber instalado Apache2 exitosamente, podemos probar si el servidor funciona.En nuestro navegador favorito, escribimos en la barra de direcciones:
http://localhost
Y obtendremos algo como esto:
Si algún error ocurre debemos editar el archivo de configuración apache2.conf con el editor de texto que se prefiera, en este caso usaremos gedit :
$sudo gedit /etc/apache2/apache2.conf

Agregamos la siguiente linea en cualquier lugar del archivo de configuración:
ServerName localhost

Guardamos los cambios y luego reiniciamos Apache :
$sudo /etc/init.d/apache2 restart

Ahora probamos con localhost y si obtenemos el: "It works!", estamos listos para configurar Apache para que nos sirva nuestro propio sitio.

Creamos un nuevo sitio


Podemos crear un directorio de nuestro sitio en cualquier parte, en este caso se creará en :
$mkdir /home/usuario/mi_website

Ahora crearemos el archivo de configuración para el nuevo sitio.Podemos hacerlo a partir del archivo de configuración del sitio por defecto. Al nuevo archivo lo llamaré miweb :
$sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/miweb

Abrimos el nuevo archivo de configuración:
$sudo gedit /etc/apache2/sites-available/miweb

Buscamos la línea:
DocumentRoot /var/www/

Y cambiamos la ruta por la del directorio que creamos anteriormente:
DocumentRoot /home/usuario/mi_website

Luego buscamos la línea :
Y modificamos la ruta, con lo que deberá quedar así:


Guardamos los cambios.
A continuación deshabilitamos el sitio por defecto, deshabilitando su archivo de configuración, el cual es default.Para eso usamos el script de Apache:
$sudo a2dissite default

Seguidamente activamos nuestro nuevo sitio, habilitando su archivo de configuración.Para eso usamos otro script de Apache:
$sudo a2ensite miweb

Finalmente reiniciamos apache:
$sudo /etc/init.d/apache2 restart

Para probar si todo ha salido bien podemos crear un archivo index.html y guardarlo en :
/home/usuario/mi_website

Antes de ingresar a nuestro nuevo sitio, limpiamos la cache del navegador, en Firefox esta en Herramientas/Limpiar datos privados.
Ahora ya podemos ingresar a nuestro nuevo sitio. Escribimos en el navegador:
http://localhost

Y Listo. Ya tenemos nuestro servidor funcionando.

Fuente : www.zaphu.com

domingo, 5 de abril de 2009

Instalando AptanaStudio en Ubuntu Intrepid Ibex

Antes de instalar AptanaStudio debemos instalar sus dependencias:
$sudo apt-get install sun-java6-jre sun-java6-plugin xulrunner

Luego, descargamos el paquete desde su página:
http://www.aptana.com/studio/download

El siguiente paso es descomprimir el archivo .zip.En mi caso he descomprimido en /opt :
$sudo unzip Aptana_Studio_Setup_Linux_1.2.5.zip -d /opt

por lo que en /opt obtendré el directorio aptana.Puede ser descomprido en cualquier lugar.

Una vez obtenido el directorio aptana, creamos un script que se encargara de iniciar ApatanaStudio.Otra vez, el script puede ser guardado donde se desee, en mi caso crearé un nuevo directorio llamado Scripts y dentro uno llamado Aptana, dentro de este último guardaré el script que iniciará AptanaStudio y lo llamaré iniciaAptana.sh.
Entoces, creo los directorios y me ubico en el directorio recien creado Aptana:
$mkdir /home/usuario/Scripts/Apatana && cd /home/usuario/Scripts/Aptana

Creo el archivo iniciaApatana.sh (notar que estoy aun en el directorio Aptana) :
$ sudo gedit iniciaApatana.sh

En el Editor de texto que se abre a continuación agrego las siguientes líneas:

#!/bin/bash
export MOZILLA_FIVE_HOME=/usr/lib/xulrunner
/opt/aptana/AptanaStudio #ruta al archivo AptanaStudio, que esta dentro del directorio aptana


La penúltima linea del script:
/opt/aptana/AptanaStudio
es la ruta al archivo ejecutable de AptanaStudio y que tiene este mismo nombre, se encuentra en el directorio aptana.Como en mi caso extraje el directorio aptana en /opt, la ruta correspondiente seria la que se muestra en la ultima linea del script:
/opt/aptana/AptanaStudio

Ahora debemos darle permisos de ejecucion al nuestro script.Si estamos o no aun en el directorio Scripts:
$sudo chmod 777 /home/usuario/Scripts/Aptana/iniciaAptana.sh

Ahora solo basta con darle doble click al archivo iniciaAptana.sh y si sale un aviso, escogemos en sus opciones: Ejecutar.

O bien se puede iniciar desde la consola :
$/home/usuario/Scripts/Aptana/iniciaAptana.sh

En modo background para seguir usando la misma consola para otras cosas:
$(/home/usuario/Scripts/Aptana/iniciaAptana.sh)&

Pero para hacernos la vida mas fácil, vamos a crear un enlace directo en la barra de menú:
Primero descargamos los iconos oficiales de AptanaStudio desde Aqui.
Luego los descomprimimos en donde sea(un lugar seguro, para no borrralo sin darnos cuenta), en mi caso descomprimiré en /home/usuario/Scripts/Aptana, si, junto al script:
$unzip aptana_icons.zip -d /home/usuario/Scripts/Aptana

Luego:
  • clic derecho sobre Aplicaciones y escoger editar menús
  • En la Izquierda, en Menús, clic sobre Programación(o la sección que se desee)
  • A la derecha, escoger : + Elemento Nuevo
  • para escoger el icono, clic sobre el cuadro superior izquierdo.Clic examinar y buscamos en /home/usuario/Scripts/Aptana. Le damos Abrir y escogemos el icono.
  • Asi quedará al final:

Eso es es todo. Ahora podemos abrir ApatanaStudio desde el Menú:
Aplicaciones/Programación/Aptana Studio

Nota:
El simbolo "$" no debe ser incluido al momento de escribir los comandos.
Ademas "usuario" se refiere al usuario del sistema, así, si el usuario es luis, entonces una ruta seria: /home/luis/cualquier/directorio.

martes, 17 de marzo de 2009

Expresiones Regulares - Validar número de telefono

¿Qué son expresiones regulares?,según la Wikipedia:
Una expresión regular, a menudo llamada también patrón, es una expresión que describe un conjunto de cadenas sin enumerar sus elementos.[...]Las expresiones regulares son un método por medio del cual se pueden realizar búsquedas dentro de cadenas de caracteres. Sin importar si la búsqueda requerida es de dos caracteres en una cadena de 10 o si es necesario encontrar todas las apariciones de un patrón definido de caracteres en un archivo de millones de caracteres, las expresiones regulares proporcionan una solución para el problema. Adicionalmente, un uso derivado de la búsqueda de patrones es la validación de un formato específico en una cadena de caracteres dada, como por ejemplo fechas, números de teléfono o identificadores.

A continuación los los caracteres comodín usados para crear las expresiones regulares:
SignificadoEjemploResultado
\ Marca de carácter especial/\$ftp/Busca la palabra $ftp
^ Comienzo de una línea/^-/Líneas que comienzan por -
$ Final de una línea/s$/Líneas que terminan por s
. Cualquier carácter (menos salto de línea)/\b.\b/Palabras de una sóla letra
| Indica opciones/(L|l|f|)ocal/Busca Local, local, focal
( ) Agrupar caracteres/(vocal)/Busca vocal
[ ] Conjunto de caracteres opcionales/escrib[aoe]/Vale escriba, escribo, escribe


La tabla que sigue describe los modificadores que pueden usarse con los caracteres que forman el patrón.Cada modificador actúa sobre el carácter o el paréntesis inmediatamente anterior.
SímboloDescripciónEjemploResultado
*Repetir 0 o más veces/l*234/Valen 234, 1234, 11234...
+Repetir 1 o más veces/a+mar/Valen amar, aamar, aaamar...
?Repetir 1 o 0 veces/a?mar/Valen amar, mar.
{n}Exactamente n veces/p{2}sadoVale ppasado
{m,n}Entre m y n veces/car{1,3}o/Vale caro, carro, carrro

Para validar un numero de telefono:


function ValidaTelef(string_numero)
{
/*creo la expresion regular y se la asigno a una variable
aceptará numeros como: 83294325,88173764,8... */

var filter = /^[8]{1}[1-9]{2}[0-9]{5}$/;

/*llamo a la funcion test pasandole la cadena numero
Devuelve true si el numero coincide y false en caso contrario*/

return filter.test(string_numero);
}

lunes, 16 de marzo de 2009

Cancelar tecla ENTER de un formulario mediante j avascript y jQuery

A veces se tiene la necesidad de anular la tecla Enter de un formulario para evitar el submit.Para eso bien podría hacerse usando sólo javascript, sin embargo, en este ejemplo usaré la librería jQuery. Aquí explican que es jQuery y lo pueden descargar en su versión más reciente desde su página.
Para no mezclar el codigo HTML con javascript en unmismo documento, el codigo javacript lo hare otro aparte, al cual llamaré funciones.js y junto a este colocaré la libreria jQuery.

Código en funciones.js :


var x;
x=$(document);
x.ready(AnularEnter);

function AnularEnter()
{
var x;
x=$("#form1");
x.keypress(function(e){if(e == 13){return false;}});

/*para los textboxes*/
$("input[type=text]").keypress(function(e){
if(e.which == 13){ return false; } });

/*para los radio*/
$("input[type=radio]").keypress(function(e){
if(e.which == 13){ return false; } });

/*para los checkboxes*/
$("input[type=checkbox]").keypress(function(e){
if(e.which == 13){ return false; } });

}


Explicación

La librería jQuery nos facilita la vida al momento de escribir codigo, en el ejemplo anterior, en la línea:
x=$("#form1");
se obtiene al formulario mediante su Id, el cual en el ejemplo es form1.En javascript puro seria:
x= getElementById('form1');
Es decir, para seleccionar un elemento del DOM se usa la función $
Para seleccionar mediante el Id del elemento:
$("#elId");
Aunque en el ejemplo no se muestre, también se puede seleccionar mediante su clase:
$(".laClass");
Notar las diferencias: #(almohadilla) para Id y .(punto) para class.
Volviendo al ejemplo, tambien puedo seleccionar un elemento del DOM mediante su tipo:
$("input[type=text]");


Como se ve en el ejemplo anterior, se seleccionan todos los textbox, todos los radiobuttons y todos los checkboxes.

El numero 13 corresponde a la tecla Enter, asi que en:

$("input[type=text]").keypress(function(e){
if(e.which == 13){ return false; } });

le digo que si esta en un textbox y presiona(evento keypress) la tecla Enter, retorne un valor false, de esa forma la tecla Enter queda anulada y no se produce el submit.
De la misma forma funciona para los demás controles.
Notar que le paso como argumento e, e contiene las características del evento; es decir, tiene la información necesaria para ese evento.

También podemos prescindir de jquery y usar solo javascript,en este caso el evento sería onkeypress:


<html>
<head><title>Test-Submit</title>
<script type="text/javascript">
function CancelSubmit(e)
{
var keynum
if(window.event) // IE
{
keynum = e.keyCode
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which
}
return (keynum != 13);
}
</script>
</head>
<body>
<h1>CANCELAR SUBMIT</h1>
<form method="post" action="Test-Submit.html">
<input type="text" onkeypress="return CancelSubmit(event)" />
</form>
</body>
</html>