<?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>Mundo Geek &#187; servidor</title>
	<atom:link href="http://mundogeek.net/etiqueta/servidor/feed/" rel="self" type="application/rss+xml" />
	<link>http://mundogeek.net</link>
	<description>Mundo geek, bitácora sobre todo lo geek: software, gadgets, tecnología, internet, ...</description>
	<lastBuildDate>Fri, 25 May 2012 14:51:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>El tamaño sí importa</title>
		<link>http://mundogeek.net/archivos/2010/02/16/el-tamano-si-importa-2/</link>
		<comments>http://mundogeek.net/archivos/2010/02/16/el-tamano-si-importa-2/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 10:03:54 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[jpg]]></category>
		<category><![CDATA[optimizacion]]></category>
		<category><![CDATA[paginas]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[png]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=4979</guid>
		<description><![CDATA[El tamaño es muy importante, al menos a la hora de crear una página web: cuantos menos ocupen los archivos que componen nuestra web, menos tiempo tardará en descargarlos el usuario y menos ancho de banda consumiremos. Veamos algunos métodos para ahorrar algunos kilobytes en nuestras imágenes, hojas de estilo o scripts. Reducir el tamaño [...]]]></description>
			<content:encoded><![CDATA[<p>El tamaño es muy importante, al menos a la hora de crear una página web: cuantos menos ocupen los archivos que componen nuestra web, menos tiempo tardará en descargarlos el usuario y menos ancho de banda consumiremos. Veamos algunos métodos para ahorrar algunos kilobytes en nuestras imágenes, hojas de estilo o scripts.<span id="more-4979"></span></p>
<h2>Reducir el tamaño de los PNG</h2>
<p>Últimamente, y para imágenes muy vistas, como el logo de la página, suelo utilizar este método que descubrí en su día <a href="http://en.wikipedia.org/wiki/Wikipedia:Preparing_images_for_upload#PNG_tips">en las recomendaciones sobre imágenes de la Wikipedia</a>. Necesitarás las herramientas <a href="http://advsys.net/ken/utils.htm">PNGOUT</a>, <a href="http://optipng.sourceforge.net/">OptiPNG</a>, <a href="http://www.walbeehm.com/download/">DeflOpt</a> y <a href="http://advancemame.sourceforge.net/comp-readme.html">AdvDef</a>:</p>
<p class="code">optipng -o7 imagen.png<br />
advdef -z4 imagen.png<br />
pngout /ks imagen.png<br />
deflopt imagen.png</p>
<p>Para imagenes que no van a verse tantas veces, me basta con el plugin <a href="http://registry.gimp.org/node/33">Save for web</a> para GIMP.</p>
<h2>Reducir el tamaño de los JPEG</h2>
<p>Para reducir el tamaño de las imágenes jpg podemos utilizar, por ejemplo, <a href="http://www.ijg.org/">jpegtran</a> (<a href="http://gnuwin32.sourceforge.net/packages/jpeg.htm">binarios para Windows</a>):</p>
<p class="code">jpegtran -optimize -outfile optimizada.jpg imagen.jpg</p>
<p>Este comando no provoca pérdidas respecto de la imagen original.</p>
<h2>Reducir el tamaño de los CSS</h2>
<p>El primer paso debería ser, evidentemente, eliminar las reglas obsoletas que ya no se utilizan, pero que se han mantenido en la hoja de estilo, bien por despiste o bien por dejadez. Para ello puede ser útil, por ejemplo, <a href="https://addons.mozilla.org/es-ES/firefox/addon/5392">Dust-Me Selectors</a>, una extensión para Firefox que nos informará de los selectores no utilizados en la página actual. También puede comprobar una serie de páginas listadas en un sitemap (aún no está actualizado para Firefox 3.6, así que si lo queréis usar en esta versión, podéis actualizarlo usando mi aplicación <a href="http://mundogeek.net/update-xpi/" title="Actualizar extensiones para Firefox">Update XPI</a>, por ejemplo).</p>
<p>Una vez hemos eliminado las reglas obsoletas, podemos pasar a reducir la hoja de estilo, usando propiedades de atajo, como <code>font:bold 12px verdana</code> en lugar de <code>font-weight:bold</code>, <code>font-size:12px</code> y <code>font-family:verdana</code>; eliminando comentarios o eliminando espacios en blanco innecesarios. Podemos hacer esto utilizando, por ejemplo, <a href="http://csstidy.sourceforge.net/">CSSTidy</a>:</p>
<p class="code">csstidy.exe estilo.css &ndash;&ndash;template=highest &ndash;&ndash;remove_last_;=true estilo-comprimido.css</p>
<p>Para volver a tener un css legible, de forma que podamos hacer cambios fácilmente, podemos ejecutar csstidy con las opciones por defecto:</p>
<p class="code">csstidy.exe estilo-comprimido.css estilo.css</p>
<h2>Reducir el tamaño de los JS</h2>
<p><a href="http://developer.yahoo.com/yui/compressor/">YUI Compressor</a>, de la librería de YUI de Yahoo!, es posiblemente la mejor opción, aunque es necesario tener instalado el JRE o el JDK de Java para poder utilizarlo:</p>
<p class="code">java -jar yuicompressor-2.4.2.jar script.js -o optimizado.js</p>
<h2>Comprimir en el servidor</h2>
<p>Al comprimir el contenido al vuelo en el servidor podemos reducir aún más el tamaño de los archivos, pero, a cambio, consumiremos más CPU y memoria en cada petición, lo que puede provocar que el servidor se colapse, o que se tarde más en servir cada petición. Por lo tanto, en este caso, es necesario sopesar si va a merecer la pena.</p>
<p>Apache cuenta con un par de módulos para comprimir el contenido en el servidor: mod_gzip y mod_deflate. mod_deflate, por defecto, comprime menos que mod_gzip, aunque es más rápido que este. Puedes comprobar si alguno de ellos está activado en tu servidor creando un archivo PHP que llame a la función phpinfo:</p>
<blockquote><p>&lt;?php phpinfo(); ?&gt;</p></blockquote>
<p>Otra opción a tener en cuenta para comprimir el contenido en el servidor es utilizar <a href="http://code.google.com/p/minify/">minify</a>, un script PHP que combina, comprime y cachea las hojas de estilo y los scripts.</p>
<p>Por último, para archivos estáticos, otra opción, sólo recomendada para gente con algún conocimiento básico sobre Apache, sería comprimir nosotros mismos los ficheros. Sólo tenemos que usar gzip para crear los archivos comprimidos</p>
<p class="code">gzip -c estilo.css &gt; estilo.css.gz</p>
<p>y editar el archivo .htaccess para que el servidor sirva las versiones comprimidas cuando el navegador del cliente mande la cabecera Accept-Encoding.</p>
<blockquote><p>AddEncoding x-gzip .gz</p>
<p>&lt;IfModule mod_rewrite.c&gt;<br />
RewriteEngine On</p>
<p>RewriteCond %{HTTP:Accept-Encoding} gzip<br />
RewriteCond %{REQUEST_FILENAME}.gz -f<br />
RewriteRule ^(.+)$ $1.gz [L]<br />
&lt;/IfModule&gt;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2010/02/16/el-tamano-si-importa-2/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Una aplicación web desde tu pendrive</title>
		<link>http://mundogeek.net/archivos/2006/03/05/una-aplicacion-web-desde-tu-pendrive/</link>
		<comments>http://mundogeek.net/archivos/2006/03/05/una-aplicacion-web-desde-tu-pendrive/#comments</comments>
		<pubDate>Sun, 05 Mar 2006 11:50:04 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[pendrive]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://mundogeek.net/archivos/2006/03/05/una-aplicacion-web-desde-tu-pendrive/</guid>
		<description><![CDATA[Antes nos conformábamos con correr un sistema operativo desde un pendrive. Ahora también podemos correr un servidor web. Podz de Tamba2 ha creado un pequeño tutorial sobre cómo ejecutar WordPress desde un dispositivo externo usb utilizando la aplicación Webserver On a Stick (WOS), pero nada nos impide correr cualquier otra aplicación web. WOS está licenciado [...]]]></description>
			<content:encoded><![CDATA[<p>Antes nos conformábamos con correr un sistema operativo desde un pendrive. Ahora también podemos correr un servidor web.</p>
<p>Podz de Tamba2 ha creado un pequeño tutorial sobre cómo <a href="http://www.tamba2.org.uk/wordpress/usb/" title="Wordpress desde un pendrive">ejecutar WordPress desde un dispositivo externo usb</a> utilizando la aplicación <a href="http://www.chsoftware.net/en/useware/wos/wos.htm" title="Servidor web desde un pendrive">Webserver On a Stick</a> (WOS), pero nada nos impide correr cualquier otra aplicación web.</p>
<p>WOS está licenciado bajo la GPL, y consiste en un servidor Apache (2.2.0) con soporte PHP (4.4.2 / 5.1.2.2) y MySQL (5.0.18), que incluye la aplicación PhpMyAdmin (2.8.0-beta1) para acceder facilmente a las bases de datos.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2006/03/05/una-aplicacion-web-desde-tu-pendrive/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Gmail para tu dominio</title>
		<link>http://mundogeek.net/archivos/2006/02/10/gmail-para-tu-dominio/</link>
		<comments>http://mundogeek.net/archivos/2006/02/10/gmail-para-tu-dominio/#comments</comments>
		<pubDate>Fri, 10 Feb 2006 21:13:01 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[correo]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://mundogeek.net/archivos/2006/02/10/gmail-para-tu-dominio/</guid>
		<description><![CDATA[Había ciertos rumores apuntando a esta posibilidad, pero no se puede confiar en los rumores sobre Google. Ahora sí, se confirma que Google va a comenzar a ofrecer este servicio, en principio como beta privada (Gmail for your domain). Por ahora no hay mucho más en su web, a parte de un formulario a rellenar [...]]]></description>
			<content:encoded><![CDATA[<p>Había ciertos rumores apuntando a esta posibilidad, pero no se puede confiar en los rumores sobre Google.</p>
<p>Ahora sí, se confirma que Google va a comenzar a ofrecer este servicio, en principio como beta privada (<a href="https://www.google.com/hosted/Home" title="Gmail para tu dominio">Gmail for your domain</a>).</p>
<p>Por ahora no hay mucho más en su web, a parte de un <a href="https://www.google.com/hosted/interest?login=yes" title="Quiero formar parte de la beta de Gmail for your domain">formulario a rellenar</a> si queremos que nos tengan en cuenta como beta testers. A ver si hay suerte.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2006/02/10/gmail-para-tu-dominio/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Instalando una aplicación en PHP: WordPress</title>
		<link>http://mundogeek.net/archivos/2005/10/17/instalando-una-aplicacion-en-php-wordpress/</link>
		<comments>http://mundogeek.net/archivos/2005/10/17/instalando-una-aplicacion-en-php-wordpress/#comments</comments>
		<pubDate>Mon, 17 Oct 2005 10:53:17 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://mundogeek.net/archivos/2005/10/17/instalando-una-aplicacion-en-php-wordpress/</guid>
		<description><![CDATA[Para poder instalar WordPress, uno de los sistemas de publicación más populares del mercado, y el que utiliza esta web, necesitamos un servidor web con PHP y MySQL. Si aún no lo has hecho, echa un vistazo a los diferentes tutoriales al respecto que se han publicado ultimamente en la bitácora DNS dinámicas con No-IP [...]]]></description>
			<content:encoded><![CDATA[<p>Para poder instalar <a href="http://wordpress.org" hreflang="en-us" title="Wordpress, uno de los sistemas de publicación más populares del mercado">WordPress</a>, uno de los sistemas de publicación más populares del mercado, y el que utiliza esta web, necesitamos un servidor web con PHP y MySQL. Si aún no lo has hecho, echa un vistazo a los diferentes tutoriales al respecto que se han publicado ultimamente en la bitácora<footnote>
<ul>
<li><a href="http://mundogeek.net/archivos/2005/09/28/no-ip/" hreflang="es" title="DNS dinámicas con No-IP">DNS dinámicas con No-IP</a></li>
<li><a href="http://mundogeek.net/archivos/2005/09/30/instalar-un-servidor-web-apache" hreflang="es" title="Instalación de un servidor web: Apache">Instalar un servidor web Apache</a></li>
<li><a href="http://mundogeek.net/archivos/2005/10/15/instalar-php-y-mysql/" hreflang="es" title="Instalación de PHP y MySQL">Instalación de PHP y MySQL</a></li>
<li><a href="http://mundogeek.net/archivos/2005/10/15/acelerando-php-zend-optimizer/" hreflang="es" title="Instalación de Zend Optimizer">Acelerando PHP: Zend Optimizer</a></li>
<li><a href="http://mundogeek.net/archivos/2005/10/16/facilitando-el-uso-de-mysql-phpmyadmin/" hreflang="es" title="Facilitando el uso de MySQL: phpMyAdmin">Facilitando el uso de MySQL: phpMyAdmin</a></li>
</ul>
<p></footnote>.</p>
<p>Antes de proceder debemos crear una base de datos, para lo cual podemos utilizar phpMyAdmin, en la que WordPress almacenará información como las entradas y comentarios escritos. Crear una nueva base de datos en phpMyAdmin es tan simple como introducir un nombre para la base de datos y pulsar Create (Crear). Vamos a crear una base de datos llamada, por ejemplo, wordpress.</p>
<p><img src="http://img419.imageshack.us/img419/8893/crearbbdd9rl.png" alt="Creando una nueva base de datos en phpMyAdmin" /></p>
<p>Descargamos la <a href="http://wordpress.org/download/" hreflang="en-us" title="Sección de descargas de la web de WordPress">última versión de WordPress</a> desde su página web y descomprimimos su contenido en el DocumentRoot de Apache<footnote>El directorio en el que se encuentran los archivos que sirve Apache.</footnote>. Renombramos el archivo wp-config-sample.php a wp-config.php y lo editamos para configurar la aplicación.</p>
<p>Modificaremos los valores para el nombre de la base de datos (db_name), nuestro nombre de usuario en MySQL (db_user), nuestra contraseña en MySQL (db_password) y la dirección del PC en el que está ejecutando la base de datos (db_host) en el caso de que no esté instalada en el mismo PC en el que instalamos WordPress. Los nuevos valores serán wordpress (o el nombre que le hallamos dado a la nueva base de datos), root y la contraseña que introdujimos al instalar MySQL.</p>
<p>Abre el navegador y ejecuta el script install.php, dentro del directorio wp-admin, que a su vez se encuentra en la carpeta en la que instalamos WordPress. En mi caso, al haber copiado los archivos de wordpress en un directorio de nombre wordpress en DocumentRoot, http://localhost/wordpress/wp-admin/install.php.</p>
<p>Esto lanzará un pequeño wizard en el que se nos preguntará por el nombre de la bitácora y la dirección de correo del escritor. El script pasará entonces a crear las tablas necesarias en la base de datos que creamos anteriormente, tras lo cual podremos loguearnos utilizando el nombre de usuario y la contraseña generada automaticamente. Lo primero que deberiais hacer es cambiar la contraseña y el nick desde la pestaña Users de la interfaz de administración de WordPress.</p>
<p>Y aunque parezca demasiado sencillo, eso es todo. Ahora podeis <a href="http://wordpress-es.sourceforge.net/" hreflang="es" title="Sitio web de WordPress-es">instalar el idioma castellano</a>, o bien juguetear con alguno de los cientos de <a href="http://mundogeek.net/wiki/doku.php?id=plugins_para_wordpress" hreflang="es" title="Wiki de Mundo geek con cientos de plugins para WordPress">plugins para WordPress</a> existentes. Este es el aspecto de una nueva instalación de WordPress:</p>
<p><img src="http://img134.imageshack.us/img134/6577/wordpress2vx.png" alt="Aspecto de una nueva instalación de WordPress" /></p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2005/10/17/instalando-una-aplicacion-en-php-wordpress/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Facilitando el uso de MySQL: phpMyAdmin</title>
		<link>http://mundogeek.net/archivos/2005/10/16/facilitando-el-uso-de-mysql-phpmyadmin/</link>
		<comments>http://mundogeek.net/archivos/2005/10/16/facilitando-el-uso-de-mysql-phpmyadmin/#comments</comments>
		<pubDate>Sun, 16 Oct 2005 09:22:00 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[bases de datos]]></category>
		<category><![CDATA[bbdd]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://mundogeek.net/archivos/2005/10/16/facilitando-el-uso-de-mysql-phpmyadmin/</guid>
		<description><![CDATA[En esta serie de artículos sobre el uso de Windows como servidorDNS dinámicas con No-IP, instalación de Apache, instalación de PHP y MySQL e instalación de Zend Optimizer que hemos ido viendo estos últimos días hemos llegados al punto en que tenemos ya instalados en nuestro PC Apache, PHP y MySQL. En esta ocasión vamos [...]]]></description>
			<content:encoded><![CDATA[<p>En esta serie de artículos sobre el uso de Windows como servidor<footnote><a href="http://mundogeek.net/archivos/2005/09/28/no-ip/" hreflang="es" title="DNS dinámicas con No-IP">DNS dinámicas con No-IP</a>, <a href="http://mundogeek.net/archivos/2005/09/30/instalar-un-servidor-web-apache" hreflang="es" title="Instalación de un servidor web: Apache">instalación de Apache</a>, <a href="http://mundogeek.net/archivos/2005/10/15/instalar-php-y-mysql/" hreflang="es" title="Instalación de PHP y MySQL">instalación de PHP y MySQL</a> e <a href="http://mundogeek.net/archivos/2005/10/15/acelerando-php-zend-optimizer/" hreflang="es" title="Instalación de Zend Optimizer">instalación de Zend Optimizer</a></footnote> que hemos ido viendo estos últimos días hemos llegados al punto en que tenemos ya instalados en nuestro PC Apache, PHP y MySQL.</p>
<p>En esta ocasión vamos a ver cómo administrar las bases de datos MySQL de forma sencilla, sin tener que recurrir a comandos crípticos introducidos en la consola, sino a través de la potente interfaz web que nos ofrece la aplicación phpMyAdmin, escrita en PHP y código abierto.</p>
<p>Descarga el archivo zip de la <a href="http://www.phpmyadmin.net/home_page/downloads.php" hreflang="en-us" title="Sección de descargas en la web de phpMyAdmin">última versión estable de phpMyAdmin</a> desde su página web y descomprime el fichero en un directorio cualquiera, por ejemplo phpmyadmin, dentro del DocumentRoot de Apache<footnote>Por defecto, C:\Archivos de programa\Apache Group\Apache2\htdocs</footnote>. Lo cierto es que esto no es lo más seguro, pero si lo más sencillo, y no merece la pena complicarse.</p>
<p>Para configurar phpMyAdmin tendremos que editar un archivo de texto (a estas alturas ya estamos acostumbrados) llamado config.inc.php.</p>
<p>Sustituye <em>$cfg['PmaAbsoluteUri'] = &#8221;;</em> por <em>$cfg['PmaAbsoluteUri'] = &#8216;http://localhost/phpmyadmin&#8217;;</em> para indicar a la aplicación la URL con la que se accederá a phpMyAdmin. Evidentemente, en el caso de que no hayamos colocado la aplicación en la base de DocumentRoot o hayamos utilizado un nombre distinto para el directorio de phpmyadmin, tendremos que modificar la URL de la forma correspondiente.</p>
<p>Si queremos ser capaces de acceder a MySQL a través de phpMyAdmin desde un PC remoto tendremos que introducir el nombre de dominio correspondiente (o la IP, si es estática) en lugar de localhost, además de haberlo activado en su momento en el wizard de configuración de MySQL, aunque es más inseguro.</p>
<p>Busca ahora la variable <em>$cfg['Servers'][$i]['password']</em> e introduce la contraseña que utilizaste durante la configuración de MySQL. Evidentemente esto no es seguro si cualquiera tiene acceso físico a nuestro PC, en cuyo caso deberíamos utilizar autentificación http (<em>$cfg['Servers'][$i]['auth_type'] = &#8216;http&#8217;;</em>) o un .htaccess de forma que se nos pida el login cada vez que queramos acceder a la aplicación.</p>
<p>Una vez realizados estos sencillos pasos seremos capaces de iniciar la aplicación dirigiendo nuestro navegador a la URL correspondiente. En nuestro ejemplo, http://localhost/phpmyadmin/.</p>
<p><img src="http://img291.imageshack.us/img291/4184/phpmyadmin9es.png" alt="Captura de la interfaz de phpMyAdmin" /></p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2005/10/16/facilitando-el-uso-de-mysql-phpmyadmin/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>Acelerando PHP: Zend Optimizer</title>
		<link>http://mundogeek.net/archivos/2005/10/15/acelerando-php-zend-optimizer/</link>
		<comments>http://mundogeek.net/archivos/2005/10/15/acelerando-php-zend-optimizer/#comments</comments>
		<pubDate>Sat, 15 Oct 2005 18:39:25 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://mundogeek.net/archivos/2005/10/15/acelerando-php-zend-optimizer/</guid>
		<description><![CDATA[Siguiendo con la serie de artículos sobre la instalación de un servidor web sobre WindowsDNS dinámicas con No-IP, instalación de Apache e instalación de PHP y MySQL veremos en este número cómo instalar esta aplicación gratuita desarrollada por Zend, los principales desarrolladores del proyecto PHP, que permite disminuir el tiempo de ejecución de los scripts [...]]]></description>
			<content:encoded><![CDATA[<p>Siguiendo con la serie de artículos sobre la instalación de un servidor web sobre Windows<footnote><a href="http://mundogeek.net/archivos/2005/09/28/no-ip/" hreflang="es" title="DNS dinámicas con No-IP">DNS dinámicas con No-IP</a>, <a href="http://mundogeek.net/archivos/2005/09/30/instalar-un-servidor-web-apache" hreflang="es" title="Instalación de un servidor web: Apache">instalación de Apache</a> e <a href="http://mundogeek.net/archivos/2005/10/15/instalar-php-y-mysql/" hreflang="es" title="Instalación de PHP y MySQL">instalación de PHP y MySQL</a></footnote> veremos en este número cómo instalar esta aplicación gratuita desarrollada por Zend, los principales desarrolladores del proyecto PHP, que permite disminuir el tiempo de ejecución de los scripts entre un 20 y 50 por ciento.</p>
<p>Si en entregas anteriores no nos quedaba más remedio que ensuciarnos las manos editando archivos de texto para configurar los programas, en este caso tendremos a nuestra disposición un instalador que debería dejarnos muy poco por hacer.</p>
<p>Antes de nada, como siempre, es necesario descargar el software correspondiente desde su página web. Para llevar a cabo la <a href="https://www.zend.com/store/free_download.php?pid=13" hreflang="en-us" title="Sección de descargas en la web de Zend Technologies">descarga de Zend Optimizer</a> tendremos que registrarnos antes en la web de Zend Technologies.</p>
<p>Durante la instalación se nos preguntará por el servidor web utilizado (Apache 2.x), la localización del archivo de configuración de PHP, php.ini (c:\php en nuestro ejemplo), el directorio en el que está instalado Apache (por defecto C:\Archivos de programa\Apache Group\Apache2) y el directorio en el que se almacenan las webs que servirá Apache (DocumentRoot, cuyo valor es, si no lo hemos cambiado, C:\Archivos de programa\Apache Group\Apache2\htdocs).</p>
<p><img src="http://img259.imageshack.us/img259/1015/instalacionzend9io.gif" alt="Programa de instalación de Zend Optimizer" /></p>
<p>Una vez terminado el proceso, si cargamos al archivo info.php que creamos para comprobar la instalación de PHP, debería aparecer algo así:</p>
<p><img src="http://img259.imageshack.us/img259/3238/phpconzendoptimizer2sh.gif" alt="phpinfo con Zend Optimizer" /></p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2005/10/15/acelerando-php-zend-optimizer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Instalar PHP y MySQL</title>
		<link>http://mundogeek.net/archivos/2005/10/15/instalar-php-y-mysql/</link>
		<comments>http://mundogeek.net/archivos/2005/10/15/instalar-php-y-mysql/#comments</comments>
		<pubDate>Sat, 15 Oct 2005 13:59:03 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://mundogeek.net/archivos/2005/10/15/instalar-php-y-mysql/</guid>
		<description><![CDATA[Hace unos días comentábamos cómo instalar un servidor web en nuestro PC de forma que pudieramos, entre otras cosas, alojar en este nuestra propia página web, acceder a nuestros ficheros desde otro equipo y probar alguna que otra aplicación web. Apache, por sí solo, sólo permite mostrar al visitante webs estáticas, escritas en HTML Esto [...]]]></description>
			<content:encoded><![CDATA[<p>Hace unos días comentábamos cómo <a href="http://mundogeek.net/archivos/2005/09/30/instalar-un-servidor-web-apache/" hreflang="es" title="Instalar un servidor web: Apache">instalar un servidor web</a> en nuestro PC de forma que pudieramos, entre otras cosas, alojar en este nuestra propia página web, acceder a nuestros ficheros desde otro equipo y probar alguna que otra aplicación web.</p>
<p>Apache, por sí solo, sólo permite mostrar al visitante webs estáticas, escritas en HTML <footnote>Esto no es del todo cierto, ya que se pueden utilizar lenguajes que se interpreten del lado del cliente, como JavaScript.</footnote>, que no es más que un lenguaje de maquetado. Es decir, HTML no nos permite más que indicar el aspecto del texto. Basicamente lo más excitante que podemos hacer con HTML es mostrar imágenes y crear enlaces.</p>
<p>Si queremos crear una web dinámica, con la que el usuario pueda interaccionar realmente y que modifique su comportamiento según esta interacción, tendremos que utilizar un lenguaje de programación como PHP, Perl, JSP o ASP.</p>
<p>En este artículo veremos cómo instalar en nuestro servidor el intérprete de PHP y el gestor de bases de datos MySQL de forma que podamos usar en nuestro PC aplicaciones como WordPress, el sistema de publicación que utiliza esta web.<span id="more-695"></span></p>
<p>PHP es, como ya hemos mencionado, un lenguaje de programación. El código PHP se puede incluir en un documento HTML, lo que nos permite crear páginas web dinámicas. Estas líneas de código serán interpretadas en el servidor y el resultado mandado al cliente después. Esto es lo que se llama server-side o del lado del servidor, en comparación con client-side o del lado del cliente, modelo en el cual es el propio PC cliente el que tiene que interpretar el código. Un ejemplo de lenguaje de programación que ejecuta del lado del cliente es Javascript.</p>
<p>Lo primero que tenemos que hacer para instalar PHP es, evidentemente, <a href="http://www.php.net/downloads.php" hreflang="en-us" title="Sección de descargas de la web de PHP">descargar los binarios de PHP</a>. Nos interesará obtener el archivo zip con los binarios de la última versión (buscad algo parecido a &#8220;PHP zip package&#8221; bajo el encabezamiento &#8220;Windows Binaries&#8221;). No utiliceis el instalador.</p>
<p>Una vez descargado, pasamos a descomprimirlo. A efectos prácticos el directorio donde lo instalemos no importa, pero a lo largo del tutorial utilizaré como ruta c:\php.</p>
<p>Antes de pasar a configurar PHP y el servidor Apache para que utilice el intérprete instalado, modificaremos la variable de entorno Path, que indica a Windows los directorios donde buscar archivos, por ejemplo, cuando se llama a un ejecutable. Hacemos click con el botón derecho sobre Mi PC y seleccionamos Propiedades para abrir el diálogo de Propiedades del sistema. Seleccionamos la pestaña Opciones avanzadas y una vez ahí, Variables de entorno. En el cuadro de variables de sistema haremos doble click sobre la variable Path para editarla, y añadiremos al final de la lista ;c:\php (cada entrada se separa con un punto y coma).</p>
<p><img src="http://img398.imageshack.us/img398/4783/editandopath0bk.png" alt="Modificando la variable de entorno path" /></p>
<p>Las distintas opciones de PHP se configuran mediante un archivo llamado php.ini situado en c:\php. Por defecto este archivo no existe, sino que tendremos que crearlo renombrando el archivo php.ini-recommended. Pasemos a editar php.ini.</p>
<p>Busca el texto <code>include_path = ".;c:\php\includes"</code> y descoméntalo (borra el ; al inicio de la línea). Evidentemente, si no hemos instalado php en C:/php tendremos que modificar esta línea.</p>
<p>Modifica el valor de doc_root para que coincida con el directorio donde se guardan los archivos que mostrará Apache (por defecto, si no lo cambiamos en httpd.conf, este será C:\Archivos de programa\Apache Group\Apache2\htdocs).</p>
<p>Modificamos el valor de session.cookie_path:<br />
<code>session.cookie_path = \</code></p>
<p>Y por último, modificamos el valor de session.save_path para poder trabajar con sesiones (el directorio que pasemos como valor a esta variable debe existir, PHP no lo creará por nosotros):<br />
<code>session.save_path = "C:\php\sesiones"</code></p>
<p>Solo resta activar algunas extensiones útiles para que estas se carguen automaticamente. Tendremos que indicar a PHP dónde se guardan las extensiones, modificando extension_dir de forma que contenga la ruta al directorio ext dentro de la carpeta donde se instaló PHP (c:\php\ext si PHP se instaló en c:\php).</p>
<p>Una vez hecho esto buscamos la sección Windows Extensions que muestra una lista de distintas extensiones que podemos activar. Para cada extensión que queramos, no tenemos más que borrar el punto y coma al principio de la línea o bien añadir una nueva línea si no existe. En el <a href="http://www.php.net/manual/es/" hreflang="es" title="Manual de PHP en castellano">Manual de PHP</a> podemos ver para qué sirve cada una de ellas. Necesitaremos activar, al menos, php_mysql.dll para que PHP pueda guardar y obtener datos de una base de datos MySQL. También es muy recomendable php_mysqli.dll, que ofrece conexiones mejoradas (i de improved) y php_mbstring.dll, necesaria para utilizar codificaciones de caracteres en las que cada caracter ocupa más de un byte (por ejemplo UTF8, la codificación que se utiliza en esta web). Si no sabeis de que os hablo, mejor activad las tres <img src='http://mundogeek.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Es recomendable no activar una extensión si no conoces cual su función, entre otras cosas porque muchas de ellas necesitan otros archivos, y en el caso de que PHP no los encuentre se quejará.</p>
<p>Una vez configurado PHP es el momento de modificar la configuración de Apache para trabajar con este. Como recordareis del artículo anterior, el archivo de configuración de Apache es httpd.conf, situado por defecto en C:\Archivos de programa\Apache Group\Apache2\conf.</p>
<p>Busca el texto:<br />
<code>#<br />
# Dynamic Shared Object (DSO) Support<br />
#<br />
# To be able to use the functionality of a module which was built as a DSO you<br />
# have to place corresponding `LoadModule' lines at this location so the<br />
# directives contained in it are actually available _before_ they are used.<br />
# Statically compiled modules (those listed by `httpd -l') do not need<br />
# to be loaded here.<br />
#<br />
# Example:<br />
# LoadModule foo_module modules/mod_foo.so<br />
#<br />
</code></p>
<p>Inmediatamente después encontrarás una lista de módulos que se cargarán con Apache. Añade al final de la lista <em>LoadModule php5_module &#8220;c:/php/php5apache2.dll&#8221;</em> para cargar el módulo de PHP 5.</p>
<p>Busca el texto:<br />
<code># AddType allows you to add to or override the MIME configuration<br />
# file mime.types for specific file types.<br />
#<br />
#AddType application/x-tar .tgz<br />
#<br />
# AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress<br />
# information on the fly. Note: Not all browsers support this.<br />
# Despite the name similarity, the following Add* directives have nothing<br />
# to do with the FancyIndexing customization directives above.<br />
#<br />
#AddEncoding x-compress .Z<br />
#AddEncoding x-gzip .gz .tgz<br />
#<br />
# If the AddEncoding directives above are commented-out, then you<br />
# probably should define those extensions to indicate media types:<br />
#<br />
</code><br />
Que precede a una lista de tipos MIME que el servidor es capaz de reconocer. Añade al final de la lista <em>AddType application/x-httpd-php .php</em></p>
<p>Por último busca:<br />
<code>#<br />
# DirectoryIndex: sets the file that Apache will serve if a directory<br />
# is requested.<br />
#<br />
# The index.html.var file (a type-map) is used to deliver content-<br />
# negotiated documents.  The MultiViews Option can be used for the<br />
# same purpose, but it is much slower.<br />
#<br />
DirectoryIndex index.html index.html.var<br />
</code></p>
<p>y sustituye <em>DirectoryIndex index.html index.html.var</em> por <em>DirectoryIndex index.php index.html index.html.var</em>. Esto indicará a Apache que los archivos php también pueden utilizarse como archivos de índice de un directorio.</p>
<p>Añade al final del fichero la línea <em>PHPIniDir &#8220;c:/php&#8221;</em> para indicar al servidor web dónde encontrar el archivo php.ini y reinicia el PC.</p>
<p>Hora de probar que PHP se ha instalado correctamente. Esto se suele hacer creando un archivo php (crear un nuevo archivo con cualquier editor de textos, con nombre, por ejemplo info.php) cuyo contenido será <em>< ?php phpinfo() ?></em>. Introduce en la barra de direcciones del navegador la url http://localhost/info.php para probarlo. El resultado debería ser parecido a este:</p>
<p><img src="http://img398.imageshack.us/img398/7024/phpinfo0ul.gif" alt="Salida de phpinfo" /></p>
<p>Solo resta proceder a la instalación de MySQL. MySQL es una sistema de gestion de bases de datos  de código abierto. Una base de datos no es más que un conjunto de información relacionada con una cierta estructura. Todas las entradas y comentarios escritos en esta web, por ejemplo, se guardan en una base de datos mediante PHP y son mostrados cada vez que el usuario lo pide mediante PHP. Por eso es más que probable que si vas a utilizar PHP tengas que instalar también MySQL (u otro sistema de gestión de bases de datos como PostgreSQL).</p>
<p>Descarga la última versión del <a href="http://dev.mysql.com/downloads/mysql/" hreflang="en-us" title="Sección de descargas en la web de MySQL">instalador para Windows de MySQL</a> desde su página web. En el momento de escribir este artículo existe una versión 5.0 pero no se recomienda dado que aún es una beta. En este ejemplo utilizaremos la versión 4.1.14.</p>
<p>La instalación utilizando el archivo que hemos descargado es bastante sencilla. Simplemente pulsa sobre siguiente (next) hasta llegar a la sección de registro en MySQL.com. No es necesario que nos registremos en su página web, por lo que podemos seleccionar simplemente Skip Sign-Up (Saltar registro).</p>
<p><img src="http://img398.imageshack.us/img398/7063/mysqlregistro0kb.png" alt="El instalador quiere que nos registremos en MySQL.com ;)" /></p>
<p>Al final de la instalación se muestra una casilla que nos da la opción de abrir un wizard que nos permitirá configurar MySQL de forma rápida y sencilla. Evidentetemente, debemos mantener la casilla marcada.</p>
<p>La primera opción que se nos presenta en este wizard es si queremos utilizar una configuración estándar o bien una configuración más detallada. Dado que no es el objetivo de este artículo profundizar en el uso y configuración de MySQL vamos a elegir la opción &#8220;Standard Configuration&#8221;.</p>
<p>Marcamos las casillas correspondientes para instalar MySQL como un servicio de Windows (Install As Windows Service) y que este se lance automaticamente (Launch the MySQL Server automatically). Marcamos también el que se añada el directorio que contiene los ejecutables de MySQL a la variable Path de Windows (Include Bin Directory in Windows PATH) para poder correr estos desde cualquier lugar.</p>
<p><img src="http://img398.imageshack.us/img398/9936/opcioneswindows2ps.jpg" alt="Distintas opciones de configuración de MySQL" /></p>
<p>A continuación se nos mostrará una pantalla desde la que podremos introducir una contraseña para el usuario root (el administrador de la base de datos, es decir, un usuario con máximos privilegios). Hazlo, y procura acordarte de ella <img src='http://mundogeek.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  También se nos da la opción de seleccionar si queremos que sea posible conectarse como root desde otro PC y si queremos crear una cuenta anónima. Estas dos últimas opciones son riesgos innecesarios, por lo que mantendremos los checkboxes desmarcados. Siguiente.</p>
<p><img src="http://img398.imageshack.us/img398/4543/contrasea1ua.jpg" alt="Opciones de seguridad de MySQL" /></p>
<p>Una vez llegados a este punto basta con pulsar execute para cargar la configuración seleccionada e iniciar MySQL.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2005/10/15/instalar-php-y-mysql/feed/</wfw:commentRss>
		<slash:comments>167</slash:comments>
		</item>
		<item>
		<title>Instalar un servidor web: Apache</title>
		<link>http://mundogeek.net/archivos/2005/09/30/instalar-un-servidor-web-apache/</link>
		<comments>http://mundogeek.net/archivos/2005/09/30/instalar-un-servidor-web-apache/#comments</comments>
		<pubDate>Fri, 30 Sep 2005 17:32:03 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[servidor-web]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://mundogeek.net/archivos/2005/09/30/instalar-un-servidor-web-apache/</guid>
		<description><![CDATA[Si leíste el artículo sobre DNS dinámicas con No-IP que escribí hace unos días, recordarás que comentamos de pasada los servidores web. Un servidor web no es más que un programa que ejecuta de forma continua en un ordenador (también se utiliza el término para referirse al ordenador que lo ejecuta), manteniéndose a la espera [...]]]></description>
			<content:encoded><![CDATA[<p>Si leíste el artículo sobre <a href="http://mundogeek.net/archivos/2005/09/28/no-ip/" title="Paso a paso sobre el registro de un subdominio gratuito con No-IP" hreflang="es">DNS dinámicas con No-IP</a> que escribí hace unos días, recordarás que comentamos de pasada los servidores web.</p>
<p>Un servidor web no es más que un programa que ejecuta de forma continua en un ordenador (también se utiliza el término para referirse al ordenador que lo ejecuta), manteniéndose a la espera de peticiones por parte de un cliente (un navegador de internet) y que contesta a estas peticiones de forma adecuada, sirviendo una página web que será mostrada en el navegador o mostrando el mensaje correspondiente si se detectó algún error.</p>
<p>Instalar un servidor web en nuestro PC nos permitirá, entre otras cosas, poder montar nuestra propia página web sin necesidad de contratar hosting, probar nuestros desarrollos en local, acceder a los ficheros de nuestro ordenador desde un PC remoto (aunque para esto existen otras alternativas, como utilizar un servidor FTP) o utilizar alguno de los programas basados en web tan interesantes que están viendo la luz ultimamente.</p>
<p>Uno de los servidores web más populares del mercado, y el más utilizado actualmente, es Apache, de código abierto y gratuito, disponible para Windows y GNU/Linux, entre otros. Su instalación es bastante sencilla, pero antes de empezar con ella te recomendaría leer, si no lo has hecho ya, el artículo sobre No-IP que comentaba para crear un subdominio que apunte a tu PC, y poder utilizar una URL del tipo Nombre.no-ip.org para acceder a éste en lugar de tener que recordar su dirección IP. Si tu IP es dinámica no te queda más remedio que leerlo y aplicarlo.<span id="more-683"></span></p>
<p>Y ahora, si estás listo para comenzar, podemos empezar <a href="http://httpd.apache.org/download.cgi" title="Descarga del servidor web Apache" hreflang="en-us">descargando el servidor web Apache</a> desde la página de la Fundación del mismo nombre, haciendo click sobre el enlace Win32 Binary bajo la sección &#8220;best available version&#8221; (mejor versión disponible), asumiendo que utilizas Windows.</p>
<p>Una vez descargado el programa de instalación, pasamos a instalar el servidor web ejecutando el archivo obtenido. Acepta la licencia y pulsa siguiente (Next) hasta que nos pregunte por el dominio, nombre de servidor y correo web del administrador del servidor. Para los dos primeros campos, introduciremos el subdominio que creamos para nuestro PC en No-IP. Rellena el campo de email del administrador con una dirección cualquiera mediante la que se puedan poner en contacto contigo.</p>
<p>Por último, se nos pide que seleccionemos también si queremos que el servidor responda en el puerto 80 para todos los usuarios, o bien que sólo se active de forma manual, para el usuario actual, y en el puerto 8080. Lo normal es seleccionar la primera opción.</p>
<p><img src="http://img314.imageshack.us/img314/8828/apacheinstalacion5cr.png" alt="Información del servidor en la instalación de Apache" /></p>
<p>Pulsa siguiente un par de veces para terminar la instalación. Una vez instalado, deberíamos ser capaces de acceder al servidor web mediante un navegador introduciendo el nombre de dominio de nuestro PC en la barra de direcciones. El navegador mostrará una página web confirmándonos que Apache se ha instalado correctamente, similar a la siguiente.</p>
<p><img src="http://img314.imageshack.us/img314/7206/apachedefecto8fh.png" alt="Página de índice por defecto de Apache" /></p>
<p>Basta con copiar los archivos que queramos en la carpeta htdocs dentro del directorio donde instalamos Apache para que estos estén disponibles en el servidor.</p>
<p>Una vez llegados a este punto sólo resta configurar el servidor para adaptarlo a nuestras necesidades. El proceso de configuración de Apache se lleva a cabo a través de una archivo de configuración en modo texto llamado httpd.conf que podemos encontrar en la carpeta conf, o bien a través del menú de inicio de Windows en Configure Apache Server -> Edit the Apache httpd.conf Configuration File.</p>
<p>Se han escrito libros enteros sobre la configuración y uso de Apache, por lo que esto queda lejos del propósito de este artículo. Si te interesa mancharte las manos y personalizar totalmente el servidor echa un vistazo a la <a href="http://httpd.apache.org/docs-project/">documentación de Apache</a> en la web de la Fundación.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2005/09/30/instalar-un-servidor-web-apache/feed/</wfw:commentRss>
		<slash:comments>219</slash:comments>
		</item>
	</channel>
</rss>

