Archivo de la etiqueta: Programas

Videotutorial de VCS

Hice un pequeño videotutorial que explica cómo configurar un entorno para utilizar un sistema de control de versiones con Software Libre para la Comunidad de Software Libre del ITCR. Les recomiendo que lo vean directamente en Vimeo, donde está en resolución 1440×900, si no tienen buena conexión apaguen el HD.

Se utiliza Subversion, Eclipse Galileo y Subclipse.

Espero que les guste!

Etiquetado , , , , , ,

Instalación de MoinMoin tipo granja en Debian Lenny como WSGI

Esta es una bitácora de la instalación de MoinMoin en mi servidor Debian Lenny. Primero que nada, tengo configurado mi APT con APT-Pinning para poder instalar paquetes del Testing sin hacer el upgrade, cómo hacer esto está fuera del objetivo de este artículo, tal vez luego escriba sobre eso.

También, asumimos que tenemos Apache2 instalado y Python (en mi caso ambos son del repositorio estable, Python 2.5.2).

En este caso instalaremos el MoinMoin del testing (1.9.1-1) porque la del estable es muy vieja (1.7.1). Además, instalaremos MoinMoin como WSGI. Escribo este artículo por la falta de documentación simple para este entorno, pues tuve que tomar elementos de muchas documentaciones.

Primer lo que necesitamos es instalar MoinMoin (como root):

aptitude install python-moinmoin/testing

El /testing es por el APT-Pinning. Es importante usar aptitude aquí porque este puede resolver los upgrades de las dependencias acorde al repositorio de testing.

Una vez terminado, verificamos que tenemos el mod de Apache WSGI:

aptitude install libapache2-mod-wsgi

Ahora, creamos la instancia de MoinMoin:

mkdir -p /var/www/moin/nombrewiki1

mkdir -p /var/lib/moin/nombrewiki1

Llenamos los archivos de la instancia:

cp -r /usr/share/moin/server/moin.wsgi /var/www/moin/nombrewiki1
cp -r /usr/share/moin/data /usr/share/moin/underlay /var/lib/moin/nombrewiki1

Asignamos los permisos adecuados:

chown -R www-data: /var/www/nombrewiki1 /var/lib/nombrewiki1

Listo, con eso tenemos los archivos de la primera instancia en el lugar correcto. Ahora necesitamos configurar a la granja:

Agregamos nuestro sitio al archivos de sitios:

nano /etc/moin/farmconfig.py

Buscamos la sección:

wikis = [

Y agregamos una línea con nuestra wiki, en mi caso, dado que no quiero crear una regla en el DNS estoy poniendo esta regla, dado mi dominio cjenkins.net :

(“nombrewiki1″, r”^http://www.cjenkins.net/nombrewiki1/.*$”),

En dicho archivo aparecen otros ejemplos si quieren correrlo como un subdominio. En todo caso, lo más importante ahora es crear un archivo de configuración de la instancia:

cp /etc/moin/mywiki.py /etc/moin/nombrewiki1.py

Es muy importante que el archivo de configuración del sitio tenga el nombre que hemos puesto desde el inicio a la instancia y debe ser uniforme en todo lugar. El archivo mywiki.py es un template. Editamos el archivo de configuración de la instancia:

nano /etc/moin/nombrewiki1.py

Y lo adaptamos, por lo menos, para que contenga estas reglas:

sitename = u’Nombre legible del sitio’ # [Unicode]
interwikiname = u’NombreWiki1′ # [Unicode]
data_dir = ‘/var/lib/moin/nombrewiki1/data/’
data_underlay_dir = ‘/var/lib/moin/nombrewiki1/underlay’
superuser = [u”nombresuperusuario”, ]

Una vez listo la instancia configuramos el apache. De nuevo, pueden hacerlo un subdominio agregando un <virtualhost> en la carpeta de sites-avalaible, en mi caso, deseo agregarlo al sitio ya establecido:

Editamos el archivo del sitio actual/principal del apache:

nano /etc/apache2/sites-available/root # En mi caso, normalmente es default o algo por el estilo

Y agregamos estas cláusulas entre los tags de <virtualhost>. Está fuera alcance de este artículo explicar los archivos de configuración de Apache.

# Moinmoin settings
Alias /moin_static191/applets/FCKeditor/ “/usr/share/fckeditor/”
Alias /moin_static191/ “/usr/share/moin/htdocs/”
WSGIScriptAlias /
nombrewiki1 /var/www/moin/nombrewiki1/moin.wsgi

Guardamos y recargamos el servidor Apache:

invoke-rc.d apache2 reload

Listo, ahora en http://www.dominio.com/nombrewiki1/ está disponible la instancia del Wiki. Pueden configurarlo en:

http://www.dominio.com/nombrewiki1/LanguageSetup

Basado en el super usuario que definieron en el archivo de configuración de la instancia.

Etiquetado , , , ,

ShellEd plugin para Eclipse

Hay veces en que tenemos que crear shell scripts para realizar distintas tareas en nuestros proyectos en Eclipse. Yo los suelo utilizar mucho para automatizar tareas o muchas muchas cosas. Normalmente editaba estos archivos de forma externa con gedit hasta que encontré ShellEd:

http://sourceforge.net/projects/shelled/

ShellEd es un excelente editor de shell scripts para Eclipse. Ofrece no sólo resaltado de sintaxis, pero además ofrece integración de manuales de los comandos (man pages) con el asistente de contenido. Es decir, permite que al presionar Ctrl+Espacio sobre un comando pueda visualizar la información del mismo. Puede ver un screenshot del ShellEd funcionando sobre Eclipse Galileo:

ShellEd

Para instalar ShellEd deben descargarse el archivador desde la página oficial (shelled_1_0_4.zip), luego:

  1. Salir de Eclipse.
  2. Extraer el archivo shelled_1_0_4.zip .
  3. Al extraer el archivo se crearán dos carpetas: features/ y plugins/
  4. Copiar todos los archivos de la carpeta plugins/ en la carpeta dropins/ del directorio de instalación de Galileo.
  5. Iniciar Eclipse.

Espero les guste! Saludos!

Etiquetado , , , , , ,

Servidor WAMP Portable

Un poco de historia

Esto es raro, yo escribiendo cosas relacionadas con Windows. Cómo llegué a esto:

Este semestre estoy llevando el curso de Bases de datos y estoy trabajando en un proyecto de investigación donde estamos extendiendo y adaptando Elgg, eso es, trabajando en un LAMP (Linux, Apache, MySQL y PHP). Antes de mudarme al nuevo apartamento tenía una conexión a internet con IP pública y yo era el administrador del router. Por lo que usaba mi computadora como servidor LAMP y accedía a ella desde cualquier lado. Es decir, podía desarrollar desde cualquier lado.

Cuales son las limitantes? Bueno, son varias. Primero, en el nuevo apartamento por fin tengo internet, pero no soy administrador del router, por lo que mi computadora no está en la zona desmilitarizada (DMZ) o los puertos necesarios no están redireccionados a mi computadora por lo que por ahora no puedo usar mi desktop como servidor. Segundo, paso gran parte de mi tiempo en el Tecnológico, por lo que necesito poder programar en cualquier computadora. Tercero, todo lo que programe para bases de datos debe correr en los laboratorios.

La primera solución es utilizar las facilidades de los laboratorios, pero aunque los laboratorios cuentan con facilidades de bases de datos y PHP en la cuenta de GNU/Linux, hay que pedir una base de datos en la oficina de TI, rellenar un formulario, etc. Esta opción me daba pereza, por varias razones:

  • La información se podría quedar en mi cuenta de IC, y el desarrollo en mi casa tendría que hacerlo por SSH y me gustan las cosas con una linda interfaz gráfica. Pero bueno, se puede, el problema es cuando me iba a reuniones con el equipo de trabajo, necesitaba llevar los archivos en mi llave, porque a veces vamos a lugares sin internet, pero sin Apache, PHP o MySQL no sirven de nada. Pude instalar un WAMP en la laptop de trabajo que siempre llevan, pero eso me lleva al segundo problema. Además sería incómodo tener que importar/exportar la base de datos cada vez que me cambio de máquina.
  • De no quedarse los archivos en mi cuenta de IC y de llevarlos a cada rato, necesitaría varias instalaciones de software con las mismas características. Y si ya es complicado y lleva tiempo tener un buen webserver ahora tener varios sería retrabajo innecesario.
  • El tercer problema usando las cuentas de IC es que sería usuario del sistema, no tendría permisos de administración, no podría instalar módulos de PHP, actualizarlo, configurarlo como lo necesito, no podría crear bases de datos a mi antojo (que lo hago muy comunmente, porque arruino alguna xD, quiero mantener el backup de otra, desarrollar en una y en otra, probar cosas nuevas sin tener que cambiar la que ya sirve, etc).

Bueno, suficiente historia poco interesante. La solución (por lo menos por ahora) salió a la luz cuando de casualidad estaba buscando actualizaciones de la plataforma PortableApps para el pre-FliSol próximo que está organizado la Red Costarricense de Software Libre. Me di cuenta que existe un paquete de software llamado XAMPP, X se refiere a cualquier OS (es porque hay para Linux, MacOS X, Solaris y Windows), Apache, MySQL, PHP, Perl. De esta forma puedo tener un servidor web y un entorno de programación en mi llave USB ideal para las actuales necesidades. Ojalá hubiera PortableApps para mi Ubuntu, pero bueno, por lo menos PortableApps, Apache, MySQL, PHP, Perl, phpMyAdmin, etc, etc, son software libre, excepto el OS 😛

¿Cómo instalar el software portable?

1. Descargar e instalar en la llave USB la suite de PortableApps

http://portableapps.com/download

Se pueden descargar cualquiera de las tres ediciones, lo que importa es la suite. En mi caso realizé la instalación en F:\Portable Apps pues mi llave es la unidad F.

2. Descargar e instalar el paquete XAMPP.

http://portableapps.com/apps/development/xampp

Se pueden descargar cualquier edición (full o lite) pero en su versión ZIP. Yo me descargué la “XAMPP Lite” pues incluye todo lo necesario:

  • Apache 2.2.11
  • PHP 5.2.8
  • MySQL 5.1.30
  • phpMyAdmin 3.1.1
  • OpenSSL 0.9.8i
  • SQLite 2.8.15.

Una vez descargado procedemos a descomprimirlo en la llave, obligatorio que sea en el directorio raíz o el plugin luego no lo encontrará. Una vez descomprimido encontraremos una carpeta llamada xampplite (o xampp si no elegimos la versión Lite), dentro de la cual estarán todos los archivos del servidor. Recuerden, esta carpeta debe quedar dentro de la raíz de la llave USB, por ejemplo en mi caso es F:\xampplite

3. Descargar “XAMPP Launcher” también disponible desde el sitio anterior. Este es el plugin de PortableApps que nos permite controlarlo desde la aplicación.

http://portableapps.com/apps/development/xampp

Una vez descargado doble click y procedemos a instalarlo en la carpeta PortableApps dentro de la carpeta de instalación de la suite de PortableApps (ojo, lean bien, es confuso). En mi caso la carpeta es:

F:\Portable Apps\PortableApps

4. Ejecutar StartPortableApps.exe y nos saldrá el menú de PortableApps. Deberá reconocer la nueva aplicación, si no, le damos a la opción de refrescar íconos que se encuentra en opciones.

portable-xampp

Seleccionamos el ícono XAMPP Control Panel y ejecutamos Apache y MySQL. Con eso ya tendremos el webserver funcionando.

xampp-control-panel

5. Desde cualquier navegador (en mi caso, Firefox Portable, de la misma suite) podremos entrar al panel de administración. Escribimos en la barra 127.0.0.1 (o http://localhost, pero por ahí leí que mejor no, porque hay alguien que se confunde) y seleccionamos el idioma. Ahora podrás acceder a todas las herramientas de administración.

xampp-welcome

xampp-administration

6. Para instalar una aplicación web dinámica (Elgg, Drupal, Joomla, etc) dentro de nuestro servidor web portable procederemos, por ejemplo, desde phpMyAdmin podemos crear y configurar la base de datos MySQL y los archivos deberán ser copiados a xampplite\htdocs.

Espero que les sirva.

Saludos!

Etiquetado , , , , , , ,

Firefox 3, 8 Millones, Nuevo record mundial

Firefox Download Day

Confirmado, los oficierons de Guinness terminaron de analizar la información de los servidores de descarga del Firefox 3 Download Day como escribí anteriormente.

Ahora es oficial, Firefox posée el nuevo record mundial del software más descargado en 24 horas con la cifra exacta de 8,002,530 de descargas.

En la página del World Map se puede leer:

Gracias a la siempre increíble ayuda de la comunidad de Mozilla, ahora poseemos el récord Guinness mundial al software más descargado en 24 horas. Desde las 18:16 UTC del 17 de junio de 2008 hasta las 18:16 UTC del 18 de junio de 2008, 8.002.530 personas descargaron Firefox 3 y ahora disfrutan de una web mejor, más segura e inteligente.

Desde que Firefox fue publicado en 2004, hemos confiado en nuestra comunidad para ayudarnos a difundir la palabra, y gracias a proyectos y grupos independientes, anuncios en periódicos, pegatinas gigantes, vídeos, blogs y demás, ahora tenemos más de 180 millones de usuarios en mas de 230 países.

¿Y ahora qué? ¡Debemos esperar y ver que ideas se te ocurren a TI!

Para todo aquel que participó como yo (y los que no creo que también :S) pueden obtener su certificado personalizado de participación en http://www.spreadfirefox.com/es-ES/worldrecord/certificate_form. Después de poner nuestro nombre nos genera un archivo PDF como este:

Certificado Firefox

Pueden encontrar más información en el blog de Mozilla.

Etiquetado , ,

Wine 1.0, un esfuerzo de 15 años

El 17 de Junio todo el mundo hablaba del Firefox Download Day. Desgraciadamente este fabuloso evento mundial eclipsó el release de otro increíble software del cúal muchos de nosotros “desgraciadamente” (en cierto modo) dependemos. Estoy hablando de Wine, la reimplementación del API de Win32 para sistemas POSIX, como GNU/Linux. Ese día se liberó la versión 1.0, la primera versión considerada estable por el equipo de desarrollo después de un enorme y largo esfuerzo de 15 años de desarrollo y pruebas. Hace dos días, el 27 de Junio se actualizó a la 1.1.0.

Para los que no conocen de Wine, es como una capa de compatibilidad que permite ejecutar software exclusivo para el OS de Micro$oft en sistemas GNU/Linux. Si desean instalar Wine en Hardy simplemente deben realizar UNO de los dos métodos a continuación (en realidad si hacen los dos no pasa nada).

1) Desde consola:

sudo apt-get install wine

2) Desde interfaz gráfica:

Aplicaciones -> Añadir y quitar

En la barra de búsqueda escribimos wine. Le damos check al primer resultado (Wine Windows Emulator) y presionamos el botón aplicar cambios. Listo 😀

Una imagen vale más que mil palabras.

Wine Install

Estos son los dos métodos más comunes. Sin embargo, para el momento de escribir esta entrada la versión del repositorio es la 0.9.59. Si desean tener la última versión, la 1.1.0, el proposito de esta entrada, necesitan instalarlo desde el repositorio de WineHQ. Para instalar la última versión de Wine es necesario ejecutar los siguientes comandos en consola (instrucciones tomadas de la página de Wine):

1) Agregar la clave de confianza (no es realmente necesario, si recomendado):

wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -

2) Agregar el repositorio de WineHQ a nuestro lista de fuentes:

sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/hardy.list -O /etc/apt/sources.list.d/winehq.list

3) Actualizar nuestra base de datos de aplicaciones:

sudo apt-get update

Ahora podemos instalar Wine (si no lo habíamos hecho ya) con alguno de los dos métodos anteriores. En caso de ya haberlo instalado saldrá el conocido dialogo de actualizaciones.

Ahora bien, para ejecutar cualquier cualquier aplicación de Windows, a groso modo ya que esto puede variar mucho, simplemente en consola:

wine /direccion/del/ejecutable

O “Abrir con otra aplicación” sobre el icono. Y seleccionamos Wine Windows Emulator

Saludos!

Etiquetado , ,

Firefox 3.0, 11 días, 24 millones

Firefox 3.0. Seguro ya otros blogs han hecho un enorme escándalo con respecto a la tan esperada tercera versión de nuestro navegador favorito. Pasados 11 días desde su lanzamiento, para que escribir ahora? Bueno, primero porque hace 11 días no tenía blog :P. Segundo, para difundir Firefox, no?

El 17 de Junio se liberó esta tercera versión, después de varios alfas, betas y release candidates. Para celebrar el lanzamiento Mozilla organizó el Firefox Download Day. Este día pretendía romper el record Guinness al software más descargado en 24 horas, además de celebrar el lanzamiento con fiestas reales, fiestas virtuales en comunidades y blogs y actividades en los campus universitarios. El número oficial de descargas no ha sido publicado aún, sin embargo los oficieros de los records Guinness siguen analizando los datos de los servidores. Los que vivimos cada segundo de este día pudimos observar que al terminar las 24 horas, algo así como a las 11:15am para los GMT -6 del 18 de Junio, ya habíamos sobrepasado los 8 millones de descargas 😀

Algunas gráficas del evento:

Firefox Download Day

Firefox Download Day

El contador sigue funcionando, y después de 11 días podemos observar la asombrosa cifra de 24 millones de descargas, y en este momento con un promedio de 480 descargas por minuto. También pueden observar el mapa global donde indica el total de descargas por país.

Si todavía no se han decidido o siguen usando el navegador que viene por defecto con su OS por pura inercia pueden visitar el sitio de Firefox, donde encontrarán muchas buenas razones para empezar a redescubrir la red.

Saludos!

Etiquetado , ,