<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>Jorge Iván Meza Martínez &#187; Web</title> <atom:link href="http://blog.jorgeivanmeza.com/category/web/feed/" rel="self" type="application/rss+xml" /><link>http://blog.jorgeivanmeza.com</link> <description>The Fire Within Me: &#34;knowledge will set you free&#34;</description> <lastBuildDate>Tue, 31 Jan 2012 18:18:13 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Permisos de archivos/directorios incorrectos para el servidor de páginas en GNU/Linux</title><link>http://blog.jorgeivanmeza.com/2012/01/permisos-de-archivosdirectorios-incorrectos-para-el-servidor-de-paginas-en-gnulinux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=permisos-de-archivosdirectorios-incorrectos-para-el-servidor-de-paginas-en-gnulinux</link> <comments>http://blog.jorgeivanmeza.com/2012/01/permisos-de-archivosdirectorios-incorrectos-para-el-servidor-de-paginas-en-gnulinux/#comments</comments> <pubDate>Mon, 30 Jan 2012 03:15:46 +0000</pubDate> <dc:creator>jimezam</dc:creator> <category><![CDATA[Linux/Solaris/BSD]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[Apache]]></category> <category><![CDATA[Hipergalaxia]]></category> <category><![CDATA[permisos]]></category> <guid
isPermaLink="false">http://blog.jorgeivanmeza.com/?p=49950</guid> <description><![CDATA[Introducción El problema mas común que impide que se pueda acceder correctamente a un sitio o aplicación web que se está instalando o desarrollando es que los archivos y directorios no cuenten con los permisos de acceso apropiados para que &#8230; <a
href="http://blog.jorgeivanmeza.com/2012/01/permisos-de-archivosdirectorios-incorrectos-para-el-servidor-de-paginas-en-gnulinux/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<h2>Introducción</h2><p>El problema mas común que impide que se pueda acceder correctamente a un sitio o aplicación web que se está instalando o desarrollando es que los archivos y directorios no cuenten con los permisos de acceso apropiados para que el servidor de páginas (Apache por ejemplo) pueda accederlos correctamente.  En estos casos se obtiene un mensaje de error similar al  mostrado a continuación.</p><p
style="padding-left: 30px;"><em>failed to open stream: Permission denied in /ruta/al/proyecto/index.php on line xx</em></p><h2>La solución</h2><p>En términos generales, los directorios deben contar con permisos 755 (<span
style="font-family: courier new,courier;">drwxr-xr-x</span>) y los archivos -como .php- 644 (<span
style="font-family: courier new,courier;">-rw-r&#8211;r&#8211;</span>).  Esta modificación puede realizarse de manera recursiva aprovechando la flexibilidad del comando <span
style="font-family: courier new,courier;">find</span> de la siguiente manera.</p><pre>$ find /ruta/al/proyecto -type d -exec chmod 755 {} \;
$ find /ruta/al/proyecto -type f -exec chmod 644 {} \;</pre><p>Inclusive es posible establecer filtros a los nombres de los recursos actualizados para mayor precisión en el cambio.</p><pre>$ find /ruta/al/proyecto -type f -name '*.php' -exec chmod 644 {} \;</pre>]]></content:encoded> <wfw:commentRss>http://blog.jorgeivanmeza.com/2012/01/permisos-de-archivosdirectorios-incorrectos-para-el-servidor-de-paginas-en-gnulinux/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Invalid command &#039;RewriteEngine&#039; con Apache2</title><link>http://blog.jorgeivanmeza.com/2012/01/invalid-command-rewriteengine-con-apache2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=invalid-command-rewriteengine-con-apache2</link> <comments>http://blog.jorgeivanmeza.com/2012/01/invalid-command-rewriteengine-con-apache2/#comments</comments> <pubDate>Mon, 30 Jan 2012 02:58:08 +0000</pubDate> <dc:creator>jimezam</dc:creator> <category><![CDATA[Linux/Solaris/BSD]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[Apache]]></category> <category><![CDATA[Hipergalaxia]]></category> <category><![CDATA[rewrite]]></category> <category><![CDATA[RewriteEngine]]></category> <guid
isPermaLink="false">http://blog.jorgeivanmeza.com/?p=49948</guid> <description><![CDATA[Introducción Intentando utilizar un software web que incluía un .htaccess y este se aprovechaba de la funcionalidad del RewriteEngine de Apache2, obtenía siempre el siguiente mensaje de error. Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included &#8230; <a
href="http://blog.jorgeivanmeza.com/2012/01/invalid-command-rewriteengine-con-apache2/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<h2>Introducción</h2><p>Intentando utilizar un software web que incluía un <span
style="font-family: courier new,courier;">.htaccess</span> y este se aprovechaba de la funcionalidad del <span
style="font-family: courier new,courier;">RewriteEngine</span> de Apache2, obtenía siempre el siguiente mensaje de error.</p><p
style="padding-left: 30px;"><em>Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration</em></p><h2>Solución</h2><p>Activar el módulo del <span
style="font-family: courier new,courier;">RewriteEngine</span> de Apache2.</p><p><span
style="font-family: courier new,courier;">$ sudo a2enmod rewrite</span></p><p>Reiniciar Apache2 para que tenga en cuenta al módulo recién activado.</p><p><span
style="font-family: courier new,courier;">$ sudo service apache2 restart</span></p> ]]></content:encoded> <wfw:commentRss>http://blog.jorgeivanmeza.com/2012/01/invalid-command-rewriteengine-con-apache2/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Instalación de NodeJS en GNU/Linux Ubuntu/Mint</title><link>http://blog.jorgeivanmeza.com/2012/01/instalacion-de-nodejs-en-gnulinux-ubuntumint/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=instalacion-de-nodejs-en-gnulinux-ubuntumint</link> <comments>http://blog.jorgeivanmeza.com/2012/01/instalacion-de-nodejs-en-gnulinux-ubuntumint/#comments</comments> <pubDate>Tue, 10 Jan 2012 02:12:12 +0000</pubDate> <dc:creator>jimezam</dc:creator> <category><![CDATA[Desarrollo de software]]></category> <category><![CDATA[Linux/Solaris/BSD]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[aptitude]]></category> <category><![CDATA[GNU/Linux]]></category> <category><![CDATA[Hipergalaxia]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[Mint]]></category> <category><![CDATA[NodeJS]]></category> <category><![CDATA[Ubuntu]]></category> <guid
isPermaLink="false">http://blog.jorgeivanmeza.com/?p=49841</guid> <description><![CDATA[Introducción NodeJS es  una plataforma de desarrollo de alta escalabilidad para aplicaciones en red basada en un único hilo de ejecución, una arquitectura orientada a eventos y un manejo asíncrono de E/S.  Esta plataforma se programa utilizando Javascript del lado &#8230; <a
href="http://blog.jorgeivanmeza.com/2012/01/instalacion-de-nodejs-en-gnulinux-ubuntumint/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<h2>Introducción</h2><p><a
href="http://nodejs.org/">NodeJS</a> es  una plataforma de desarrollo de alta escalabilidad para aplicaciones en red basada en un único hilo de ejecución, una arquitectura orientada a eventos y un manejo asíncrono de E/S.  Esta plataforma se programa utilizando Javascript del lado del servidor.</p><p>En el presente artículo se describen los pasos realizados para su instalación siguiendo dos estrategias diferentes.</p><h2>Instalación</h2><h3>Utilizando el gestor de paquetes</h3><p>En este caso la instalación es mas rápida y sencilla ya que el gestor de paquetes, apt/aptitude en este caso, se hace cargo de la descarga e instalación del software y sus dependencias.</p><h4>Utilizando los repositorios por defecto</h4><p>Los repositorios incluídos por defecto con el sistema operativo permiten instalar a NodeJS sin embargo no en su versión mas reciente sino un par de números atrasada.</p><p><div
id="attachment_49843" class="wp-caption aligncenter" style="width: 760px"><a
href="http://blog.jorgeivanmeza.com/wp-content/uploads/2012/01/Terminal_002.png"><img
class="size-full wp-image-49843" title="Terminal_002" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2012/01/Terminal_002.png" alt="Versión de NodeJS disponible en los repositorios de Ubuntu" width="750" height="459" /></a><p
class="wp-caption-text">Versión de NodeJS disponible en los repositorios de Ubuntu</p></div><p>Para realizar su instalación se debe ejeuctar el siguiente comando.</p><p><span
style="font-family: courier new,courier;">$ sudo aptitude install nodejs</span></p><h4>Utilizando los repositorios del proyecto</h4><p>Este método permite actualizar los repositorios del sistema operativo con el repositorio oficial del proyecto de donde se podrán descargar versiones mas recientes.  Para hacer esto se deben ejecutar los siguientes comandos.</p><p><span
style="font-family: courier new,courier;">$ sudo apt-get install python-software-properties</span><br
/><span
style="font-family: courier new,courier;">$ sudo add-apt-repository ppa:chris-lea/node.js </span><br
/><span
style="font-family: courier new,courier;">$ sudo apt-get update</span></p><p><div
id="attachment_49844" class="wp-caption aligncenter" style="width: 760px"><a
href="http://blog.jorgeivanmeza.com/wp-content/uploads/2012/01/Terminal_0021.png"><img
class="size-full wp-image-49844" title="Terminal_002" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2012/01/Terminal_0021.png" alt="Versión de NodeJS disponible en los repositorios del proyecto" width="750" height="427" /></a><p
class="wp-caption-text">Versión de NodeJS disponible en los repositorios del proyecto</p></div><p>Una vez incluído el nuevo repositorio se procede a instalar el paquete normalmente.</p><p><span
style="font-family: courier new,courier;">$ sudo aptitude install nodejs</span></p><h3>Desde el código fuente</h3><p>Este método permite compilar una distribución de NodeJS para la versión específica del sistema operativo que se está utilizando.  Esto requiere que se cuente con el soporte requerido de las herramientas de desarrollo y dependencias necesarias para construír el proyecto.</p><p>Descargar el código fuente de la última versión disponible (la 0.6.7 en este caso) desde la siguiente ubicación.</p><p
style="padding-left: 30px;"><a
href="http://nodejs.org/#download">http://nodejs.org/#download</a></p><p><code> $ wget http://nodejs.org/dist/v0.6.7/node-v0.6.7.tar.gz </code></p><p><code>$ tar zxvf node-v0.6.7.tar.gz $ cd node-v0.6.7/ </code></p><p><code>$ ./configure --prefix=/home/jimezam/nodejs/0.6.7 </code></p><p><strong>Aviso!</strong>  Si desea instalar NodeJS en una ubicación central haciéndolo disponible para todos los usuarios del sistema operativo, omita el parámetro <span
style="font-family: courier new,courier;">&#8211;prefix</span> de la ejecución anterior, de lo contrario ajuste su ruta según la ubicación específica donde desee instalarlo.</p><p
style="padding-left: 30px;"><span
style="font-family: courier new,courier;">Checking for program g++ or c++          : /usr/bin/g++ </span><br
/><span
style="font-family: courier new,courier;">Checking for program cpp                 : /usr/bin/cpp </span><br
/><span
style="font-family: courier new,courier;">Checking for program ar                  : /usr/bin/ar </span><br
/><span
style="font-family: courier new,courier;">Checking for program ranlib              : /usr/bin/ranlib </span><br
/><span
style="font-family: courier new,courier;">Checking for g++                         : ok  </span><br
/><span
style="font-family: courier new,courier;">Checking for program gcc or cc           : /usr/bin/gcc </span><br
/><span
style="font-family: courier new,courier;">Checking for program ar                  : /usr/bin/ar </span><br
/><span
style="font-family: courier new,courier;">Checking for program ranlib              : /usr/bin/ranlib </span><br
/><span
style="font-family: courier new,courier;">Checking for gcc                         : ok  </span><br
/><span
style="font-family: courier new,courier;">Checking for library dl                  : yes </span><br
/><span
style="font-family: courier new,courier;">Checking for openssl                     : yes </span><br
/><span
style="font-family: courier new,courier;">Checking for library util                : yes </span><br
/><span
style="font-family: courier new,courier;">Checking for library rt                  : yes </span><br
/><span
style="font-family: courier new,courier;">Checking for fdatasync(2) with c++       : yes </span><br
/><span
style="font-family: courier new,courier;">'configure' finished successfully (0.776s)</span></p><p>El siguiente paso consiste en construír la distribución compilando su código fuente.</p><p><span
style="font-family: courier new,courier;">$ make</span></p><p>Y finalmente se debe instalar la distribución recién construída en la ubicación elegida.</p><p><span
style="font-family: courier new,courier;">$ make install</span></p><p><strong>Aviso!</strong>  Si se eligió instalar NodeJS en una ubicación central, la ejecución del comando anterior deberá ser hecha por el usuario <em>root</em> de la siguiente manera: <span
style="font-family: courier new,courier;">sudo make install</span>.</p><p>Actualizar el <span
style="font-family: courier new,courier;">PATH</span> para que incluya la ubicación de las herramientas de NodeJS recién instaladas.  Realizar esta modificación en el <span
style="font-family: courier new,courier;">.bash_profile</span>/<span
style="font-family: courier new,courier;">.bashrc</span> del usuario o <span
style="font-family: courier new,courier;">/etc/profile</span> para tener un alcance global y garantizar que esta modificación persista cada vez que se inicia la máquina.</p><p
style="padding-left: 30px;"><span
style="font-family: courier new,courier;">$ PATH=/home/jimezam/nodejs/0.6.7/bin:$PATH</span></p><p>Si el ajuste fue exitoso la aplicación <span
style="font-family: courier new,courier;">node</span> ya podrá ser accedida directamente desde la línea de comando.</p><p><span
style="font-family: courier new,courier;">$ which node</span></p><p
style="padding-left: 30px;"><span
style="font-family: courier new,courier;">/home/jimezam/nodejs/0.6.7/bin/node</span></p><h2>Prueba de funcionamiento: Hola Mundo NodeJS!</h2><p>Crear el siguiente archivo de código Javascript para crear un servicio extremadamente simple que responda "Hola Mundo" ante las peticiones web de los clientes a través de navegadores.</p><p><span
style="font-family: courier new,courier;">$ vi prueba.js</span></p><pre>var http = require('http');
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hola Mundo NodeJS!\n');
}).listen(7777, '127.0.0.1');
console.log('Servidor ejecutándose en http://127.0.0.1:7777');</pre><p>Para iniciar el servicio se debe invocar el comando <span
style="font-family: courier new,courier;">node</span> de la siguiente manera.</p><p><span
style="font-family: courier new,courier;">$ node prueba.js</span></p><p
style="padding-left: 30px;"><span
style="font-family: courier new,courier;">Servidor ejecutándose en http://127.0.0.1:7777</span></p><p>Desde un navegador web acceder a la dirección mencionada.</p><p><div
id="attachment_49846" class="wp-caption aligncenter" style="width: 394px"><a
href="http://blog.jorgeivanmeza.com/wp-content/uploads/2012/01/Mozilla-Firefox_002.png"><img
class="size-full wp-image-49846" title="Mozilla Firefox_002" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2012/01/Mozilla-Firefox_002.png" alt="Hola Mundo consultándose desde NodeJS" width="384" height="207" /></a><p
class="wp-caption-text">Hola Mundo consultándose desde NodeJS</p></div><p>&nbsp;</p><h2>Enlaces</h2><ul><li>Node.JS<br
/><a
href="http://nodejs.org/">http://nodejs.org/</a></li><li>Installing Node.js via package manager<br
/><a
href="https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager">https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://blog.jorgeivanmeza.com/2012/01/instalacion-de-nodejs-en-gnulinux-ubuntumint/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Mostrar en pantalla los errores producidos en PHP con Apache bajo Ubuntu</title><link>http://blog.jorgeivanmeza.com/2011/12/mostrar-en-pantalla-los-errores-producidos-en-php-con-apache-bajo-ubuntu/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mostrar-en-pantalla-los-errores-producidos-en-php-con-apache-bajo-ubuntu</link> <comments>http://blog.jorgeivanmeza.com/2011/12/mostrar-en-pantalla-los-errores-producidos-en-php-con-apache-bajo-ubuntu/#comments</comments> <pubDate>Wed, 28 Dec 2011 05:44:49 +0000</pubDate> <dc:creator>jimezam</dc:creator> <category><![CDATA[Desarrollo de software]]></category> <category><![CDATA[Linux/Solaris/BSD]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[Apache]]></category> <category><![CDATA[GNU/Linux]]></category> <category><![CDATA[Hipergalaxia]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[php.ini]]></category> <category><![CDATA[Ubuntu]]></category> <guid
isPermaLink="false">http://blog.jorgeivanmeza.com/?p=49833</guid> <description><![CDATA[Introducción Mientras que en producción mostrar al usuario final la información relacionada con el error producido es un riesgo de seguridad demasiado alto, durante el desarrollo del software es una condición necesaria para entender que está pasando con el código &#8230; <a
href="http://blog.jorgeivanmeza.com/2011/12/mostrar-en-pantalla-los-errores-producidos-en-php-con-apache-bajo-ubuntu/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<h2>Introducción</h2><p>Mientras que en producción mostrar al usuario final la información relacionada con el error producido es un riesgo de seguridad demasiado alto, durante el desarrollo del software es una condición necesaria para entender que está pasando con el código que se está probando.</p><p>En la mayoría de despliegues de Apache/PHP vienen ahora con esta opción desactivada, redireccionando por defecto los mensajes de error al archivo de registro habitualmente ubicado en <span
style="font-family: courier new,courier;">/var/log/apache2/error.log</span>.</p><h2>Procedimiento</h2><p>Es posible activar la opción de mostrar los errores de PHP en pantalla a tres diferentes niveles de acuerdo con el alcance que se le desee dar a este comportamiento.</p><p>A <strong>nivel global</strong>, esta modificación aplica a todo el servidor o sitios web publicados bajo esa configuración.</p><p><span
style="font-family: courier new,courier;">$ sudo vi /etc/php5/apache2/php.ini</span></p><p
style="padding-left: 30px;"><span
style="font-family: courier new,courier;">error_reporting = E_ALL </span><br
/><span
style="font-family: courier new,courier;">display_errors = On</span></p><p>A <strong>nivel de un directorio o una aplicación</strong>, esta modificación afecta a los <em>scripts</em> ubicados bajo un directorio específico.</p><p><span
style="font-family: courier new,courier;">$ vi /var/html/un/directorio/especifico/.htaccess</span></p><p
style="padding-left: 30px;"><span
style="font-family: courier new,courier;">&lt;IfModule mod_php5.c&gt;<br
/>    php_value error_reporting E_ALL </span><br
/><span
style="font-family: courier new,courier;">    php_value display_errors on</span><br
/><span
style="font-family: courier new,courier;">&lt;/IfModule&gt;</span></p><p>A <strong>nivel de una sección de código específico</strong>, esta modificación afecta sólo una parte de un <em>script</em>.</p><p><span
style="font-family: courier new,courier;">$ vi /var/html/un/script.php</span></p><p
style="padding-left: 30px;"><span
style="font-family: courier new,courier;">error_reporting(E_ALL);</span><br
/><span
style="font-family: courier new,courier;">ini_set('display_errors','On');</span></p><h2>Aclaración adicional</h2><p>Para que los ajustes de configuración de los últimos dos niveles sean tenidos en cuenta, el directorio donde del sitio web publicado deberá tener por lo menos activa la siguiente opción.</p><p
style="padding-left: 30px;"><span
style="font-family: courier new,courier;">AllowOverride Options</span></p><p>Esta se deberá modificar bajo <span
style="font-family: courier new,courier;">/etc/apache2/mods-enabled/userdir.conf</span> para los sitios personales de los usuarios (<span
style="font-family: courier new,courier;">public_html</span>) o <span
style="font-family: courier new,courier;">/etc/apache2/sites-enabled/*</span> para los <em>virtualhosts</em> existentes.</p> ]]></content:encoded> <wfw:commentRss>http://blog.jorgeivanmeza.com/2011/12/mostrar-en-pantalla-los-errores-producidos-en-php-con-apache-bajo-ubuntu/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Cursos de la Maestría en Software Libre de la UOC</title><link>http://blog.jorgeivanmeza.com/2011/12/cursos-de-la-maestria-en-software-libre-de-la-uoc/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cursos-de-la-maestria-en-software-libre-de-la-uoc</link> <comments>http://blog.jorgeivanmeza.com/2011/12/cursos-de-la-maestria-en-software-libre-de-la-uoc/#comments</comments> <pubDate>Tue, 20 Dec 2011 18:08:43 +0000</pubDate> <dc:creator>jimezam</dc:creator> <category><![CDATA[Bases de datos]]></category> <category><![CDATA[Desarrollo de software]]></category> <category><![CDATA[Educación]]></category> <category><![CDATA[Gerencia de Proyectos]]></category> <category><![CDATA[Linux/Solaris/BSD]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Software geográfico]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[Cursos]]></category> <category><![CDATA[Hipergalaxia]]></category> <guid
isPermaLink="false">http://blog.jorgeivanmeza.com/?p=49748</guid> <description><![CDATA[Los cursos listados a continuación hacen parte de la Maestría en Software Libre de la Universidad de Cataluña y que han sido publicados bajo la licencia de Creative Commons a través de su sitio de OpenCourseWare. 50039 &#8211; Fundamentos de &#8230; <a
href="http://blog.jorgeivanmeza.com/2011/12/cursos-de-la-maestria-en-software-libre-de-la-uoc/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Los cursos listados a continuación hacen parte de la <a
href="http://www.uoc.edu/estudios/masters-universitarios/software-libre/presentacion/index.html" target="_blank">Maestría en Software Libre</a> de la <a
href="http://www.uoc.edu/" target="_blank">Universidad de Cataluña</a> y que han sido publicados bajo la licencia de <a
href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">Creative Commons</a> a través de su sitio de <a
href="http://ocw.uoc.edu/" target="_blank">OpenCourseWare</a>.</p><table><tbody><tr
class="odd"><td><a
title="50039 - Fundamentos de fotografía e imagen digital, Septiembre 2008" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/fundamentos-de-fotografia-e-imagen-digital">50039 &#8211; Fundamentos de fotografía e imagen digital</a></td></tr><tr
class="even"><td><a
title="50051 - Sistemas de vídeo y de tratamiento de la imagen , Septiembre 2009" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/sistemas-de-video-y-de-tratamiento-de-la-imagen">50051 &#8211; Sistemas de vídeo y de tratamiento de la imagen</a></td></tr><tr
class="odd"><td><a
title="50070 - Laboratorio de PHP y MySQL, Septiembre 2009" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/laboratorio-de-php-y-mysql">50070 &#8211; Laboratorio de PHP y MySQL</a></td></tr><tr
class="even"><td><a
title="75143 - Trabajo final de carrera .NET, Septiembre 2009" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/trabajo-final-de-carrera.net">75143 &#8211; Trabajo final de carrera .NET</a></td></tr><tr
class="odd"><td><a
title="75555 - Prácticas de programación, Febrero 2010" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/practicas-de-programacion">75555 &#8211; Prácticas de programación</a></td></tr><tr
class="even"><td><a
title="75591 - Estructura de redes  de computadores, Septiembre 2010" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/estructura-de-redes-de-computadores">75591 &#8211; Estructura de redes de computadores</a></td></tr><tr
class="odd"><td><a
title="75611 - Fundamentos físicos de la informática, Febrero 2010" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/fundamentos-fisicos-de-la-informatica">75611 &#8211; Fundamentos físicos de la informática</a></td></tr><tr
class="even"><td><a
title="75614 - Iniciación a las matemáticas para la ingeniería, Septiembre 2009" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/iniciacion-a-las-matematicas-para-la-ingenieria">75614 &#8211; Iniciación a las matemáticas para la ingeniería</a></td></tr><tr
class="odd"><td><a
title="76514 - Imagen y lenguaje visual, Septiembre 2009" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/imagen-y-lenguaje-visual">76514 &#8211; Imagen y lenguaje visual</a></td></tr><tr
class="even"><td><a
title="76517 - Arquitectura de la información, Septiembre 2009" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/arquitectura-de-la-informacion">76517 &#8211; Arquitectura de la información</a></td></tr><tr
class="odd"><td><a
title="76521 - Redes Multimedia, Febrero 2010" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/redes-multimedia">76521 &#8211; Redes Multimedia</a></td></tr><tr
class="even"><td><a
title="76526 - Composición digital, Septiembre 2010" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/composicion-digital">76526 &#8211; Composición digital</a></td></tr><tr
class="odd"><td><a
title="76529 - Interfaces para sistemas multimedia, Febrero 2011" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/interfaces-para-sistemas-multimedia">76529 &#8211; Interfaces para sistemas multimedia</a></td></tr><tr
class="even"><td><a
title="76531 - Animación 3D, Febrero 2010" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/animacion-3d">76531 &#8211; Animación 3D</a></td></tr><tr
class="odd"><td><a
title="76532 - Fotografía digital, Febrero 2010" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/fotografia-digital">76532 &#8211; Fotografía digital</a></td></tr><tr
class="even"><td><a
title="81504 - Física I, Septiembre 2010" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/fisica">81504 &#8211; Física I</a></td></tr><tr
class="odd"><td><a
title="89018 - Trabajo final de carrera de telecomunicación, Septiembre 2008" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/trabajo-final-de-carrera-de-telecomunicaciones">89018 &#8211; Trabajo final de carrera de telecomunicación</a></td></tr><tr
class="even"><td><a
title="93133 - Introducción a la creación de páginas web, Septiembre 2008" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/introduccion-a-la-creacion-de-paginas-web">93133 &#8211; Introducción a la creación de páginas web</a></td></tr><tr
class="odd"><td><a
title="93134 - Marcadores sociales, una herramienta para organizar la Red, Septiembre 2008" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/marcadores-sociales-una-herramienta-para-organizar-la-red">93134 &#8211; Marcadores sociales, una herramienta para organizar la Red</a></td></tr><tr
class="even"><td><a
title="93149 - Fotografia de viajes, Febrero 2008" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/fotografia-de-viajes">93149 &#8211; Fotografia de viajes</a></td></tr><tr
class="odd"><td><a
title="B0019 - Estética y narrativa en medios digitales, Febrero 2010" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/estetica-y-narrativa-en-medios-digitales">B0019 &#8211; Estética y narrativa en medios digitales</a></td></tr><tr
class="even"><td><a
title="B0762 - Servicios OGC, Septiembre 2009" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/serveis-ogc">B0762 &#8211; Servicios OGC</a></td></tr><tr
class="odd"><td><a
title="B0763 - Programación y Personalización SIG , Septiembre 2010" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/programacion-y-personalizacion-sig">B0763 &#8211; Programación y Personalización SIG</a></td></tr><tr
class="even"><td><a
title="M1302 - Ingeniería de la usabilidad, Septiembre 2011" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/ingenieria-de-la-usabilidad">M1302 &#8211; Ingeniería de la usabilidad</a></td></tr><tr
class="odd"><td><a
title="M1308 - Tecnología y desarrollo en dispositivos móviles, Setembre 2011" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/tecnologia-y-desarrollo-en-dispositivos-moviles">M1308 &#8211; Tecnología y desarrollo en dispositivos móviles</a></td></tr><tr
class="even"><td><a
title="M2101 - Introducción al software libre, Febrero 2008" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/introduccion-al-software-libre">M2101 &#8211; Introducción al software libre</a></td></tr><tr
class="odd"><td><a
title="M2102 - Sistema operativo GNU/Linux básico, Febrero 2008" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/sistema-operativo-gnu-linux-basico">M2102 &#8211; Sistema operativo GNU/Linux básico</a></td></tr><tr
class="even"><td><a
title="M2103 - Administración avanzada del sistema operativo GNU/Linux, Septiembre 2007" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/administracion-avanzada-del-sistema-operativo-gnu-linux">M2103 &#8211; Administración avanzada del sistema operativo GNU/Linux</a></td></tr><tr
class="odd"><td><a
title="M2104 - Implantación de sistemas de software libre, Febrero 2005" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/implantacion-de-sistemas-de-software-libre">M2104 &#8211; Implantación de sistemas de software libre</a></td></tr><tr
class="even"><td><a
title="M2105 - Redes de computadores, Marzo 2004" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/redes-de-computadores">M2105 &#8211; Redes de computadores</a></td></tr><tr
class="odd"><td><a
title="M2107 - Aspectos avanzados de seguridad en redes, Febrero 2007" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/aspectos-avanzados-de-seguridad-en-redes">M2107 &#8211; Aspectos avanzados de seguridad en redes</a></td></tr><tr
class="even"><td><a
title="M2108 - Desarrollo de aplicaciones web, Marzo 2004" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/desarrollo-de-aplicaciones-web">M2108 &#8211; Desarrollo de aplicaciones web</a></td></tr><tr
class="odd"><td><a
title="M2109 - Bases de datos, Febrero 2007" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/bases-de-datos">M2109 &#8211; Bases de datos</a></td></tr><tr
class="even"><td><a
title="M2110 - Introducción al desarrollo de software, Marzo 2004" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/introduccion-al-desarrollo-de-software">M2110 &#8211; Introducción al desarrollo de software</a></td></tr><tr
class="odd"><td><a
title="M2111 - Conceptos avanzados en desarrollo de software libre, Febrero 2007" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/conceptos-avanzados-en-desarrollo-de-software-libre">M2111 &#8211; Conceptos avanzados en desarrollo de software libre</a></td></tr><tr
class="even"><td><a
title="M2112 - Ingeniería del software en entornos del software libre, Febrero 2007" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/ingenieria-del-software-en-entornos-del-software-libre">M2112 &#8211; Ingeniería del software en entornos del software libre</a></td></tr><tr
class="odd"><td><a
title="M2113 - Utilidades y herramientas de software libre, Septiembre 2007" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/utilidades-y-herramientas-de-software-llibre">M2113 &#8211; Utilidades y herramientas de software libre</a></td></tr><tr
class="even"><td><a
title="M2114 - Aspectos legales y de explotación del software libre, Febrero 2007" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/aspectos-legales-y-de-explotacion-del-software-libre">M2114 &#8211; Aspectos legales y de explotación del software libre</a></td></tr><tr
class="odd"><td><a
title="M2114 - Aspectos legales y de explotación del software libre, Febrero 2009" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/aspectos-legales-y-de-explotacion-del-software-libre-1">M2114 &#8211; Aspectos legales y de explotación del software libre (b)</a></td></tr><tr
class="even"><td><a
title="M2115 - Aspectos económicos y modelos de negocio del software llibre  , Septiembre 2010" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/aspectos-economicos-y-modelos-de-negocio-del-software-llibre">M2115 &#8211; Aspectos económicos y modelos de negocio del software llibre</a></td></tr><tr
class="odd"><td><a
title="M2117 - El software libre en el sector público, Febrero 2010" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/el-software-libre-en-el-sector-publico">M2117 &#8211; El software libre en el sector público</a></td></tr><tr
class="even"><td><a
title="M2123 - Proyecto web, Febrero 2007" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/proyecto-web">M2123 &#8211; Proyecto web</a></td></tr><tr
class="odd"><td><a
title="M2124 - Desarrollo de proyectos de software libre, Febrero 2007" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/desarrollo-de-proyectos-de-software-libre">M2124 &#8211; Desarrollo de proyectos de software libre</a></td></tr><tr
class="even"><td><a
title="M2125 - Proyecto de dirección de sistemas de información, Febrero 2007" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/proyecto-de-direccion-de-sistemas-de-informacion-1">M2125 &#8211; Proyecto de dirección de sistemas de información</a></td></tr><tr
class="odd"><td><a
title="M2132 - Proyecto en Administración de Redes y Sistemas Operativos basados en GNU/Linux, Febrero 2007" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/proyecto-de-direccion-de-sistemas-de-informacion">M2132 &#8211; Proyecto en Administración de Redes y Sistemas Operativos basados en GNU/Linux</a></td></tr><tr
class="even"><td><a
title="M2150 - Administración de sistemas GNU/Linux, Febrero 2010" href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/administracion-de-sitemas-gnu-linux">M2150 &#8211; Administración de sistemas GNU/Linux</a></td></tr></tbody></table><h2>Enlaces</h2><ul><li>Informática, tecnología y multimedia.<br
/><a
href="http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/view?set_language=es" target="_blank">http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://blog.jorgeivanmeza.com/2011/12/cursos-de-la-maestria-en-software-libre-de-la-uoc/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Problemas cargando sqlite.so en 20090626+lfs/sqlite.so</title><link>http://blog.jorgeivanmeza.com/2011/12/problemas-cargando-sqlite-so-en-20090626lfssqlite-so/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=problemas-cargando-sqlite-so-en-20090626lfssqlite-so</link> <comments>http://blog.jorgeivanmeza.com/2011/12/problemas-cargando-sqlite-so-en-20090626lfssqlite-so/#comments</comments> <pubDate>Sun, 18 Dec 2011 03:36:35 +0000</pubDate> <dc:creator>jimezam</dc:creator> <category><![CDATA[Desarrollo de software]]></category> <category><![CDATA[Linux/Solaris/BSD]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[GNU/Linux]]></category> <category><![CDATA[Hipergalaxia]]></category> <category><![CDATA[Mint]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Sqlite]]></category> <category><![CDATA[Ubuntu]]></category> <guid
isPermaLink="false">http://blog.jorgeivanmeza.com/?p=49739</guid> <description><![CDATA[Introducción Instalando Apache+PHP+MySQL en mi equipo con GNU/Linux Mint 12 encuentro el siguiente problema después de instalar el soporte para SQLite (php5-sqlite). PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/sqlite.so' &#8211; /usr/lib/php5/20090626+lfs/sqlite.so: cannot open shared object file: No &#8230; <a
href="http://blog.jorgeivanmeza.com/2011/12/problemas-cargando-sqlite-so-en-20090626lfssqlite-so/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<h2>Introducción</h2><p>Instalando Apache+PHP+MySQL en mi equipo con GNU/Linux Mint 12 encuentro el siguiente problema después de instalar el soporte para SQLite (<span
style="font-family: courier new,courier;">php5-sqlite</span>).</p><p
style="padding-left: 30px;"><span
style="font-family: courier new,courier;">PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/sqlite.so' &#8211; /usr/lib/php5/20090626+lfs/sqlite.so: cannot open shared object file: No such file or directory in Unknown on line 0</span></p><h2>La situación</h2><p>Aparentemente <a
href="https://bugs.launchpad.net/ubuntu/+source/sqlite/+bug/747325" target="_blank">el uso de SQLite versión 2 ha sido desestimado</a> en pos del uso exclusivo de la versión 3, sin embargo extrañamente la configuración por defecto de PHP sigue intentando cargar su librería.</p><h2>La solución</h2><p>Remover la configuración de SQLite2 de PHP y utilizar la versión 3 únicamente.</p><p><span
style="font-family: courier new,courier;">$ sudo mv /etc/php5/conf.d/sqlite.ini /etc/php5/conf.d/sqlite.ini.old</span></p><p>Una vez evitado que este archivo de configuración sea tenido en cuenta el funcionamiento de PHP vuelve a la normalidad.</p><p><span
style="font-family: courier new,courier;">$ php -v</span></p><p
style="padding-left: 30px;"><span
style="font-family: courier new,courier;">PHP 5.3.6-13ubuntu3.3 with Suhosin-Patch (cli) (built: Dec 13 2011 18:37:10) </span><br
/><span
style="font-family: courier new,courier;">Copyright (c) 1997-2011 The PHP Group</span><br
/><span
style="font-family: courier new,courier;">Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies</span><br
/><span
style="font-family: courier new,courier;">    with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH</span></p><h2>Enlaces</h2><ul><li>PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/sqlite.so' en Ubuntu Launchpad<br
/><a
href="https://bugs.launchpad.net/ubuntu/+source/php5/+bug/875262" target="_blank">https://bugs.launchpad.net/ubuntu/+source/php5/+bug/875262</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://blog.jorgeivanmeza.com/2011/12/problemas-cargando-sqlite-so-en-20090626lfssqlite-so/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Instalar manualmente Firefox 6.0 en GNU/Linux CentOS (y otros)</title><link>http://blog.jorgeivanmeza.com/2011/08/instalar-manualmente-firefox-6-0-en-gnulinux-centos-y-otros/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=instalar-manualmente-firefox-6-0-en-gnulinux-centos-y-otros</link> <comments>http://blog.jorgeivanmeza.com/2011/08/instalar-manualmente-firefox-6-0-en-gnulinux-centos-y-otros/#comments</comments> <pubDate>Mon, 22 Aug 2011 02:31:07 +0000</pubDate> <dc:creator>jimezam</dc:creator> <category><![CDATA[Linux/Solaris/BSD]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[alternatives]]></category> <category><![CDATA[CentOS]]></category> <category><![CDATA[Firefox]]></category> <category><![CDATA[GNU/Linux]]></category> <category><![CDATA[Hipergalaxia]]></category> <guid
isPermaLink="false">http://blog.jorgeivanmeza.com/?p=39689</guid> <description><![CDATA[Introducción. Tenía deseos de instalar la versión mas reciente de Firefox (6.0) ya que esta promete por primera vez, manejar mucho mejor la memoria y así no consumirse todos los recursos del equipo unas horas después de trabajar con este &#8230; <a
href="http://blog.jorgeivanmeza.com/2011/08/instalar-manualmente-firefox-6-0-en-gnulinux-centos-y-otros/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<h2>Introducción.</h2><p><a
href="http://blog.jorgeivanmeza.com/wp-content/uploads/2011/08/About-Mozilla-Firefox.png"><img
class="aligncenter size-medium wp-image-39692" title="About Mozilla Firefox 6.0" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2011/08/About-Mozilla-Firefox-300x192.png" alt="About Mozilla Firefox 6.0" width="300" height="192" /></a></p><p>Tenía deseos de instalar la versión mas reciente de Firefox (6.0) ya que esta promete por primera vez, manejar mucho mejor la memoria y así no consumirse todos los recursos del equipo unas horas después de trabajar con este navegador.</p><p>En uno de mis equipos utilizo GNU/Linux CentOS 6 el cual está enfocado principalmente a servidores y sus actualizaciones provienen directamente de la línea de RedHat.  Por este motivo las versiones del software tardan bastante en actualizarse.  Desafortunadamente la versión de Firefox que incluye la versión actual de CentOS es la 3.6.9 así que se puede suponer que tardarán bastante en llegar a la 6.0.</p><p>En el presente artículo se explican los pasos necesarios para instalar Firefox 6.0 manualmente en CentOS 6, sin embargo estos pasos pueden ejecutarse de manera genérica en la mayoría de las principales distribuciones de Linux.</p><h2>Obtener Firefox.</h2><p>Descargar el paquete de distribución mas reciente de Firefox para Linux en el idioma que se desee desde la siguiente ubicación.</p><p
style="padding-left: 30px;"><a
href="https://www.mozilla.com/en-US/firefox/all.html" target="_blank">https://www.mozilla.com/en-US/firefox/all.html</a></p><p>En mi caso obtuve el archivo <span
style="font-family: courier new,courier;">firefox-6.0.tar.bz2</span> después de la descarga.</p><h2>Instalar Firefox.</h2><p>Se instalará la versión de Firefox recién descargada bajo el directorio <span
style="font-family: courier new,courier;">/opt</span>.</p><p><span
style="font-family: courier new,courier;"># tar xjvf firefox-6.0.tar.bz2</span></p><p><span
style="font-family: courier new,courier;"># mkdir -p /opt/firefox/</span></p><p><span
style="font-family: courier new,courier;"># mv firefox/ /opt/firefox/6.0/</span></p><p>Se remueve el ejecutable desplegado por la versión previa de Firefox.</p><p><span
style="font-family: courier new,courier;"># mv /usr/bin/firefox /usr/bin/firefox_3.6.9</span></p><h2>Establecer las alternativas de versiones.</h2><p>Se utiliza <span
style="font-family: courier new,courier;">alternatives</span> para diferenciar las versiones de Firefox instaladas y elegir una de ellas como activa según se desee.  Para hacer esto se crean las dos alternativas.</p><p><span
style="font-family: courier new,courier;"># alternatives &#8211;install /usr/bin/firefox firefox /usr/lib/firefox-3.6/firefox 1</span></p><p><span
style="font-family: courier new,courier;"># alternatives &#8211;install /usr/bin/firefox firefox /opt/firefox/6.0/firefox 2</span></p><p>Finalente se configura la versión 6.0 como alternativa activa.</p><p><span
style="font-family: courier new,courier;"># alternatives &#8211;config firefox</span></p><p
style="padding-left: 30px;"><span
style="font-family: courier new,courier;">There are 2 programs which provide 'firefox'.</span></p><p><span
style="font-family: courier new,courier;">  Selection    Command</span><br
/><span
style="font-family: courier new,courier;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span><br
/><span
style="font-family: courier new,courier;">   1           /usr/lib/firefox-3.6/firefox</span><br
/><span
style="font-family: courier new,courier;">   2           /opt/firefox/6.0/firefox</span></p><p><span
style="font-family: courier new,courier;">Enter to keep the current selection[+], or type selection number: <strong>2</strong><br
/></span></p> ]]></content:encoded> <wfw:commentRss>http://blog.jorgeivanmeza.com/2011/08/instalar-manualmente-firefox-6-0-en-gnulinux-centos-y-otros/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Instalar Google Chrome en GNU/Linux CentOS 6</title><link>http://blog.jorgeivanmeza.com/2011/08/instalar-google-chrome-en-gnulinux-centos-6/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=instalar-google-chrome-en-gnulinux-centos-6</link> <comments>http://blog.jorgeivanmeza.com/2011/08/instalar-google-chrome-en-gnulinux-centos-6/#comments</comments> <pubDate>Sun, 21 Aug 2011 15:35:34 +0000</pubDate> <dc:creator>jimezam</dc:creator> <category><![CDATA[Linux/Solaris/BSD]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[CentOS]]></category> <category><![CDATA[Chrome]]></category> <category><![CDATA[GNU/Linux]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[Hipergalaxia]]></category> <category><![CDATA[yum]]></category> <guid
isPermaLink="false">http://blog.jorgeivanmeza.com/?p=39666</guid> <description><![CDATA[Introducción. El artículo presentado a continuación describe el procedimiento necesario para instalar el navegador web Google Chrome en GNU/Linux CentOS 6 utilizando repositorios Yum.  Este procedimiento probablemente aplique también para otras versiones de CentOS y Fedora. Instalación. Crear el nuevo &#8230; <a
href="http://blog.jorgeivanmeza.com/2011/08/instalar-google-chrome-en-gnulinux-centos-6/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<h2>Introducción.</h2><p>El artículo presentado a continuación describe el procedimiento necesario para instalar el navegador web Google Chrome en GNU/Linux CentOS 6 utilizando repositorios Yum.  Este procedimiento probablemente aplique también para otras versiones de CentOS y Fedora.</p><h2>Instalación.</h2><p>Crear el nuevo repositorio de Yum.</p><p><span
style="font-family: 'courier new', courier;"># vi /etc/yum.repos.d/google-chrome.repo</span></p><p
style="padding-left: 30px;"><span
style="font-family: 'courier new', courier;">[google-chrome]</span><br
/><span
style="font-family: 'courier new', courier;">name=google-chrome</span><br
/><span
style="font-family: 'courier new', courier;">baseurl=http://dl.google.com/linux/chrome/rpm/stable/<strong>i386</strong></span><br
/><span
style="font-family: 'courier new', courier;">enabled=1</span><br
/><span
style="font-family: 'courier new', courier;">gpgcheck=1</span></p><p>Si se desea la versión de<em> 64 bits</em> utilizar la siguiente descripción del repositorio.</p><p
style="padding-left: 30px;"><span
style="font-family: 'courier new', courier;">[google-chrome]</span><br
/><span
style="font-family: 'courier new', courier;">name=google-chrome</span><br
/><span
style="font-family: 'courier new', courier;">baseurl=http://dl.google.com/linux/chrome/rpm/stable/<strong>x86_64</strong></span><br
/><span
style="font-family: 'courier new', courier;">enabled=1</span><br
/><span
style="font-family: 'courier new', courier;">gpgcheck=1</span></p><p>Instalar los paquetes deseados.</p><p><span
style="font-family: 'courier new', courier;"># yum &#8211;nogpgcheck install google-chrome-stable</span></p><p>Además de la versión <em>estable</em> también es posible instalar la versión <em>en desarrollo</em> (<span
style="font-family: 'courier new', courier;">google-chrome-beta</span>) y la <em>inestable</em> (<span
style="font-family: 'courier new', courier;">google-chrome-unstable</span>).</p> ]]></content:encoded> <wfw:commentRss>http://blog.jorgeivanmeza.com/2011/08/instalar-google-chrome-en-gnulinux-centos-6/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Convirtiendo la documentación de FuelPHP a un único documento</title><link>http://blog.jorgeivanmeza.com/2011/07/convirtiendo-la-documentacion-de-fuelphp-a-un-unico-documento/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=convirtiendo-la-documentacion-de-fuelphp-a-un-unico-documento</link> <comments>http://blog.jorgeivanmeza.com/2011/07/convirtiendo-la-documentacion-de-fuelphp-a-un-unico-documento/#comments</comments> <pubDate>Fri, 22 Jul 2011 01:20:11 +0000</pubDate> <dc:creator>jimezam</dc:creator> <category><![CDATA[Desarrollo de software]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[Documentación]]></category> <category><![CDATA[FuelPHP]]></category> <category><![CDATA[Hipergalaxia]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[PHP]]></category> <guid
isPermaLink="false">http://blog.jorgeivanmeza.com/?p=36228</guid> <description><![CDATA[Introducción. FuelPHP es un framework para el desarrollo de aplicaciones que a pesar de su muy reciente aparición es muy interesante y prometedor para el entorno del desarrollo de aplicaciones web con software libre.  Este framework es similar a Codeigniter &#8230; <a
href="http://blog.jorgeivanmeza.com/2011/07/convirtiendo-la-documentacion-de-fuelphp-a-un-unico-documento/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<h2>Introducción.</h2><p><a
href="http://blog.jorgeivanmeza.com/wp-content/uploads/2011/07/fuelphp-logo2.jpeg"><img
class="alignleft size-full wp-image-36231" title="fuelphp-logo2" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2011/07/fuelphp-logo2.jpeg" alt="" width="92" height="92" /></a><a
href="http://fuelphp.com/" target="_blank">FuelPHP</a> es un <em>framework</em> para el desarrollo de aplicaciones que a pesar de su muy reciente aparición es muy interesante y prometedor para el entorno del desarrollo de aplicaciones web con software libre.  Este <em>framework</em> es similar a <a
href="http://codeigniter.com/" target="_blank">Codeigniter</a> o <a
href="http://kohanaframework.org/" target="_blank">Kohana</a> en términos de su simplicidad, sin embargo no se basa directamente en ninguno de ellos sino que por el contario, toma los conceptos e ideas de diseño exitosas de los principales <em>frameworks</em> y los integra en una única base para la implementación de aplicaciones web.</p><p>Teniendo una relativa corta edad, su desarrollo ha sido veloz y su versión 1.0 se encuentra muy <a
href="https://twitter.com/#!/fuelphp/status/93485493358051328" target="_blank">próxima a publicarse</a>.  La <a
href="http://fuelphp.com/docs/" target="_blank">documentación</a> también ha evolucionado rápidamente y se encuentra en contínua actualización.  Esta se presenta por secciones que se pueden revisar directamente siendo esto muy apropiado para las consultas rápidas de la misma sin embargo -en mi opinión personal- no es tan útil cuando se está aprendiendo del <em>framework</em> por primera vez ya que no es posible realizar una revisión o búsqueda líneal de los temas ni mucho menos imprimirlos.</p><p>Dado lo prometedor del <em>framework</em> decidí tomarme un par de minutos para desarrollar una solución que me permitiera consolidar fácilmente la documentación en un único documento para poder imprimirlo y estudiar de él.  Terminé con una pequeña herramienta basada en Javascript con jQuery que realizar esta tarea.  Debido a las limitaciones de seguridad impuestas por los navegadores es necesario que se descargue en un servidor web local la documentación para que pueda ser procesada por esta herramienta.</p><p>Debe tenerse en cuenta que los documentos generados o impresos no recibirán las contínuas actualizaciones que si recibe la versión en línea, por este motivo prefiero no distribuír el documento completo con la versión del día sino compartir el método para que pueda ser creado frecuentemente.</p><h2>Instalación.</h2><p>Crear una carpeta en el árbol de directorios (<span
style="font-family: courier new,courier;">DOCUMENT_ROOT</span>) públicos del servidor de páginas.</p><p>Descomprimir la <a
href="http://blog.jorgeivanmeza.com/wp-content/uploads/2011/07/FuelPHPOneDoc_0.1.tar.gz">distribución de la herramienta</a> en el directorio web.</p><p><a
href="http://fuelphp.com/" target="_blank">Descargar</a> la distribución actual de FuelPHP y descomprimirla en el directorio web al mismo nivel de la herramienta. </p><p>Los archivos contenidos en la carpeta de mas alto nivel serán similares a los mostrados a continuación en la cual se utilizó la versión 1.0-RC3 del <em>framework</em>.</p><p><div
id="attachment_36232" class="wp-caption aligncenter" style="width: 466px"><a
href="http://blog.jorgeivanmeza.com/wp-content/uploads/2011/07/Selection_0011.png"><img
class="size-full wp-image-36232" title="Selection_001" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2011/07/Selection_0011.png" alt="Contenidos de la carpeta web" width="456" height="142" /></a><p
class="wp-caption-text">Contenidos de la carpeta web</p></div><p>&nbsp;</p><h2>Configuración.</h2><p>El único paso necesario para configurar la herramienta consiste en editar el archivo <span
style="font-family: courier new,courier;">FuelPHPOneDoc/FuelPHPOneDoc.js</span> y modificar apropiadamente el valor de la variable <span
style="font-family: courier new,courier;">baseUrl</span> la cual deberá contener la dirección absoluta en la cual se publicó localmente la documentación de FuelPHP.  De esta manera en el ejemplo anterior, si la carpeta pública web corresponde con la dirección <span
style="font-family: courier new,courier;">http://localhost/onedoc/</span> entonces el valor de <span
style="font-family: courier new,courier;">baseUrl</span> será <span
style="font-family: courier new,courier;"><strong>http://localhost/onedoc/</strong>v1.0-rc3/docs/</span>.</p><h2>Ejecución.</h2><p>Acceder al URL de la herramienta utilizando un navegador web.  En el caso del ejemplo anterior sería a la dirección <span
style="font-family: courier new,courier;">http://localhost/onedoc/FuelPHPOneDoc/FuelPHPOneDoc.html</span>.</p><p><div
id="attachment_36233" class="wp-caption aligncenter" style="width: 818px"><a
href="http://blog.jorgeivanmeza.com/wp-content/uploads/2011/07/FuelPHP-Framework-Documentation-Mozilla-Firefox_002.png"><img
class="size-large wp-image-36233" title="FuelPHP Framework Documentation! - Mozilla Firefox_002" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2011/07/FuelPHP-Framework-Documentation-Mozilla-Firefox_002-1024x621.png" alt="Documentación de FuelPHP en un unico documento" width="808" height="490" /></a><p
class="wp-caption-text">Documentación de FuelPHP en un unico documento</p></div><p>&nbsp;</p><h2>Requerimiento: servidor de páginas web.</h2><p>Por la razón que se mencionó anteriormente, es necesario contar con un servidor de páginas web para publicar tanto el contenido de la documentación original de FuelPHP como la herramienta para modificar su presentación.</p><p>En caso de no contarse con un servidor de páginas instalado, este podrá obtenerse de diferentes maneras: <a
href="http://httpd.apache.org/" target="_blank">Apache</a> (todas las plataformas), Internet Information Service (sólo Windows), <a
href="http://www.apachefriends.org/es/xampp.html" target="_blank">XAMPP</a> (todas las plataformas) y <a
href="http://nginx.org/" target="_blank">nginx</a> (todas las plataformas) entre muchos otros.</p><p>Si no se cuenta con ninguno de estos servidores de páginas web pero se cuenta con soporte para el lenguaje <a
href="http://python.org/" target="_blank">Python</a>, es posible utilizar temporalmente el servidor web de desarrollo que incluye este lenguaje.  Para utilizarlo será necesario abrir una terminal y ubicarse en el directorio que se convertirá en público a través de web e invocar la aplicación.</p><p><span
style="font-family: courier new,courier;">$ cd /home/jimezam/tmp/FuelPHP</span></p><p>Si cuenta con soporte para Python 2.x:</p><p><span
style="font-family: courier new,courier;">$ python -m SimpleHTTPServer</span></p><p>En cambio, si se cuenta con soporte para Python 3.x, la instrucción a ejecutar será la siguiente.</p><p><span
style="font-family: courier new,courier;">$ python -m http.server 8000</span></p><p>En ambos casos el puerto que se utilizará para lanzar el nuevo servidor web será el <span
style="font-family: courier new,courier;">8000</span> así que este tendrá que ser tenido en cuenta durante la determinación del respectivo URL.  En este caso, el URL que deberá ser consultado será <span
style="font-family: courier new,courier;">http://localhost:8000/FuelPHPOneDoc/FuelPHPOneDoc.html</span>.</p> ]]></content:encoded> <wfw:commentRss>http://blog.jorgeivanmeza.com/2011/07/convirtiendo-la-documentacion-de-fuelphp-a-un-unico-documento/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Evitar que WordPress remueva los saltos de línea de los artículos</title><link>http://blog.jorgeivanmeza.com/2011/07/evitar-que-wordpress-remueva-los-saltos-de-linea-de-los-articulos/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=evitar-que-wordpress-remueva-los-saltos-de-linea-de-los-articulos</link> <comments>http://blog.jorgeivanmeza.com/2011/07/evitar-que-wordpress-remueva-los-saltos-de-linea-de-los-articulos/#comments</comments> <pubDate>Thu, 21 Jul 2011 21:56:35 +0000</pubDate> <dc:creator>jimezam</dc:creator> <category><![CDATA[Software]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[Hipergalaxia]]></category> <category><![CDATA[TinyMCE]]></category> <category><![CDATA[Wordpress]]></category> <guid
isPermaLink="false">http://blog.jorgeivanmeza.com/?p=36152</guid> <description><![CDATA[Introducción.   Son muy pocos los problemas que he tenido con WordPress a lo largo de estos varios años escribiendo en el blog.  Uno de los casos mas molestos sucede cuando los saltos de línea de los artículos o comentarios &#8230; <a
href="http://blog.jorgeivanmeza.com/2011/07/evitar-que-wordpress-remueva-los-saltos-de-linea-de-los-articulos/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<h2>Introducción.</h2><p><a
href="http://blog.jorgeivanmeza.com/wp-content/uploads/2011/07/smbutton-blue.png"><img
class="size-full wp-image-36153 alignleft" title="smbutton-blue" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2011/07/smbutton-blue.png" alt="Wordpress logo" width="58" height="69" /></a></p><p>  Son muy pocos los problemas que he tenido con WordPress a lo largo de estos varios años escribiendo en el blog.  Uno de los casos mas molestos sucede cuando los saltos de línea de los artículos o comentarios empiezan a desaparecer. </p><p>Este problema me sucedió inicialmente cuando utilizaba Google Chrome únicamente, sin embargo en los últimos días empezó a suceder con Mozilla Firefox 5 también, así que tuve que descartar la explicación de incompatibilidad con el primer navegador.</p><p>Después de una búsqueda en los foros no he encontrado cual es la causa específica del problema sin embargo parece estar en TinyMCE, el editor WYSIWYG que incluye WordPress por defecto.  Para este problema he encontrado una solución muy simple que parece estar funcionando bien hasta el momento.</p><h2>Solución.</h2><p>La solución consiste en instalar el <em>plugin</em> <a
href="https://wordpress.org/extend/plugins/tinymce-advanced/" target="_blank">TinyMCE Advanced</a> y acceder a sus opciones de configuración mediante la opción <strong>Settings &gt; TinyMCE Advanced</strong> del menú izquierdo del <em>Dashboard</em>.</p><p>En la sección de opciones avanzadas, seleccionar la casilla de verificación correspondiente con la opción para evitar que se remuevan automáticamente las etiquetas <span
style="font-family: courier new,courier;">&lt;p&gt;</span> y <span
style="font-family: courier new,courier;">&lt;br&gt;</span>.</p><p><div
id="attachment_36154" class="wp-caption alignleft" style="width: 1034px"><a
href="http://blog.jorgeivanmeza.com/wp-content/uploads/2011/07/Selection_001.png"><img
class="size-large wp-image-36154" title="Selection_001" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2011/07/Selection_001-1024x103.png" alt="Activar esta opción de la configuración de TinyMCE Advanced" width="1024" height="103" /></a><p
class="wp-caption-text">Activar esta opción de la configuración de TinyMCE Advanced</p></div><p>Presionar el botón <strong>Save Changes</strong> para aceptar los cambios y verificar que estos hayan tenido el efecto deseado.</p> ]]></content:encoded> <wfw:commentRss>http://blog.jorgeivanmeza.com/2011/07/evitar-que-wordpress-remueva-los-saltos-de-linea-de-los-articulos/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
