Jugando con YAXT: Instalando TweetDeck en Ubuntu 9.04 Netbook Remix

Posted by neosergio on 26th June 2009 in Debian GNU/Linux, Ubuntu GNU/Linux, twitter

Este es YAXT, y esta vez me anime a probar TweetDeck en el.

TweetDeck es una aplicación de Adobe Air para Twitter, usa la API de Twitter para poder enviar y recibir tweets (un tweet es un micro post en Twitter de 140 caracteres como máximo), ver perfiles, y además tiene algunas otras herramientas interesantes, como la facilidad de postear fotos por twitpic, acortar urls, tweetshrink para acortar tweets que excedan los 140 caracteres, búsquedas en twitter, Twitscoops para el tag cloud, hasta puede servir para estar pendiente de las actualizaciones de tus amigos en Facebook, entre otras.

La instalación es muy sencilla, primero se debe tener instalado Adobe Air para que funcione, el paquete de instalación para Gnu/Linux se puede descargar desde esta dirección:

http://airdownload.adobe.com/air/lin/download/latest/AdobeAIRInstaller.bin

Luego de descargar el archivo .bin se debe dar los permisos necesarios para su ejecución mediante:

sudo chmod +x AdobeAIRInstaller.bin

Y por ultimo ejecutarlo

sudo ./AdobeAIRInstaller.bin

Seguir los pasos, que muestra la interfaz gráfica y listo tenemos Adobe AIR instalado, ahora el turno de TweetDeck.

Primero lo descargamos desde aqui (por cierto debe cambiar su interfaz de descarga basada en flash, no es usable, me he pasado varios minutos buscando el instalador, porque no buscar algo simple y funcional, una porquería de interfaz :/)

http://downloads.tweetdeck.com/TweetDeck_0_26.air (Versión 0.26)

Luego de descargarlo, ejecutarlo como cualquier archivo, (ya que Adobe AIR esta instalado, no habrá problemas con esto), seguir los pasos de instalación y listo TweetDeck instalado.

Es bastante útil, y es otra forma (de las muchas existentes) de enviciarse con Twitter.

Por cierto, este modo de instalación puede funcionar para varias distribuciones GNU/Linux.

Happy Tweets :)

Jugando con YAXT: Instalando LAMP en Ubuntu 9.04 Netbook Remix

Posted by neosergio on 18th May 2009 in FLOSS, Ubuntu GNU/Linux, php

Este es YAXT, y este post describe una de las tantas formas de tener LAMP en Ubuntu 9.04 Netbook Remix.

En esta oportunidad decidí usar la manera visual, entonces los pasos fueron los siguientes:

1. Ubicar la sección de administración y elegir el Gestor de Paquetes Synaptic

2. Una vez abierto Synaptic, buscar el menú Editar y la opción Marcar paquetes por tarea.

3. Al abrirse la ventana de paquetes por tarea, solo se debe activar la opción: LAMP server y aceptar.

4. Luego aparecerá otra ventana donde informara de los cambios requeridos, se debe marcar estos cambios.

5. Y por ultimo una ventana mas de resumen con todos los cambios a realizarse, se aplica.

6. It works!!!

Si se desea probar un script en PHP, se debe reiniciar apache2

sergio@yaxt:~$ sudo /etc/init.d/apache2 restart

Un phpinfo() da esto como resultado.

Happy LAMPing :P

Y este es… YAXT

Posted by neosergio on 12th May 2009 in personal

Hace 10 días, decidí de una vez por todas romper la alcancía y comprarme una netbook, ya había leído mucho sobre ellas, en revistas, posts, tweets, entre otras formas de publicación y me causaba una gran curiosidad poder probar todas las ventajas que se dicen sobre ellas.

De toda la diversidad de marcas, modelos, colores y demás, decidí por la marca de tuxknight (mi laptop), ACER, laptop que hasta ahora sigue viva después del maltrato al cual ha sido sometida, viajando a todo sitio, yendo de un lado a otro, viajando a muchas ciudades, funcionando en diversas condiciones, resultado de todo eso es que ahora luce despintada en algunas partes y tiene una franja verde muy rara en la mitad del display (según gnrfan es el display, juanpe opina que hay que meterla a rehabilitación porque se ha vuelto pastrula, yo digo que mejor la dejare así y esperare a que se convierta como Bruce Banner).

En fin al comprobar de primera mano que las Acer son machazas (como dirian por mi tierra), sinónimo de que aguantan mucho maltrato y siguen funcionando bien, decidí comprarme la netbook Acer Aspire One AOA 150 - 1049 con estas características.

Vino con un S.O que no quiero, y a pesar de que le dije al vendedor que me venda sin S.O, el me dijo que eso tenia que conversarlo con la misma empresa y que quizás seria un proceso muy largo, al final decidí llevármelo así, y de una vez saciar mi curiosidad, yo me encargue luego de ponerlo como quería.

Después de leer mucha información sobre distros ideales para este tipo de netbooks me decidí por Ubuntu 9.04 Netbook Remix, (previamente probe linpus :S, me reservo los comentarios), y luego de algunos ajustes, YAXT (el nombre que escogí para la netbook) ha quedado así:

Y este el escritorio:

Hasta el momento va muy bien, asi que conozcan a YAXT el nuevo miembro y de seguro protagonista de futuros post :)

Tip: Algo mas sobre capturas de pantallas con Gnome

Posted by neosergio on 11th May 2009 in Gnome

El caso:

Deseo hacer capturas de pantallas de Gnome (para ponerlas en un manual, documentación, diapositiva, o en un post) de manera tal que muestre un menú en particular, incluyendo el pequeño mensaje de ayuda emergente (si ese mensaje de color amarillo, que describe algo en particular).

Solución no exitosa:

Presionar la tecla Imprimir Pantalla (PrtSc o Imp Pant)

o

Esta acción probablemente no producirá resultado alguno, es mas no aparecerá la ventana para guardar capturas de pantallas.

Solución Exitosa

En vez de usar las teclas para imprimir pantalla, mejor es llamar a la aplicación desde una terminal, pero indicándole un retraso de algunos segundos, ejm:

sergio@tuxknight:~$ gnome-panel-screenshot - -delay=10

Esto te dará 10 segundos en los cuales podrás ubicar el menú, desplegarlo y ubicar el puntero del mouse para que aparezca la ayuda descriptiva emergente, ejm:

Happy screenshotting :)

update: esta solo es una de las muchas soluciones posibles, a mi me gusto esta.

11001

Posted by neosergio on 6th May 2009 in personal

Pues tendría mucho material para escribir sobre ayer, de lo que pensé que iba a ser un día rutinario de trabajo, pues hubieron sorpresas agradables, saludos desde muy temprano, regalos inesperados de alumnos y amigos, saludos de familiares, amigos, colegas; saludos por email, facebook, twitter; un buen almuerzo, una sorpresiva torta muy peculiar, una visita inesperada de un amigo que no veía hace mucho tiempo, una buena cena con la familia.

En resumen fue un día para nada rutinario, la pase super bien, este post es un agradecimiento a todos los que contribuyeron para que sea un día chevere.

Fueron felices 11001 años, :D

Actualizar o reinstalar? Ubuntu 9.04 Jaunty Jackalope

Posted by neosergio on 27th April 2009 in FLOSS, Ubuntu GNU/Linux

Este será un post corto, y la respuesta directa: REINSTALAR.

Uso Ubuntu Gnu/Linux para tuxknight (mi portátil), por el hecho de que no me toma tiempo hacer funcionar las cosas, a comparación de otras distribuciones. He usado Ubuntu en mi portátil desde que la tengo, hace aproximadamente 2 años y siempre que aparecía un versión estable (cada abril y octubre de cada año), actualizaba usando el gestor de actualizaciones y siempre que lo he hecho, siempre me ha dado problemas.

A pesar de estas malas experiencias con actualizaciones, quise darle una oportunidad más a esta forma de actualización en vez de reinstalar, lamentablemente en esta oportunidad tampoco me fue bien:

  • El consumo de energía es deficiente.
  • Existen procesos innecesarios ejecutándose y consumiendo mucha capacidad de procesamiento.
  • El comportamiento de la tarjeta de vídeo es espantoso.
  • El indicador del nivel de energía de la batería, muestra datos erróneos.

Estas son algunas de las acciones horribles causadas por una actualización gestionada ineficazmente, por lo tanto como veredicto definitivo, mejor REINSTALAR en vez de ACTUALIZAR.

No volveré a usar la actualización de versiones de la distribución con el gestor de actualizaciones, hasta que este muy comprobado que se volvió eficiente.

Eso es todo, por este post, iré publicando como me fue con Jaunty reinstalado.

Happy reinstalling :)

Pidgin + cuenta de Google Apps

Posted by neosergio on 30th January 2009 in FLOSS, personal, pidgin

Actualmente varias organizaciones, asociaciones y empresas están usando Google Apps en sus dominios para ahorrarse ciertos dolores de cabeza y para hacerse la vida mas placentera, dejándole a terceros (en este caso Google) la gestión de servicios como correo electrónico, intercambio de documentos, calendarios, servicio de mensajería instantánea e incluso hacer simples paginas web.

Por cierto, yo también soy miembro de algunas de esas organizaciones, y me vi en la necesidad de usar Pidgin para tener mis cuentas de google apps activadas junto con mis demás cuentas de mensajería instantánea, mas que todo por orden.

Esta simple, pero muy útil acción ha mantenido organizado aun mis cuentas de mensajería instantánea, pero no todos han tenido éxito configurando Pidgin con cuentas de google apps (por ejemplo @gsusx y @aAnuVizZ)

Entonces para evitarme la fatiga de escribir los parámetros, mejor les paso una imagen de la actual configuración de mis cuentas.

cuentas con google apps

cuentas con google apps

detalles de configuración

detalles de configuración

detalles de configuración

detalles de configuración

detalles de configuración

detalles de configuración

Eso es todo, se conecta con una cuenta de google apps, y tambien se guardan las conversaciones en nuestra seccion chats de Gmail.

Happy chatting :P

Nota: La version de Pidgin que uso actualmente (por si existe la curiosidad) es la 2.5.2

Ejercicio PHP: Autenticación de usuarios con sesiones en PHP y MySQL

Posted by neosergio on 27th January 2009 in FLOSS, php

Este es un ejemplo simple de autenticación de usuarios usando sesiones en PHP y consultando a una base de datos en MySQL. Voy a evitar pegar demasiado código en el post y me limitare a colocar enlaces hacia otra ubicación donde sea mas inteligible el mismo. (Solo pondré las partes esenciales en el post, el resto de código está en los enlaces)

En primer lugar, algunos datos necesarios:

  • Servidor: localhost
  • Usuario: usuario_mysql
  • Password: clave_mysql
  • Nombre de la base de datos: ejemplos

Luego el esquema simple de la tabla usuarios, que almacenara el nombre del usuario y la clave.

La manera mas práctica de organizar funciones en PHP es ubicarlas en un solo archivo, en este caso lo denominare funciones.php y este es su contenido. Este archivo posee funciones que permiten conectarse a la base de datos, consultar la existencia de un registro en la misma y verificar si la sesión fue iniciada con el nombre de usuario, cada vez que se desee utilizar solo bastaría poner include(’funciones.php’) para incluirlo en cualquier script PHP.

Una vez que tenemos las funciones creadas, ya podemos empezar con el formulario de entrada (index.php), lo importante es que contenga algo tan simple como esto:

<form method=’POST’ action=’index2.php’>
Usuario <input type=’text’ name=’usuario’/><br/>
Password <input type=’password’ name=’clave’><br/>
<input type=’submit’ value=’Ingresar’/><br/>
</form>

Este formulario enviara dos valores (usuario y clave) hacia el archivo index2.php, este archivo recogerá los datos enviados y los usará en la función conexiones(), si el usuario existe se iniciará la sesión e ingresará a las páginas permitidas para el usuario (ingreso.php, sistema.php), si no existe volverá al formulario de ingreso.

<?php
include (’funciones.php’);
//usuario y clave pasados por el formulario
$usuario = $_POST['usuario'];
$clave = $_POST['clave'];
//usa la funcion conexiones() que se ubica dentro de funciones.php
if (conexiones($usuario, $clave)){
header(’Location:ingreso.php’);
} else {
header(’Location: index.php’);
}
?>

Ingreso.php y todas las páginas que se desean mantener disponibles solo a usuarios registrados deberán tener la forma de:

<?php
include (’funciones.php’);

if (verificar_usuario()){
//aqui debe venir todo el contenido necesario que solo el usuario validado puede acceder
print “Desconectarse <a href=’salir.php’/>aqui</a>”;
} else {
header(’Location:index.php’);
}
?>

Donde se usa la función verificar_usuario(), para permitir el acceso si es que el nombre del usuario fue configurado en una sesión, si la función devuelve un valor falso, retornara al formulario de entrada. Es necesario que todas las paginas posean parte de este código, así se evitará que un intruso pueda poner la url de una pagina interna y esta sea visible o accesible sin haber verificado al usuario.

Para salir del sistema y borrar la sesión se usa el archivo salir.php, este archivo contiene instrucciones para destruir la sesión y volver al formulario de ingreso, también esta validado solamente para usuarios verificados:

<?php
include (’funciones.php’);
if (verificar_usuario()){
session_unset();
session_destroy();
header (’Location:index.php’);
} else {
header (’Location:index.php’);
}
?>

Lo que no se debe olvidar al agregar mas paginas al sitio es incluir el archivo de funciones.php y usar la función verificar_usuario() para poder elegir entre el contenido al que debe acceder el usuario validado y el contenido para el visitante (usuario no validado).

Este ha sido un ejemplo simple de uso de sesiones en PHP, consultando a una base de datos en MySQL, existen muchas formas de lograr esto y obviamente mejorarlo, este es solo un ejercicio, útil para comprender el uso de sesiones.

Happy PHP Coding :)

CAOS (Comunidad Activista Open Source) - Noviembre 2008

Posted by neosergio on 9th December 2008 in activismo, personal

Actualizacion 21 - Abril - 2009: Deje de formar parte de esta comunidad, por diferencias irreconciliables con su fundador.

CAOS son las siglas de Comunidad Activista Open Source, comunidad que increíblemente tiene aproximadamente 6 años de fundada, y que ha tenido muchas etapas (excelentes, buenas, malas y pésimas); su nacimiento se remonta al año 2002 aproximadamente por el mes de agosto (el fundador no recuerda la fecha exacta, ya que no tiene muy buena memoria para almacenar esa información).  Por sus filas han pasado muchas personas, algunas se quedaron hasta ahora y otras simplemente decidieron partir (a las cuales agradecemos por su tiempo y esfuerzo invertido), quedando por el momento solamente 5 personas.

El trabajo de CAOS ha abarcado ciudades como: Huánuco, Satipo, Tarma, Jauja, Huancavelica, y su ciudad de origen: Huancayo, así como también hemos participado en eventos en otras ciudades que no pertenecen a la sierra central de nuestro país, como Arequipa, Tumbes y Lima.

CAOS hace activismo con Software Libre y Software de Código Abierto, participa en eventos con ponencias y talleres, sus miembros colaboran y pertenecen (en algunos casos) a proyectos, organizaciones, asociaciones y empresas como: FreeBSD, Gnome, OpenOffice.org, Sun Microsystems, APESOL, Conectiva Perú, Ejercito Peruano, Instituto Continental, entre otras.

Hace unos meses atrás, hemos incluido a un novel y talentoso activista a CAOS: Luciano Palomino aka gsusx, quien esta sobresaliendo como programador en python y esta participando activamente en un proyecto de desarrollo de software con el Ejercito Peruano, y muy pronto dará sorpresas participando en otro gran proyecto de software libre.

He decidido escribir un post cada mes, para dar a conocer cuales son nuestras actividades, a veces un poco de publicidad es necesaria.

Noviembre 2008:

- Luciano y Yo, estuvimos presentes en el Barcamp Lima 2008, en el cual hable un poco sobre Office 2.0, las diapositivas pueden encontrarla aquí, las fotos acá. Luciano no pudo hablar por falta de tiempo.

- Participamos en CONACIS 2008, evento organizado por el Instituto Superior Tecnológico Publico de Huancavelica. Luciano participo con una ponencia sobre Ubuntu (ponencia que sorpresivamente le trajo una fan enamorada :P), yo hable sobre OpenOffice.org 3.0. En este evento también estuvieron presentes Nestor Sertzen, Alfonso de la Guarda y Pedro Muñoz. Las fotos aqui.

- Nos encargamos de la instalación de Ubuntu GNU/Linux (sin Wubi, ni maquina virtual) en un laboratorio de 40 PCs (laboratorio A del Instituto Continental), laboratorio orientado a la enseñanza de Ubuntu GNU/Linux y Python para los alumnos de primer semestre de la carrera de Computación e Informática. (no habia camara fotografica, solo un celular que tomo unas fotos muy borrosas :().

Esas fueron las actividades de noviembre, en diciembre ya empezamos con buen pie, pero obviamente eso se enteraran en un nuevo post.

Comunidad Activista Open Source

Happy Sharing :)

Ejercicio PHP: Grupos aleatorios de alumnos.

Posted by neosergio on 26th November 2008 in FLOSS, php

Pensemos en el siguiente caso:

Una sección tiene 29 alumnos, los cuales se clasifican en tres grupos: programadores, diseñadores gráficos y alumnos con experiencia en networking, se desea formar grupos multidisciplinarios, que deben estar formados por un alumno de cada categoría, y debe ser formado aleatóriamente.

Lo primero que podría venir a la mente es tener 10 grupos, 9 con tres miembros de cada categoría y 1 de dos miembros que no tendrían roles específicos, pero aquí surge un inconveniente, las categorías no tienen el mismo numero de alumnos, son 8 programadores, 16 diseñadores gráficos y 5 que se dedicaran a networking, tal como se puede ver en estos archivos de texto respectivamente: programacion, diseno y networking.

Una solución a este caso podría ser la siguiente:

Revisar cuantos grupos como máximo, tendrán miembros multidisciplinarios, en este caso seria de acuerdo a la categoría que tiene menos integrantes. Luego de acuerdo al numero máximo de grupos que tendrán sus miembros completos, sacar aleatóriamente miembros de cada categoría hasta completar los grupos que si tendrán roles específicos.

Al resto que no están incluidos en los grupos con roles específicos, se les debe tratar por igual, formando así grupos sin roles específicos, teniendo como grupo final a uno conformado por dos alumnos.

Por lo tanto, plasmando la solución a este caso, tendríamos 5 grupos con roles definidos, 4 grupos sin roles definidos y 1 grupo de dos miembros, también sin roles definidos.

Un script de la solución planteada es el siguiente:

<?php
//fuente de datos, lista de alumnos que estan en la particion /home
$grupo_1 = file(”programacion”);
$grupo_2 = file(”diseno”);
$grupo_3 = file(”networking”);

//cantidad de elementos
$num_grupo_1 = count($grupo_1); $num_grupo_2 = count($grupo_2);
$num_grupo_3 = count($grupo_3);
$total_alumnos = $num_grupo_1+$num_grupo_2+$num_grupo_3;

//impresion de listas iniciales y la cantidad de sus elementos
print “Listas Iniciales - $total_alumnos alumnos<table border=’1′>”;
print “<tr><th>Programacion - $num_grupo_1 alumnos</th></tr>”;
foreach ($grupo_1 as $valor){ print “<tr><td>$valor</td></tr>”; }
print “<tr><th>Diseno - $num_grupo_2 alumnos</th></tr>”;
foreach ($grupo_2 as $valor){ print “<tr><td>$valor</td></tr>”; }
print “<tr><th>Networking - $num_grupo_3 alumnos</th></tr>”;
foreach ($grupo_3 as $valor){ print “<tr><td>$valor</td></tr>”; }
print “</table>”;

//define el numero de grupos disponibles
$numero_grupos = $num_grupo_1;
if ($numero_grupos>=$num_grupo_2){ $numero_grupos = $num_grupo_2; }
if ($numero_grupos >= $num_grupo_3){ $numero_grupos = $num_grupo_3; }
print “El numero de grupos con integrantes con roles exactos es $numero_grupos<br/>”;

//tablas ordenadas aleatoriamente con integrantes exactos
print “Grupos ordenados aleatoriamente, los integrantes tienen un rol especifico”;
print “<table border=’1′>”;
print “<tr><th>#</th><th>Programacion</th><th>Diseno</th><th>Networking</th></tr>”;
$numero = $numero_grupos;
for ($i=$numero; $i>0; $i–){
$elemento = $numero-$i+1;
print “<tr>”;
print “<td>$elemento</td>”;
$claves_a = array_rand($grupo_1); print “<td>$grupo_1[$claves_a]</td>”; unset ($grupo_1[$claves_a]);
$claves_b = array_rand($grupo_2); print “<td>$grupo_2[$claves_b]</td>”; unset ($grupo_2[$claves_b]);
$claves_c = array_rand($grupo_3); print “<td>$grupo_3[$claves_c]</td>”; unset ($grupo_3[$claves_c]);
print “</tr>”;
}
print “</table>”;
//almacenamiento de los restantes en un nuevo arreglo
$restantes = array();
foreach ($grupo_1 as $valor){ $restantes[]=$valor; }
foreach ($grupo_2 as $valor){ $restantes[]=$valor; }
foreach ($grupo_3 as $valor){ $restantes[]=$valor; }

//impresion de grupos de alumnos restantes
print “Grupos ordenados aleatoriamente, no tienen roles especificos”;
print “<table border=’1′><tr>”;
$contador_cada_3 = 0; $num_grupo_r = count($restantes);
$numero_grupos++;
print “<td>$numero_grupos</td>”;
for ($i=$num_grupo_r; $i>0 ; $i–){
$claves_r = array_rand($restantes);
print “<td>$restantes[$claves_r]</td>”; unset ($restantes[$claves_r]);
++$contador_cada_3;
//$restantes debe tener elementos y se agrupan cada 4 alumnos.
if ($contador_cada_3==3 && count($restantes)){
$contador_cada_3 = 0;
print “</tr><tr>”; $numero_grupos++; print ‘<td>’.$numero_grupos.’</td>’;
}
}
print “</tr></table>”;

?>

Por la rapidez con que desarrollé el script (menos de 30 min) he omitido algunos detalles, que podrían hacer al resultado mas vistoso y ordenado. Me he enfocado en el resultado y en el buen funcionamiento del script.

Aquí esta el resultado

Espero haber sido explicativo con los comentarios en el código del programa en PHP, si existe alguna parte que no se entiende, coméntenla y con gusto les explicaré lo que hice. Por otro lado también pueden contribuir a mejorar la solución, todo proceso o solución se puede mejorar.

happy PHP coding :)

Virtual Host - Apache 2 + Ubuntu o Debian

Posted by neosergio on 23rd November 2008 in Debian GNU/Linux, FLOSS, Ubuntu GNU/Linux

Virtual Host (ingles) es la expresión con la que comúnmente se le conoce al Hosting Virtual (español), consiste en hacer funcionar más de un sitio web en una misma máquina física y con nombres diferentes. En este enlace pueden encontrar mayor documentación al respecto.

Bueno lo primero que se necesita para tener un hosting virtual, es obviamente un servidor web, en este caso yo trabajo con Apache Web Server, cuya instalación en Ubuntu o Debian es muy sencilla, así como también la instalación de los módulos necesarios para que el servidor haga lo que su administrador desee. La documentación oficial de Ubuntu, sobre Apache Web Server, la pueden encontrar aquí, o una simple búsqueda en google nos puede ayudar también.

Instalado el servidor, ya podemos configurar un hosting virtual, a continuación voy a describir una serie de pasos para configurar un hosting virtual en una maquina local, el nombre por defecto de nuestro servidor es localhost (recontra conocido), voy a crear un virtual host con el nombre “sergio”, la manera más sencilla podría ser la siguiente:

Abrir un CLI, o un emulador de terminal como gnome-terminal o cualquier otro.

Dirigirse hacia la carpeta donde están los archivos de configuración de Apache2 y ubicar la carpeta sites-available:

sergio@optimux:~$ cd /etc/apache2/sites-available/

Sacar una copia del archivo default y nombrarla nuevamente con el nombre que deseamos usar en vez de localhost, en este caso renombraré la copia como sergio (se puede usar sudo o la cuenta de root):

sergio@optimux:/etc/apache2/sites-available$ sudo cp default sergio

Abrir para su edición, el archivo renombrado (en este caso sergio) con el editor de texto de preferencia:

sergio@optimux:/etc/apache2/sites-available$ sudo vim sergio

Cambiar las siguientes líneas, agregar las que no se encuentren, dejar el resto de líneas intactas, guardar y cerrar. (Yo he creado una carpeta en /home/sergio con el nombre www):

<VirtualHost *:80>
ServerAdmin webmaster@sergio
ServerName sergio

DocumentRoot /home/sergio/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/sergio/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
…(aqui vienen mas lineas, dejarlas como tal)

Luego se debe llamar al script a2ensite + nombre del host virtual, esta acción permitirá habilitar un host virtual en apache:

sergio@optimux:/etc/apache2/sites-available$ sudo a2ensite sergio

Luego se debe editar el archivo hosts para que cada vez que usemos el nombre del hosting virtual nos redirija hacia su ubicación local correcta:

sergio@optimux:~$ sudo vim /etc/hosts

y agregar las siguientes linea:

#hosting virtual sergio
127.0.0.1    sergio

Por último se debe reiniciar el servicio web de Apache.

sergio@optimux:~$ sudo /etc/init.d/apache2 restart

Listo, ya esta configurado el hosting virtual “sergio”, la forma de acceder es muy sencilla, ahora en vez de escribir en mi navegador web favorito: http://localhost, escribiré http://sergio y me direccionará hacia /home/sergio/www donde puedo ya ubicar mis archivos que estarán disponibles en el sitio web con el nuevo nombre.

Happy hacking :)

Actualización:

En Debian Gnu/Linux se debe tener en cuenta una línea en particular en la configuración del virtual host. Esta línea es: (se encuentra a la mitad del archivo aproximádamente)

#RedirectMatch ^/$ /apache2-default/

Lo que indica esta línea es que se redireccionará a una sub-carpeta llamada /apache2-default/, dentro del directorio principal del virtual host, para que esto no genere errores, esta línea podría comentarse con un #, de tal manera que al momento de llamar al virtualhost sergio (por ejemplo) no redireccione a sergio/apache2-default

OpenOffice.org vs OpenOffice

Posted by neosergio on 21st November 2008 in FLOSS, OpenOffice.org

En incontables ocasiones he observado que se confunde el nombre de la suite de productividad libre y abierta “favorita de todos”: OpenOffice.org (bueno sino es la favorita de todos, por lo menos será la favorita de unos cuantos :P).

La confusión se da porque algunas personas, usan variantes del nombre OpenOffice.org (el nombre correcto) y lo denominan como OpenOffice solamente o incluso Open Office (por separado), por ejemplo: ayer he estado en un evento en Huancavelica, en el cual, este error se ha cometido, en toda la publicidad que estuvo circulando.

Si bien es cierto por la facilidad de pronunciación y la costumbre, muchas personas lo denominan solamente como OpenOffice (que puede permitirse, mientras que su uso sea informal), esta denominación NO debe ser extendida hacia los manuales, materiales impresos, tutoriales, publicidad, ponencias, diapositivas, entre otros materiales de difusión, el motivo principal es para evitar confusiones en las personas que empiezan a conocer OpenOffice.org.

Este error lleva a la gente a confundir fácilmente: openoffice.org con openoffice.com, y en mi país podría llevar a confundir entre openoffice.org.pe con openoffice.com.pe; confusiones que podrían generar malestar y desgano a la gente novel en OpenOffice.org.

Si es que tu (que lees este post) cometes este “pequeño” error, no te sientas mal, muchas personas lo hacen, lo importante es que te des cuenta del error y lo corrijas, y adicionalmente difunde su nombre correcto.

Correcto OOo

Y si por ahi, aun queda duda, echenle un vistazo a este enlace.

:)

Hola mundo! (otra vez)

Posted by neosergio on 14th November 2008 in personal

Esta es la tercera o cuarta vez, que vuelvo a empezar mi blog (Back to the geek world) desde cero, esta vez fue por un cambio de proveedor de hosting, cambio que me alegro de haber hecho, el servicio de mi proveedor antiguo se puede resumir en una sola palabra “BASURA”.

Esta vez me he auto-impuesto un castigo, repetir mil veces “Nunca mas volvere a empezar mi blog desde cero”, y miren si lo cumpli :)

<?php
for ($num=1; $num<=1000; $num++){
echo "$num - Nunca mas volvere a empezar mi blog desde cero.</br>";
}
?>

Este es el resultado de mi castigo.

Bueno, nuevamente HOLA MUNDO!!!.