<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Infraestructura y Servicios</title>
	
	<link>http://www.niquepa.com</link>
	<description>Tips de administración de servidores y herramientas Web</description>
	<lastBuildDate>Tue, 17 Jan 2012 20:56:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/InfraestructuraYServicios" /><feedburner:info uri="infraestructurayservicios" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Habilitar modo de autenticación mixto en Sql Server</title>
		<link>http://feedproxy.google.com/~r/InfraestructuraYServicios/~3/mWwWAC4X--Y/</link>
		<comments>http://www.niquepa.com/2012/01/habilitar-modo-de-autenticacion-mixto-en-sql-server/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 20:56:40 +0000</pubDate>
		<dc:creator>Carlos Castillo</dc:creator>
				<category><![CDATA[Admin-tips]]></category>
		<category><![CDATA[Configuración]]></category>
		<category><![CDATA[InfraEstructura]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[autenticacion]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[inicio de sesion]]></category>
		<category><![CDATA[mixto]]></category>
		<category><![CDATA[sesion]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[SqlServer]]></category>
		<category><![CDATA[SqlServer Management Studio]]></category>
		<category><![CDATA[usuario]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.niquepa.com/?p=208</guid>
		<description><![CDATA[En ocasiones cuando instalamos una instancia de Sql Server no podemos conectarnos con usuarios de SqlServer y solo es posible hacerlo con el usuario de windows. En estos casos el servidor nos arroja un mensaje como el siguiente: &#8220;Error de inicio de sesión del usuario &#8216;&#8216;. (Proveedor de datos .Net SqlClient)&#8221; para solucionarlo lo que [...]]]></description>
			<content:encoded><![CDATA[<p>En ocasiones cuando instalamos una instancia de Sql Server no podemos conectarnos con usuarios de SqlServer y solo es posible hacerlo con el usuario de windows. En estos casos el servidor nos arroja un mensaje como el siguiente:</p>
<blockquote><p>&#8220;Error de inicio de sesión del usuario &#8216;<nombreDeUsuario>&#8216;. (Proveedor de datos .Net SqlClient)&#8221;</p></blockquote>
<p>para solucionarlo lo que debemos hacer es habilitar el modo de autenticación mixto, aca les dejo los pasos para realizarlo:</p>
<p>1. Abrimos SQL Server Management Studio Express o SQL Server Management Studio, dependiendo de su versión de SQL.<br />
2. Ingrese la información solicitada:<br />
    1. Server Type: selecciones el motor de la Base de datos<br />
    2. Server Name: este campo debe ser completado con el nombre del servidor<br />
    3. Authentication: seleccione autenticación de Windows<br />
3. Clic en “Conectar”<br />
4. Clic derecho en el nombre del servidor de base de datos y luego en “Propiedades”.<br />
5. Clic en “Seguridad”.<br />
6. Sobre la solapa “Autenticación del Servidor” Seleccione SQL y Modo de Autenticación de Windows<br />
7. Clic en OK.<br />
8. Clic derecho sobre el nombre del servidor, y seleccione “Reiniciar”. Espere unos momentos para que se reinicie el servicio y los cambios surtan efecto.</p>
<p>Espero sea de utilidad para todos.</p>
<h2  class="related_post_title">Parecidas</h2><ul class="related_post"><li><a href="http://www.niquepa.com/2011/06/telnet-en-windows-2008/" title="Telnet en Windows 2008">Telnet en Windows 2008</a></li><li><a href="http://www.niquepa.com/2010/06/comandos-linux-para-asignar-propietario-de-archivos-y-carpetas/" title="Comandos linux para asignar propietario de archivos y carpetas">Comandos linux para asignar propietario de archivos y carpetas</a></li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/VGR7bM90vDOho63DsqdoCIJe0Vk/0/da"><img src="http://feedads.g.doubleclick.net/~a/VGR7bM90vDOho63DsqdoCIJe0Vk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/VGR7bM90vDOho63DsqdoCIJe0Vk/1/da"><img src="http://feedads.g.doubleclick.net/~a/VGR7bM90vDOho63DsqdoCIJe0Vk/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/InfraestructuraYServicios/~4/mWwWAC4X--Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.niquepa.com/2012/01/habilitar-modo-de-autenticacion-mixto-en-sql-server/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.niquepa.com/2012/01/habilitar-modo-de-autenticacion-mixto-en-sql-server/</feedburner:origLink></item>
		<item>
		<title>5 cosas que perjudican la Escalabilidad</title>
		<link>http://feedproxy.google.com/~r/InfraestructuraYServicios/~3/Y5AjLNW155E/</link>
		<comments>http://www.niquepa.com/2011/09/5-cosas-que-perjudican-la-escalabilidad-disponibilidad/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 22:05:16 +0000</pubDate>
		<dc:creator>Carlos Castillo</dc:creator>
				<category><![CDATA[Admin-tips]]></category>
		<category><![CDATA[Escalabilidad]]></category>
		<category><![CDATA[InfraEstructura]]></category>
		<category><![CDATA[bases de datos]]></category>
		<category><![CDATA[bloqueo]]></category>
		<category><![CDATA[disponibilidad]]></category>
		<category><![CDATA[escalabilidad]]></category>
		<category><![CDATA[metricas]]></category>
		<category><![CDATA[MySql]]></category>
		<category><![CDATA[ORM]]></category>
		<category><![CDATA[procesos]]></category>
		<category><![CDATA[sincrono]]></category>

		<guid isPermaLink="false">http://www.niquepa.com/?p=199</guid>
		<description><![CDATA[Mapeadores de Objetos Relacionales (ORM) Los ORM permiten a los desarrolladores ser más productivos, evitando las dificultades de la interacción con la Base de Datos, y permitiendoles concentrarse en las funcionalidades y las caracteristicas de las aplicaciones. Desde el lado de Rendimiento la imagen es bien diferente, al permitir que un ORM sea quien construya [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.niquepa.com/wp-content/uploads/2011/09/scalability.jpg"><img src="http://www.niquepa.com/wp-content/uploads/2011/09/scalability.jpg" alt="" title="scalability" width="297" height="229" class="aligncenter size-full wp-image-204" /></a><br />
<strong>Mapeadores de Objetos Relacionales (ORM)</strong></p>
<p>Los ORM permiten a los desarrolladores ser más productivos, evitando las dificultades de la interacción con la Base de Datos, y permitiendoles concentrarse en las funcionalidades y las caracteristicas de las aplicaciones.</p>
<p>Desde el lado de Rendimiento la imagen es bien diferente, al permitir que un ORM sea quien construya las consultas que se ejecutan, tendremos consultas bien complejas que la Base de Datos no podra optimizar de la mejor manera.</p>
<p><strong>Procesos sincronos, seriales, acoplados o bloqueantes</strong></p>
<p>Se deben evitar al maximo posible los procesos que generan bloqueos a nivel de Base de Datos, si definitivamente lo necesitamos lo mejor es usar tablas de tipo InnoDB, las cuales generan bloqueos a nivel de registro, y no bloqueos a nivel de tabla como trabaja MyIsam.</p>
<p>Evite procesos sincronos o semi-sincronos, los cuales esperan la respuesta de otro servicio para continuar y detienen la ejecución de codigo. En una aplicacion altamente transaccional estas esperas pueden resultar en miles de sesiones simultaneas o concurrentes.</p>
<p><strong>Unica copia de la Base de Datos</strong></p>
<p>Sin replicación, dependemos de una unica Base de Datos. Con esta configuración limitamos a nuestros WebServers a usar una unica Base de Datos, lo cual obviamente resultara en un cuello de Botella para nuestra aplicación.</p>
<p>Lo mejor es tener varias Bases de Datos, y dar la opcion a nuestros WebServers de utilizar la que ellos consideren adecuada, o mejor la que nuestro algoritmo dictamina debemos usar.</p>
<p><strong>No tener Metricas</strong></p>
<p>Sin metricas no podremos tener un panorama de lo que sucede en nuestra infraestructura cada vez que tenemos una nueva funcionalidad al aire, o cuando estamos teniendo problemas en nuestra aplicacion, sin este tipo de informacion nuestro equipo de Ingenieros no podran estar sensibilizados sobre lo que esto supone y sera mas dificil que trabajemos en pos de mejorar.</p>
<p>Existen muchas soluciones que trabajan con SNMP y que no son invasivas, para citar algunas Cacti, Munin, OpenNMS, Ganglia y Zabbix.</p>
<p>Las metricas deben incluir metricas de negocio como Cantidad de usuarios registrados, Numero de comentarios por hora, Numero de articulos vendidos; asi como las metricas tecnicas de infraestructura como Espacio en disco, Memoria disponible, Numero de procesos ejecutandose, consultas por segundo.</p>
<p><strong>Banderas de funcionalidades</strong></p>
<p>En las aplicaciones que son construidas sin banderas de funcionalidades es mucho mas dificil degradar correctamente. </p>
<p>Cuando un sitio esta teniendo un pico de trafico o de request y no es posible escalar o expander la capacidad, las banderas permitiran bajar funcionalidades mientras la carga baja en los servidores sin tener que bajar el sitio por completo. Esto le dara tiempo para poder realizar los ajustes necesarios.</p>
<p>Sin estas recomendaciones limitara la Escalabilidad y la Disponibilidad de las aplicaciones.</p>
<h2  class="related_post_title">Parecidas</h2><ul class="related_post"><li><a href="http://www.niquepa.com/2010/06/los-4-secretos-de-escalabilidad-en-facebook/" title="Los 4 secretos de escalabilidad en Facebook">Los 4 secretos de escalabilidad en Facebook</a></li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/FQ0xctiDhf2pP0aPoEV9ugVWCNg/0/da"><img src="http://feedads.g.doubleclick.net/~a/FQ0xctiDhf2pP0aPoEV9ugVWCNg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/FQ0xctiDhf2pP0aPoEV9ugVWCNg/1/da"><img src="http://feedads.g.doubleclick.net/~a/FQ0xctiDhf2pP0aPoEV9ugVWCNg/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/InfraestructuraYServicios/~4/Y5AjLNW155E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.niquepa.com/2011/09/5-cosas-que-perjudican-la-escalabilidad-disponibilidad/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		<feedburner:origLink>http://www.niquepa.com/2011/09/5-cosas-que-perjudican-la-escalabilidad-disponibilidad/</feedburner:origLink></item>
		<item>
		<title>Vallenato Muerte Osama Bin Laden</title>
		<link>http://feedproxy.google.com/~r/InfraestructuraYServicios/~3/g6quiXzyDLI/</link>
		<comments>http://www.niquepa.com/2011/09/vallenato-muerte-osama-bin-laden/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 20:09:10 +0000</pubDate>
		<dc:creator>Carlos Castillo</dc:creator>
				<category><![CDATA[Dia a Dia]]></category>
		<category><![CDATA[Muerte]]></category>
		<category><![CDATA[Osama Bin Laden]]></category>
		<category><![CDATA[Te acabaste cabo e vela]]></category>
		<category><![CDATA[USA]]></category>
		<category><![CDATA[Vallenato]]></category>

		<guid isPermaLink="false">http://www.niquepa.com/?p=196</guid>
		<description><![CDATA[Hace un par de meses realice un viaje a Santa Marta, mas o menos a dos horas de llegar a mi destino en un paso restringido a un solo carril me ofrecieron un CD compilacion de Vallenatos en MP3, la primer cancion que tenia el CD era una relacionada a la muerte de Osama Bin [...]]]></description>
			<content:encoded><![CDATA[<p>Hace un par de meses realice un viaje a Santa Marta, mas o menos a dos horas de llegar a mi destino en un paso restringido a un solo carril me ofrecieron un CD compilacion de Vallenatos en MP3, la primer cancion que tenia el CD era una relacionada a la muerte de Osama Bin Laden por manos de USA, Te acabaste cabo e Vela, la verdad la letra me ha hecho reir demasiado &#8230; aca les dejo el Video para que la escuchen &#8230; &#8220;Se te cayo el carriel barba de chivo&#8221; &#8230;.</p>
<p><iframe width="420" height="315" src="http://www.youtube.com/embed/y9OQyjSDll4" frameborder="0" allowfullscreen></iframe></p>
<h2  class="related_post_title">Parecidas</h2><ul class="related_post"><li>No Related Post</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/Q64vXW1R5IlLgCqTMjOrzyX_Qac/0/da"><img src="http://feedads.g.doubleclick.net/~a/Q64vXW1R5IlLgCqTMjOrzyX_Qac/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Q64vXW1R5IlLgCqTMjOrzyX_Qac/1/da"><img src="http://feedads.g.doubleclick.net/~a/Q64vXW1R5IlLgCqTMjOrzyX_Qac/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/InfraestructuraYServicios/~4/g6quiXzyDLI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.niquepa.com/2011/09/vallenato-muerte-osama-bin-laden/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.niquepa.com/2011/09/vallenato-muerte-osama-bin-laden/</feedburner:origLink></item>
		<item>
		<title>Telnet en Windows 2008</title>
		<link>http://feedproxy.google.com/~r/InfraestructuraYServicios/~3/ndnd4EP68xs/</link>
		<comments>http://www.niquepa.com/2011/06/telnet-en-windows-2008/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 00:51:22 +0000</pubDate>
		<dc:creator>Carlos Castillo</dc:creator>
				<category><![CDATA[Admin-tips]]></category>
		<category><![CDATA[Configuración]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[2008]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[instalar]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[servermanagercmd]]></category>
		<category><![CDATA[telnet]]></category>
		<category><![CDATA[telnet client]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[windows server 2008]]></category>

		<guid isPermaLink="false">http://www.niquepa.com/?p=189</guid>
		<description><![CDATA[El servicio de Telnet no se encuentra Instalado por defecto en el Windows Server 2008, por tal razon es necesario instalarlo desde la linea de comandos. Para instalarlo solo tenemos que ejecutar la siguiente linea: servermanagercmd -install telnet-client Y listo, ya podremos acceder al cliente de telnet desde el cmd de windows. Si adicionalmente queremos [...]]]></description>
			<content:encoded><![CDATA[<p>El servicio de Telnet no se encuentra Instalado por defecto en el Windows Server 2008, por tal razon es necesario instalarlo desde la linea de comandos.</p>
<p>Para instalarlo solo tenemos que ejecutar la siguiente linea:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;">servermanagercmd -install telnet-client</pre></div></div>

<p>Y listo, ya podremos acceder al cliente de telnet desde el cmd de windows.</p>
<p>Si adicionalmente queremos saber que otras utilidades se pueden instalar, lo podemos hacer con el siguiente comando:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;">servermanagercmd -query</pre></div></div>

<h2  class="related_post_title">Parecidas</h2><ul class="related_post"><li><a href="http://www.niquepa.com/2012/01/habilitar-modo-de-autenticacion-mixto-en-sql-server/" title="Habilitar modo de autenticación mixto en Sql Server">Habilitar modo de autenticación mixto en Sql Server</a></li><li><a href="http://www.niquepa.com/2010/12/nginx-virtual-hosts-multiples-sitios/" title="Nginx Virtual Hosts &#8211; Multiples sitios">Nginx Virtual Hosts &#8211; Multiples sitios</a></li><li><a href="http://www.niquepa.com/2010/06/los-4-secretos-de-escalabilidad-en-facebook/" title="Los 4 secretos de escalabilidad en Facebook">Los 4 secretos de escalabilidad en Facebook</a></li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/SoUvc6_MizCkwHhKjV0BH2LDdvc/0/da"><img src="http://feedads.g.doubleclick.net/~a/SoUvc6_MizCkwHhKjV0BH2LDdvc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/SoUvc6_MizCkwHhKjV0BH2LDdvc/1/da"><img src="http://feedads.g.doubleclick.net/~a/SoUvc6_MizCkwHhKjV0BH2LDdvc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/InfraestructuraYServicios/~4/ndnd4EP68xs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.niquepa.com/2011/06/telnet-en-windows-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.niquepa.com/2011/06/telnet-en-windows-2008/</feedburner:origLink></item>
		<item>
		<title>Ejecutar javascript cargado por ajax</title>
		<link>http://feedproxy.google.com/~r/InfraestructuraYServicios/~3/xSn4xlpNr0w/</link>
		<comments>http://www.niquepa.com/2010/12/ejecutar-javascript-cargado-por-ajax/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 23:51:06 +0000</pubDate>
		<dc:creator>Carlos Castillo</dc:creator>
				<category><![CDATA[Admin-tips]]></category>
		<category><![CDATA[Dia a Dia]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[appendChild]]></category>
		<category><![CDATA[callback]]></category>
		<category><![CDATA[createElement]]></category>
		<category><![CDATA[ejecutar]]></category>
		<category><![CDATA[getElementById]]></category>
		<category><![CDATA[getElementsByTagName]]></category>
		<category><![CDATA[head]]></category>
		<category><![CDATA[innerHTML]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[response]]></category>
		<category><![CDATA[respuesta]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.niquepa.com/?p=175</guid>
		<description><![CDATA[Muchas veces tenemos queremos cargar por ajax una pagina o servicio y ejecutar un código javascript que viene en la respuesta, debido a que la respuesta del ajax es simple texto, esto no es posible de manera natural. Por tal razón es necesario parsear el código javascript de la respuesta y adicionarlo al elemento &#60;HEAD&#62; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.niquepa.com/wp-content/uploads/2010/12/javascriptRino.jpg"><img class="size-full wp-image-184  aligncenter" title="javascriptRino" src="http://www.niquepa.com/wp-content/uploads/2010/12/javascriptRino.jpg" alt="" width="250" height="201" /></a></p>
<p>Muchas veces tenemos queremos cargar por ajax una pagina o servicio y ejecutar un código javascript que viene en la respuesta, debido a que la respuesta del ajax es simple texto, esto no es posible de manera natural. Por tal razón es necesario parsear el código javascript de la respuesta y adicionarlo al elemento &lt;HEAD&gt;  del documento, para poder utilizarlo posteriormente.</p>
<p>Vamos a ver esto por medio de un ejemplo donde cargamos por ajax una página que se encarga de actualizar la información de un div por medio de javascript. Se que esto se puede hacer directamente, simplemente es para efectos de demostrar como se haria.</p>
<p>La siguiente es la respuesta que devuelve la página que es llamada por ajax:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;ajax-js&quot;</span>&gt;</span>
Este div se cargará por medio de AJAX y despues se actualizara 
desde una función que esta en esta misma respuesta
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span>
document.getElementById(&quot;ajax-js&quot;).innerHTML = &quot;Ya fui actualizado desde JS&quot;;
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div>

<p>Ahora en la página donde hacemos el llamado ajax es necesario colocar la función que se encargara de hacer el parseo de la respuesta, y hacer el llamado a la función una vez la página se ha cargado en su totalidad:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script<span style="color: #339933;">&gt;</span>
&nbsp;
 <span style="color: #003366; font-weight: bold;">function</span> runJS<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> 
<span style="color: #009900;">&#123;</span> 
&nbsp;
    <span style="color: #003366; font-weight: bold;">var</span> search <span style="color: #339933;">=</span> CONTENIDO DE LA RESPUESTA AJAX<span style="color: #339933;">;</span>
    <span style="color: #003366; font-weight: bold;">var</span> script<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000066; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span> script <span style="color: #339933;">=</span> search.<span style="color: #660066;">match</span><span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/(&lt;script[^&gt;]+javascript[^&gt;]+&gt;\s*(&lt;!--)?)/i</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> 
    <span style="color: #009900;">&#123;</span> 
      search <span style="color: #339933;">=</span> search.<span style="color: #660066;">substr</span><span style="color: #009900;">&#40;</span>search.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span>RegExp.$1<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> RegExp.$1.<span style="color: #660066;">length</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
      <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span>endscript <span style="color: #339933;">=</span> search.<span style="color: #660066;">match</span><span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/((--&gt;)?\s*&lt;\/script&gt;)/</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066; font-weight: bold;">break</span><span style="color: #339933;">;</span> 
&nbsp;
      block <span style="color: #339933;">=</span> search.<span style="color: #660066;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> search.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span>RegExp.$1<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
      search <span style="color: #339933;">=</span> search.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span>block.<span style="color: #660066;">length</span> <span style="color: #339933;">+</span> RegExp.$1.<span style="color: #660066;">length</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
      <span style="color: #003366; font-weight: bold;">var</span> oScript <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'script'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
      oScript.<span style="color: #660066;">text</span> <span style="color: #339933;">=</span> block<span style="color: #339933;">;</span> 
      document.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;head&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066; font-weight: bold;">item</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>oScript<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
    <span style="color: #009900;">&#125;</span> 
<span style="color: #009900;">&#125;</span>
&nbsp;
window.<span style="color: #000066;">onload</span><span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>runJS<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>De esta manera lograremos ejecutar funciones o codigo Javascript que ha sido cargado mediante AJAX.</p>
<p>En el ejemplo anterior omiti el llamado ajax y la asignación de la respuesta a la función runJS, hay diferentes maneras de hacerlo, como por ejemplo con jquery, donde en el callback del ajax podemos ejecutar la función runJS de una manera mas pro, para una próxima entrada les mostrare como hacerlo.</p>
<h2  class="related_post_title">Parecidas</h2><ul class="related_post"><li><a href="http://www.niquepa.com/2010/08/jquery-autocompletar/" title="Jquery &#8211; AutoCompletar">Jquery &#8211; AutoCompletar</a></li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/X9JjCUdgRCdUgDJ6EUvXgcJUXm0/0/da"><img src="http://feedads.g.doubleclick.net/~a/X9JjCUdgRCdUgDJ6EUvXgcJUXm0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/X9JjCUdgRCdUgDJ6EUvXgcJUXm0/1/da"><img src="http://feedads.g.doubleclick.net/~a/X9JjCUdgRCdUgDJ6EUvXgcJUXm0/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/InfraestructuraYServicios/~4/xSn4xlpNr0w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.niquepa.com/2010/12/ejecutar-javascript-cargado-por-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.niquepa.com/2010/12/ejecutar-javascript-cargado-por-ajax/</feedburner:origLink></item>
		<item>
		<title>Nginx Virtual Hosts – Multiples sitios</title>
		<link>http://feedproxy.google.com/~r/InfraestructuraYServicios/~3/wdzY94WAFVo/</link>
		<comments>http://www.niquepa.com/2010/12/nginx-virtual-hosts-multiples-sitios/#comments</comments>
		<pubDate>Thu, 02 Dec 2010 18:53:23 +0000</pubDate>
		<dc:creator>Carlos Castillo</dc:creator>
				<category><![CDATA[Configuración]]></category>
		<category><![CDATA[Escalabilidad]]></category>
		<category><![CDATA[InfraEstructura]]></category>
		<category><![CDATA[host]]></category>
		<category><![CDATA[Http]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ServerName]]></category>
		<category><![CDATA[virtualhost]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[webserver]]></category>

		<guid isPermaLink="false">http://www.niquepa.com/?p=163</guid>
		<description><![CDATA[En Apache es posible hacer que una unica instancia de la aplicación sirva, aloje, o responda por varios sitios web gracias a la directiva VirtualHost, en nginx es tambien posible hacer esto gracias a la directiva Server.  En una entrada anterior, Instalación de nginx como servidor estático, les hable sobre el servidor estático nginx y [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.niquepa.com/wp-content/uploads/2010/06/nginx-logo.png"><img class="size-full wp-image-6 alignleft" title="nginx-logo" src="http://www.niquepa.com/wp-content/uploads/2010/06/nginx-logo.png" alt="Nginx - web server y reverse proxy" width="350" height="90" /></a></p>
<p>En <a href="http://apache.org" target="_blank">Apache </a>es posible hacer que una unica instancia de la aplicación sirva, aloje, o responda por varios sitios web gracias a la directiva VirtualHost, en <a href="http://nginx.org" target="_blank">nginx </a>es tambien posible hacer esto gracias a la directiva Server.  En una entrada anterior, <a href="http://www.niquepa.com/2010/09/instalacion-de-nginx-como-servidor-estatico/" target="_blank">Instalación de nginx como servidor estático</a>, les hable sobre el servidor estático nginx y  como se instalaba,  a continuación voy a mostrarles como configurarlo para que aloje varios sitios web a la vez de una manera ordenada al mejor estilo de apache.</p>
<p>Lo primero que debemos hacer es crear la carpeta donde almacenaramos los archivos de configuración para cada uno de nuestros sitios:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>conf.d</pre></div></div>

<p>creamos el archivo de configuración para nuestro primer sitio</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">vi</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>conf.d<span style="color: #000000; font-weight: bold;">/</span>sitio1.conf</pre></div></div>

<p>y lo editamos</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">server {
	<span style="color: #00007f;">listen</span>       192.168.1.1:<span style="color: #ff0000;">80</span>;
	server_name  www.dominio1.com;
&nbsp;
	access_log  /var/log/dominio1/access.log  main;
	error_log /var/log/dominio1/error.log warn;
&nbsp;
	<span style="color: #adadad; font-style: italic;">#SECCION PRINCIPAL</span>
	location / {
		root /path/to/document/root/domain1;
		index index.html index.htm;
	}
	error_page <span style="color: #ff0000;">404</span> /error.html;
}</pre></div></div>

<p>creamos el archivo de configuración para nuestro segundo2sitio</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">vi</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>conf.d<span style="color: #000000; font-weight: bold;">/</span>sitio2.conf</pre></div></div>

<p>y lo editamos</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">server {
	<span style="color: #00007f;">listen</span> 192.168.1.1:<span style="color: #ff0000;">80</span>;
	server_name www.dominio2.com;
&nbsp;
	access_log /var/log/dominio2/access.log main;
	error_log /var/log/dominio2/error.log warn;
&nbsp;
	<span style="color: #adadad; font-style: italic;">#SECCION PRINCIPAL</span>
	location / {
		root /path/to/document/root/domain2;
		index index.html index.htm;
	}
	error_page <span style="color: #ff0000;">404</span> /error.html;
}</pre></div></div>

<p>En los archivos de configuración de los sitios la directiva Server es quien nos permite definir los diferentes sitios que queremos alojar en nginx, y el serverName es quien permitira distinguir a nginx a cual sitio el usuario quiere ingresar.</p>
<p>Ahora modificamos el archivo principal de configuración de nginx para indicarle donde debe buscar los archivos .conf que acabamos de crear, asi deberia verse el archivo principal</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">user</span> nginxuser nginxgroup;
worker_processes <span style="color: #ff0000;">4</span>;
worker_rlimit_nofile <span style="color: #ff0000;">10240</span>;
&nbsp;
events {
	worker_connections <span style="color: #ff0000;">2048</span>;
}
&nbsp;
http {
	<span style="color: #00007f;">include</span> mime.types;
	default_type application/octet-stream;
	server_name_in_redirect <span style="color: #0000ff;">off</span>;
	server_tokens <span style="color: #0000ff;">off</span>;
	<span style="color: #00007f;">include</span> /etc/nginx/conf.d/*.conf;
}</pre></div></div>

<p>Ahora lo unico que necesitamos es crear un archivo index dentro de cada una de las carpetas de los dos sitios, reiniciar el servidor nginx y acceder por browser a nuestros dos sitios según lo definido en la directiva ServerName, si son sitios locales necesitaremos modificar nuestro archivos hosts</span></p>
<p></span></span></p>
<h2  class="related_post_title">Parecidas</h2><ul class="related_post"><li><a href="http://www.niquepa.com/2010/09/instalacion-de-nginx-como-servidor-estatico/" title="Instalación de Nginx como servidor estático">Instalación de Nginx como servidor estático</a></li><li><a href="http://www.niquepa.com/2010/06/los-4-secretos-de-escalabilidad-en-facebook/" title="Los 4 secretos de escalabilidad en Facebook">Los 4 secretos de escalabilidad en Facebook</a></li><li><a href="http://www.niquepa.com/2010/06/nginx-web-server-y-reverse-proxy/" title="Nginx &#8211; web server y reverse proxy">Nginx &#8211; web server y reverse proxy</a></li><li><a href="http://www.niquepa.com/2010/11/instalar-app-zendframework-en-hosting-compartido/" title="Instalar app ZendFramework en hosting compartido">Instalar app ZendFramework en hosting compartido</a></li><li><a href="http://www.niquepa.com/2011/06/telnet-en-windows-2008/" title="Telnet en Windows 2008">Telnet en Windows 2008</a></li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/DFA1m5PWYHeYMHQAHuSJgVVAWqI/0/da"><img src="http://feedads.g.doubleclick.net/~a/DFA1m5PWYHeYMHQAHuSJgVVAWqI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/DFA1m5PWYHeYMHQAHuSJgVVAWqI/1/da"><img src="http://feedads.g.doubleclick.net/~a/DFA1m5PWYHeYMHQAHuSJgVVAWqI/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/InfraestructuraYServicios/~4/wdzY94WAFVo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.niquepa.com/2010/12/nginx-virtual-hosts-multiples-sitios/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.niquepa.com/2010/12/nginx-virtual-hosts-multiples-sitios/</feedburner:origLink></item>
		<item>
		<title>Galería Fotos en que Policia abusa de autoridad</title>
		<link>http://feedproxy.google.com/~r/InfraestructuraYServicios/~3/iRJH7_L_yew/</link>
		<comments>http://www.niquepa.com/2010/11/galeria-fotos-en-que-policia-abusa-de-autoridad/#comments</comments>
		<pubDate>Thu, 25 Nov 2010 19:37:45 +0000</pubDate>
		<dc:creator>Carlos Castillo</dc:creator>
				<category><![CDATA[Dia a Dia]]></category>
		<category><![CDATA[off topic]]></category>
		<category><![CDATA[abusivo]]></category>
		<category><![CDATA[abuso de poder]]></category>
		<category><![CDATA[bogotá]]></category>
		<category><![CDATA[comparendo]]></category>
		<category><![CDATA[grua]]></category>
		<category><![CDATA[policia]]></category>
		<category><![CDATA[transito]]></category>

		<guid isPermaLink="false">http://www.niquepa.com/?p=145</guid>
		<description><![CDATA[A las 10:30 AM de hoy 23 de noviembre de 2010, en el puente peatonal de la Calle 26 antes de la Avenida 68 costado occidental, a un señor se le llevaron el Carro por estar mal estacionado, hasta ahi normal…… el inconveniente radica en que el señor llego antes de que la grua arrancara [...]]]></description>
			<content:encoded><![CDATA[<p>A las 10:30 AM de hoy 23 de noviembre de 2010, en el puente peatonal  de la Calle 26 antes de la Avenida 68 costado occidental, a un señor se  le llevaron el Carro por estar mal estacionado, hasta ahi normal…… el  inconveniente radica en que el señor llego antes de que la grua  arrancara y solicito al policia le dejaran el carro y le colocara su  respectivo comparendo por estar mal estacionado, sin embargo el policia  se nego por lo cual el señor se metio debajo del carro, lastimosamente  no alcance a tomar las fotos donde lo saca a patadas….. acto seguido lo  tomo del cuello para que la grua pudiera arrancar…..</p>
<p>Aca les dejo la secuencia de lo sucedido, por favor compartanlo, no  podemos dejarnos seguir ultrajando y que abusen del poder que tienen los  policias…</p>
<p><a href="http://www.eltiempo.com" target="_blank">eltiempo.com</a> solo mostro una imagen por eso les dejo toda la galeria</p>

<a href='http://www.niquepa.com/2010/11/galeria-fotos-en-que-policia-abusa-de-autoridad/img_3285/' title='IMG_3285'><img width="150" height="150" src="http://www.niquepa.com/wp-content/uploads/2010/11/IMG_3285-150x150.jpg" class="attachment-thumbnail" alt="IMG_3285" title="IMG_3285" /></a>
<a href='http://www.niquepa.com/2010/11/galeria-fotos-en-que-policia-abusa-de-autoridad/img_3286/' title='IMG_3286'><img width="150" height="150" src="http://www.niquepa.com/wp-content/uploads/2010/11/IMG_3286-150x150.jpg" class="attachment-thumbnail" alt="IMG_3286" title="IMG_3286" /></a>
<a href='http://www.niquepa.com/2010/11/galeria-fotos-en-que-policia-abusa-de-autoridad/img_3287/' title='IMG_3287'><img width="150" height="150" src="http://www.niquepa.com/wp-content/uploads/2010/11/IMG_3287-150x150.jpg" class="attachment-thumbnail" alt="IMG_3287" title="IMG_3287" /></a>
<a href='http://www.niquepa.com/2010/11/galeria-fotos-en-que-policia-abusa-de-autoridad/img_3288-2/' title='IMG_3288'><img width="150" height="150" src="http://www.niquepa.com/wp-content/uploads/2010/11/IMG_32881-150x150.jpg" class="attachment-thumbnail" alt="IMG_3288" title="IMG_3288" /></a>
<a href='http://www.niquepa.com/2010/11/galeria-fotos-en-que-policia-abusa-de-autoridad/img_3289/' title='IMG_3289'><img width="150" height="150" src="http://www.niquepa.com/wp-content/uploads/2010/11/IMG_3289-150x150.jpg" class="attachment-thumbnail" alt="IMG_3289" title="IMG_3289" /></a>
<a href='http://www.niquepa.com/2010/11/galeria-fotos-en-que-policia-abusa-de-autoridad/img_3290/' title='IMG_3290'><img width="150" height="150" src="http://www.niquepa.com/wp-content/uploads/2010/11/IMG_3290-150x150.jpg" class="attachment-thumbnail" alt="IMG_3290" title="IMG_3290" /></a>
<a href='http://www.niquepa.com/2010/11/galeria-fotos-en-que-policia-abusa-de-autoridad/img_3291/' title='IMG_3291'><img width="150" height="150" src="http://www.niquepa.com/wp-content/uploads/2010/11/IMG_3291-150x150.jpg" class="attachment-thumbnail" alt="IMG_3291" title="IMG_3291" /></a>
<a href='http://www.niquepa.com/2010/11/galeria-fotos-en-que-policia-abusa-de-autoridad/img_3292/' title='IMG_3292'><img width="150" height="150" src="http://www.niquepa.com/wp-content/uploads/2010/11/IMG_3292-150x150.jpg" class="attachment-thumbnail" alt="IMG_3292" title="IMG_3292" /></a>
<a href='http://www.niquepa.com/2010/11/galeria-fotos-en-que-policia-abusa-de-autoridad/img_3293/' title='IMG_3293'><img width="150" height="150" src="http://www.niquepa.com/wp-content/uploads/2010/11/IMG_3293-150x150.jpg" class="attachment-thumbnail" alt="IMG_3293" title="IMG_3293" /></a>

<h2  class="related_post_title">Parecidas</h2><ul class="related_post"><li><a href="http://www.niquepa.com/2010/11/policia-abusa-de-poder-con-ciudadano/" title="Policia abusa de poder con ciudadano">Policia abusa de poder con ciudadano</a></li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/0xOtW0P2_YA_Lh74auXZ7IK2cYY/0/da"><img src="http://feedads.g.doubleclick.net/~a/0xOtW0P2_YA_Lh74auXZ7IK2cYY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/0xOtW0P2_YA_Lh74auXZ7IK2cYY/1/da"><img src="http://feedads.g.doubleclick.net/~a/0xOtW0P2_YA_Lh74auXZ7IK2cYY/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/InfraestructuraYServicios/~4/iRJH7_L_yew" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.niquepa.com/2010/11/galeria-fotos-en-que-policia-abusa-de-autoridad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.niquepa.com/2010/11/galeria-fotos-en-que-policia-abusa-de-autoridad/</feedburner:origLink></item>
		<item>
		<title>Policia abusa de poder con ciudadano</title>
		<link>http://feedproxy.google.com/~r/InfraestructuraYServicios/~3/V0jRRLofcLs/</link>
		<comments>http://www.niquepa.com/2010/11/policia-abusa-de-poder-con-ciudadano/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 16:59:03 +0000</pubDate>
		<dc:creator>Carlos Castillo</dc:creator>
				<category><![CDATA[Dia a Dia]]></category>
		<category><![CDATA[off topic]]></category>
		<category><![CDATA[abusivo]]></category>
		<category><![CDATA[abuso de poder]]></category>
		<category><![CDATA[bogotá]]></category>
		<category><![CDATA[comparendo]]></category>
		<category><![CDATA[denuncia]]></category>
		<category><![CDATA[grua]]></category>
		<category><![CDATA[policia]]></category>
		<category><![CDATA[transito]]></category>

		<guid isPermaLink="false">http://www.niquepa.com/?p=140</guid>
		<description><![CDATA[A las 10:30 AM de hoy 23 de noviembre de 2010, en el puente peatonal de la Calle 26 antes de la Avenida 68 costado occidental, a un señor se le llevaron el Carro por estar mal estacionado, hasta ahi normal&#8230;&#8230; el inconveniente radica en que el señor llego antes de que la grua arrancara [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.niquepa.com/wp-content/uploads/2010/11/IMG_3288.jpg"><img class="aligncenter size-full wp-image-143" title="Policia abusa de autoridad" src="http://www.niquepa.com/wp-content/uploads/2010/11/IMG_3288.jpg" alt="" width="768" height="576" /></a></p>
<p>A las 10:30 AM de hoy 23 de noviembre de 2010, en el puente peatonal de la Calle 26 antes de la Avenida 68 costado occidental, a un señor se le llevaron el Carro por estar mal estacionado, hasta ahi normal&#8230;&#8230; el inconveniente radica en que el señor llego antes de que la grua arrancara y solicito al policia le dejaran el carro y le colocara su respectivo comparendo por estar mal estacionado, sin embargo el policia se nego por lo cual el señor se metio debajo del carro, lastimosamente no alcance a tomar las fotos donde lo saca a patadas&#8230;.. acto seguido lo tomo del cuello para que la grua pudiera arrancar&#8230;..</p>
<p>Aca les dejo la secuencia de lo sucedido, por favor compartanlo, no podemos dejarnos seguir ultrajando y que abusen del poder que tienen los policias&#8230;</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/DaE6mk_oSEo?hl=es&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/DaE6mk_oSEo?hl=es&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h2  class="related_post_title">Parecidas</h2><ul class="related_post"><li><a href="http://www.niquepa.com/2010/11/galeria-fotos-en-que-policia-abusa-de-autoridad/" title="Galería Fotos en que Policia abusa de autoridad">Galería Fotos en que Policia abusa de autoridad</a></li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/BFgwEd2y8eu6OUzdSF7-1gsqWco/0/da"><img src="http://feedads.g.doubleclick.net/~a/BFgwEd2y8eu6OUzdSF7-1gsqWco/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/BFgwEd2y8eu6OUzdSF7-1gsqWco/1/da"><img src="http://feedads.g.doubleclick.net/~a/BFgwEd2y8eu6OUzdSF7-1gsqWco/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/InfraestructuraYServicios/~4/V0jRRLofcLs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.niquepa.com/2010/11/policia-abusa-de-poder-con-ciudadano/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.niquepa.com/2010/11/policia-abusa-de-poder-con-ciudadano/</feedburner:origLink></item>
		<item>
		<title>Como extraer un paquete RPM sin instalarlo (rpm extract command)</title>
		<link>http://feedproxy.google.com/~r/InfraestructuraYServicios/~3/yXIkqrQn3TQ/</link>
		<comments>http://www.niquepa.com/2010/11/como-extraer-un-paquete-rpm-sin-instalarlo-rpm-extract-command/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 13:22:29 +0000</pubDate>
		<dc:creator>Carlos Castillo</dc:creator>
				<category><![CDATA[Admin-tips]]></category>
		<category><![CDATA[InfraEstructura]]></category>
		<category><![CDATA[cpio]]></category>
		<category><![CDATA[extract]]></category>
		<category><![CDATA[extraer]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[rpm command]]></category>
		<category><![CDATA[rpm2cpio]]></category>

		<guid isPermaLink="false">http://www.niquepa.com/?p=138</guid>
		<description><![CDATA[No existe una opción directa en el comando rpm para extraer los archivos contenidos en un RPM, pero existe una utilidad disponible llamada rpm2cpio. Esta utilidad extrae el archivo cpio de un paquete RPM,  el cual es una secuencia de archivos y directorios en un unico archivo, es similar  a un archivo .tar. rpm2cpio convierte [...]]]></description>
			<content:encoded><![CDATA[<p>No existe una opción directa en el comando rpm para extraer los archivos contenidos en un RPM, pero existe una utilidad disponible llamada rpm2cpio. Esta utilidad extrae el archivo cpio de un paquete RPM,  el cual es una secuencia de archivos y directorios en un unico archivo, es similar  a un archivo .tar.</p>
<p>rpm2cpio convierte un archivo .rpm en un unico argumento para un archivo cpio en la salida estandar. Si un argumento &#8220;-&#8221; es definido, se tomara el rpm de la entrada estandar. La sintaxis es la siguiente:</p>
<p style="padding-left: 30px;"><span style="color: #ff9900;"><strong><em>rpm2cpio myrpmfile.rpm<br />
rpm2cpio &#8211; &lt; myrpmfile.rpm<br />
rpm2cpio myrpmfile.rpm | cpio -idmv</em></strong></span></p>
<p>Ejemplos &#8211; Extrayendo archivos de un RPM</p>
<p>Descargue un archivo RPM:</p>
<p style="padding-left: 30px;"><strong><em><span style="color: #ff9900;">$ mkdir test<br />
$ cd test<br />
$ wget http://www.somehost.com/files/lighttpd/rhel4-php5-fastcgi/php-5.1.4-1.esp1.x86_64.rpm</span></em></strong></p>
<p>Extraiga los archivos usando el comando rpm2cpio y el comando cpio:</p>
<p style="padding-left: 30px;"><strong><em><span style="color: #ff9900;">$ rpm2cpio php-5.1.4-1.esp1.x86_64.rpm | cpio -idmv</span></em></strong></p>
<p>Salida:</p>
<p style="padding-left: 30px;"><span style="color: #ff9900;"><em>/etc/httpd/conf.d/php.conf<br />
./etc/php.d<br />
./etc/php.ini<br />
./usr/bin/php<br />
./usr/bin/php-cgi<br />
./usr/lib64/httpd/modules/libphp5.so<br />
./usr/lib64/php<br />
./usr/lib64/php/modules<br />
&#8230;.<br />
&#8230;..<br />
..<br />
./var/lib/php/session<br />
./var/www/icons/php.gif<br />
19188 blocks</em></span></p>
<p>Opciones del comando cpio:</p>
<p style="padding-left: 30px;"><strong><em><span style="color: #ff9900;">-i: Restaura el archivo<br />
-d: Crea los directorios destino si es necesario<br />
-m: Mantiene las fechas de modificación de los archivos<br />
-v: muestra el progreso del comando</span></em></strong></p>
<p>Verifique que ha extraido el archivo RPM en el directorio actual:</p>
<p style="padding-left: 30px;"><strong><em><span style="color: #ff9900;">$ ls </span></em></strong></p>
<p>Output:</p>
<p style="padding-left: 30px;"><strong><em><span style="color: #ff9900;">etc  php-5.1.4-1.esp1.x86_64.rpm  usr  var</span></em></strong></p>
<p>Esto es muy util cuando se quieren extraer archivos de configuración o otro archivo contenido por RPM sin instalar todo el paquete</p>
<h2  class="related_post_title">Parecidas</h2><ul class="related_post"><li>No Related Post</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/NwAf2il3sE031gJjUsf18Un59uM/0/da"><img src="http://feedads.g.doubleclick.net/~a/NwAf2il3sE031gJjUsf18Un59uM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/NwAf2il3sE031gJjUsf18Un59uM/1/da"><img src="http://feedads.g.doubleclick.net/~a/NwAf2il3sE031gJjUsf18Un59uM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/InfraestructuraYServicios/~4/yXIkqrQn3TQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.niquepa.com/2010/11/como-extraer-un-paquete-rpm-sin-instalarlo-rpm-extract-command/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.niquepa.com/2010/11/como-extraer-un-paquete-rpm-sin-instalarlo-rpm-extract-command/</feedburner:origLink></item>
		<item>
		<title>Compilación modulos compartidos apache – Dynamic Shared Object (DSO)</title>
		<link>http://feedproxy.google.com/~r/InfraestructuraYServicios/~3/HLAzL4t9zZQ/</link>
		<comments>http://www.niquepa.com/2010/11/compilacion-modulos-compartidos-apache-dynamic-shared-object-dso/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 17:06:31 +0000</pubDate>
		<dc:creator>Carlos Castillo</dc:creator>
				<category><![CDATA[Admin-tips]]></category>
		<category><![CDATA[Configuración]]></category>
		<category><![CDATA[InfraEstructura]]></category>
		<category><![CDATA[--enable-so]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apxs]]></category>
		<category><![CDATA[compilar]]></category>
		<category><![CDATA[compile]]></category>
		<category><![CDATA[dso]]></category>
		<category><![CDATA[dynamic shared objects]]></category>
		<category><![CDATA[modules]]></category>
		<category><![CDATA[mod_foo.so]]></category>
		<category><![CDATA[mod_proxy.so]]></category>
		<category><![CDATA[mod_rewrite.so]]></category>

		<guid isPermaLink="false">http://www.niquepa.com/?p=130</guid>
		<description><![CDATA[Cuando instalamos el webserver de apache en un servidor o maquina casi siempre le decimos con que modulos adicionales queremos que este sea instalado, pero hay casos en que se nos olvida uno que otro modulo y en ocasiones es necesario reinstalar apache, php y otras aplicaciones relacionadas, lo cual nos quita bastante tiempo y [...]]]></description>
			<content:encoded><![CDATA[<p>Cuando instalamos el webserver de apache en un servidor o maquina casi siempre le decimos con que modulos adicionales queremos que este sea instalado, pero hay casos en que se nos olvida uno que otro modulo y en ocasiones es necesario reinstalar apache, php y otras aplicaciones relacionadas, lo cual nos quita bastante tiempo y hasta puede dejar por fuera del aire los sitios que tengamos allí alojados.</p>
<p>Ayer, tuve que reinstalar un apache y uno de los sitios era muy importante para todo el equipo de desarrolladores, por tal razón instale y copnfigure de manera rápida apache (<a title="Apache 2.2.17" href="http://httpd.apache.org/download.cgi#apache22" target="_blank">httpd-2.2.17</a>) y php (<a title="php 5.2.14" href="http://www.php.net/get/php-5.2.14.tar.gz/from/a/mirror" target="_blank">php-5.2.14</a>), con tan mala suerte que necesitaba algunos modulos adicionales que no especifique &#8230; lo primero que pense fue en recompilar el apache especificando los modulos y recompilar nuevamente php, pero por fortuna en la primer compilación le habia especificado a apache que en el futuro queria poder compilar modulos compartidos<em></em>, esto se hace de la siguiente manera:</p>
<p style="padding-left: 30px;"><span style="color: #ff9900;"><strong><em>./configure &#8211;prefix=/path/to/apache/apache &#8211;enable-so</em></strong></span></p>
<p>Ahora si a lo que vinimos, para compilar el modulo mod_foo es necesario tener los fuentes de apache y buscar el archivo mod_foo.c, la ruta puede ser</p>
<p style="padding-left: 30px;"><span style="color: #ff9900;"><strong><em>/path/to/source/httpd-2.2.17/modules/mappers/mod_foo.c</em></strong></span></p>
<p>y gracias a <a title="APXS - apache" href="http://httpd.apache.org/docs/current/programs/apxs.html" target="_blank">apxs</a>, herramienta para compilar e instalar modulos para apache que se encuentra en el directorio bin donde instalemos apache, podemos hacerlo mediante dos instrucciones sencillas.</p>
<p>En la primera le decimos a <a title="APXS - apache" href="http://httpd.apache.org/docs/current/programs/apxs.html" target="_blank">apxs </a>que compile el modulo deseado</p>
<p style="padding-left: 30px;"><span style="color: #ff9900;"><strong><em>/path/to/apache/apache/bin/apxs -c mod_foo.c</em></strong></span></p>
<p>si todo sale bien, en la misma carpeta encontraremos unos archivos como los siguientes</p>
<p style="padding-left: 30px;"><span style="color: #ff9900;"><em><strong>mod_foo.slo<br />
mod_foo.o<br />
mod_foo.lo<br />
mod_foo.la</strong></em></span></p>
<p>ya con estos archivos generados, y nuevamente gracias a <a title="APXS - apache" href="http://httpd.apache.org/docs/current/programs/apxs.html" target="_blank">apxs </a>podremos instalar el modulo en php, asi</p>
<p style="padding-left: 30px;"><span style="color: #ff9900;"><em><strong>/path/to/apache/apache/bin/apxs -i -a -n fooname mod_foo.la</strong></em></span></p>
<p>la opción -n nos permite definir el nombre con el cual quedara habilitado el modulo en el httpd.conf .</p>
<p>Solo nos resta revisar que todo este OK, revisamos que el archivo mod_foo.so este en la carpeta de los modulos de apache,</p>
<p style="padding-left: 30px;"><span style="color: #ff9900;"><strong><em>[root@myhost]# ls /local/aplicaciones/apache2.2.17/modules/<br />
httpd.exp             libphp5.so                mod_foo.so<br />
[root@myhost]# </em></strong></span></p>
<p>y que la directiva de LoadModule exista en el httpd.conf</p>
<p style="padding-left: 30px;"><span style="color: #ff9900;"><strong><em>LoadModule fooname_module         modules/mod_foo.so</em></strong></span></p>
<p>y listo, despues de reiniciar el apache ya podemos hacer uso del modulo en nuestros sitios</p>
<h2  class="related_post_title">Parecidas</h2><ul class="related_post"><li><a href="http://www.niquepa.com/2010/06/creando-un-rewrite-en-jboss/" title="Creando un rewrite en jBoss">Creando un rewrite en jBoss</a></li><li><a href="http://www.niquepa.com/2010/06/nginx-web-server-y-reverse-proxy/" title="Nginx &#8211; web server y reverse proxy">Nginx &#8211; web server y reverse proxy</a></li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/6IZcqCsjseY1YFdFSprT24QX_Wk/0/da"><img src="http://feedads.g.doubleclick.net/~a/6IZcqCsjseY1YFdFSprT24QX_Wk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/6IZcqCsjseY1YFdFSprT24QX_Wk/1/da"><img src="http://feedads.g.doubleclick.net/~a/6IZcqCsjseY1YFdFSprT24QX_Wk/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/InfraestructuraYServicios/~4/HLAzL4t9zZQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.niquepa.com/2010/11/compilacion-modulos-compartidos-apache-dynamic-shared-object-dso/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.niquepa.com/2010/11/compilacion-modulos-compartidos-apache-dynamic-shared-object-dso/</feedburner:origLink></item>
	</channel>
</rss>

