<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-7545504167066559554</atom:id><lastBuildDate>Wed, 09 Oct 2024 01:29:20 +0000</lastBuildDate><title>Juan Pablo Orradre</title><description>Mi blog personal.&#xa;&#xa;Comparto datos, hallazgos, experiencias en el campo de las tecnologías de la información (preferentemente libres).&#xa;&#xa;De vez en cuando puede aparecer alguna entrada relacionada a hobbies.&#xa;&#xa;Para regalar o regalarse :-)</description><link>http://jporradre.blogspot.com/</link><managingEditor>noreply@blogger.com (Juan Pablo Orradre)</managingEditor><generator>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7545504167066559554.post-3440029241508487808</guid><pubDate>Thu, 10 Dec 2015 16:15:00 +0000</pubDate><atom:updated>2015-12-10T13:15:01.143-03:00</atom:updated><title>Serializar objetos a JSON en Python</title><description>Una de las tareas frecuentes que se deben realizar a la hora de implementar cualquier aplicación hoy en día que precise generar datos a archivo es la serialización de datos a formato JSON.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En Java por ejemplo existe la librería JSON-Java para tal motivo (&lt;a href=&quot;https://github.com/douglascrockford/JSON-java&quot;&gt;https://github.com/douglascrockford/JSON-java&lt;/a&gt;).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En Python, de las mejores maneras de realizar esta tarea es con la librería&amp;nbsp;&lt;a href=&quot;https://jsonpickle.github.io/&quot;&gt;jsonpickle&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;jsonpickle&lt;/u&gt;&amp;nbsp;es una librería que permite serializar objetos complejos a formato JSON, a diferencia de la librería nativa json de Python que no tiene esa funcionalidad, ya que únicamente serializa objetos simples (sin objetos como atributos), colecciones o tuplas, por ejemplo.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para instalar la librería, basta correr un &lt;b&gt;pip install jsonpickle&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
A continuación un ejemplo de uso:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace;&quot;&gt;import jsonpickle;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace;&quot;&gt;from Object import Object;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace;&quot;&gt;mObjects = [];&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace;&quot;&gt;mObjects.append(Object(1,&quot;Object 1&quot;));&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace;&quot;&gt;mObjects.append(Object(2,&quot;Object 2&quot;));&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace;&quot;&gt;mJSON = jsonpickle.encode(mObjects);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace;&quot;&gt;file = open(&quot;/path/file/objects.json&quot;, &quot;w&quot;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace;&quot;&gt;file.write(mJSON);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace;&quot;&gt;file.close();&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ejecutar el anterior código resultaría en un archivo .json con el siguiente contenido:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;[&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;{&quot;code&quot;:1 , &quot;name&quot;:&quot;Object1&quot;},&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;{&quot;code&quot;:2 , &quot;name&quot;:&quot;Object2&quot;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;http://feeds.feedburner.com/JuanPabloOrradre&lt;/div&gt;</description><link>http://jporradre.blogspot.com/2015/12/serializar-objetos-json-en-python.html</link><author>noreply@blogger.com (Juan Pablo Orradre)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7545504167066559554.post-68328571007045333</guid><pubDate>Sun, 06 Sep 2015 21:20:00 +0000</pubDate><atom:updated>2015-09-11T00:21:03.803-03:00</atom:updated><title>Chequeos pasivos con Nagios, NSCA y Swatch</title><description>En el mundo del monitoreo de sistemas, Nagios es tal vez una de las más completas y utilizadas soluciones en ese rubro.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWWbPxOIB3WA5Zy5ME2gDLbP77GcC7SdUNq4jNTs1vBKDk84gCEL19HhJneObgB3ljj5-bvHihBlB75I5qDJkVPoJG6GdwAk1WNlCNECVIJ8VWz5lQu0I8J-80sxhdX23cMXshDVGekXs/s1600/nagios.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWWbPxOIB3WA5Zy5ME2gDLbP77GcC7SdUNq4jNTs1vBKDk84gCEL19HhJneObgB3ljj5-bvHihBlB75I5qDJkVPoJG6GdwAk1WNlCNECVIJ8VWz5lQu0I8J-80sxhdX23cMXshDVGekXs/s1600/nagios.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Generalmente, los chequeos que uno realiza son activos, es decir, se configura Nagios para controlar ciertos aspectos de distintos servicios/servidores.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Sin embargo, en ocasiones es necesario que el propio server que maneja servicios que se utilizan , realice los chequeos ante la presencia de algún evento en particular y luego le comunique a Nagios para que realice alguna acción eventualmente. Esto se conoce como &lt;i&gt;chequeo pasivo&lt;/i&gt; en Nagios.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Tiene como desventajas principales la necesidad de estar realizando avisos periódicos desde el server a Nagios para notificar el estado del servicio a monitorear, y también una mayor complejidad en la configuración.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En la presente entrada voy a explicar una manera de implementar un chequeo de log sobre un servidor Linux utilizando tres componentes: Nagios, NSCA y Swatch.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
NSCA&lt;/h3&gt;
&lt;div&gt;
En palabras de Nagios: &quot;NSCA es un demonio de Linux / Unix que permite integrar las alertas y controles pasivos de las máquinas remotas y aplicaciones con Nagios. Útil para las alertas de seguridad de proceso, así como las configuraciones de Nagios redundantes y distribuidos.&quot;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Se implementa mediante un demonio a la escucha de avisos desde los diferentes servers, el cual notifica al servicio de Nagios correspondiente; y el agente &lt;i&gt;send_nsca&lt;/i&gt;&amp;nbsp;ubicado en el nodo a monitorear, quien se encarga de enviar el aviso al demonio NSCA del servidor Nagios.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Dicho demonio se recomienda que sea manejado por el servicio xinetd, quien se encarga de gestionar el acceso y funcionamiento seguro al servicio.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
Swatch&lt;/h3&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Swatch (Simple Log Watcher) , es un software que aprovecha las virtudes de Perl para el trabajo con expresiones regulares, para realizar búsqueda de texto en archivos de texto.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;El siguiente recuadro resume la disposición de cada elemento en el esquema que vamos a desarrollar:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV5IUd43bVL2LjwWFXSB-_c3mM0J1S7JlDQI0rZTopR5Zs5K3kHo-ipzaGytzK42I6npzZ8Tkf3ARVcEW_4ajMR918LM4kFsVApwCev-yhIhc9CJy3dZoYo5lDq0Ci3ji-nVfnz62MBeU/s1600/Nagios.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;292&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV5IUd43bVL2LjwWFXSB-_c3mM0J1S7JlDQI0rZTopR5Zs5K3kHo-ipzaGytzK42I6npzZ8Tkf3ARVcEW_4ajMR918LM4kFsVApwCev-yhIhc9CJy3dZoYo5lDq0Ci3ji-nVfnz62MBeU/s400/Nagios.jpg&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;
Servidor Nagios&lt;/span&gt;&lt;/h2&gt;
&lt;h3 style=&quot;clear: both; text-align: left;&quot;&gt;
Configuración de NSCA&lt;/h3&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Para comenzar la implementación, en primera instancia desde el lado del servidor Nagios se debe levantar el demonio NSCA, y después habilitar el servicio Nagios.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Para lo primero, en el caso de un server Nagios instalado desde cero personalizadamente, se precisan descargar los fuentes desde Sourceforge, compilarlo y configurarlo como un demonio sobre xinetd. En caso de que Nagios corra sobre la máquina virtual que proporciona la firma no hay que realizar todo esto ya que viene incluido el binario con su configuración.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Para el segundo caso, se precisa únicamente configurar el acceso desde xinetd (/etc/xinetd.d/nsca) y la encripción de los datos (&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;/usr/local/nagios/etc/nsca.cfg).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;En /etc/xinetd.d/nsca se deben especificar los hosts o redes a aceptar para recibir los chequeos desde send_nsca:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;only_from &amp;nbsp; &amp;nbsp; &amp;nbsp; = REDES_O_HOSTS_A_ACEPTAR&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
En el archivo de configuración&amp;nbsp;/usr/local/nagios/etc/nsca.cfg se debe especificar la autenticación de la comunicación con el server a monitorear:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;password=contrasenia_secreta&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;decryption_method=10&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style=&quot;clear: both; text-align: left;&quot;&gt;
Configuración del servicio pasivo&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Para la configuración del servicio, se puede implementar un template para servicios pasivos y heredar desde el servicio a implementar desde él. En este caso se configura en /usr/local/nagios/etc/services/HOST_A_REVISAR.cfg lo siguiente:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;define service{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;use &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; generic-service&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;passive_service&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;active_checks_enabled &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;passive_checks_enabled &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 # We want only passive checking&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flap_detection_enabled &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;register &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 # This is a template, not a real service&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;is_volatile &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;check_period &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;24x7&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;max_check_attempts &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;normal_check_interval &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;retry_check_interval &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;check_freshness &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;contact_groups &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;admins&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;check_command &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; check_dummy!0!&quot;Initial OK&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;notification_interval &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 60&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;notification_period &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 24x7&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;notification_options &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;w,u,c,r&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stalking_options &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;w,c,u&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;define service{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;use &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; passive_service&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;service_description &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TestMessage&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;host_name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; localhost&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;check_freshness &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;freshness_threshold &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 60 # Time in second it will recheck and if not get result will alert as Critical&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;check_command &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; check_dummy!2!&quot;Didn&#39;t not got the response from Passive Check (Please Check)&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;
Servidor a chequear&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: inherit; line-height: 21.9999923706055px;&quot;&gt;Del lado del servidor a chequear, se debe instalar Swatch para revisar el o los logs correspondientes, y send_nsca para la notificación al servidor Nagios.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: inherit; font-size: 14px; line-height: 21.9999923706055px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h3 style=&quot;clear: both;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Send_nsca&lt;/span&gt;&lt;/h3&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: inherit; line-height: 21.9999923706055px;&quot;&gt;Para instalar send_nsca se deben descargar los fuentes desde su repositorio en Sourceforge, compilarlos y configurar la aplicación:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: gotham, helvetica, arial, sans-serif; line-height: 21.9999923706055px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;[root@server ~]# cd /tmp; wget&amp;nbsp;&lt;/span&gt;&lt;a data-mce-href=&quot;http://prdownloads.sourceforge.net/sourceforge/nagios/nsca-2.7.2.tar.gz&quot; href=&quot;http://prdownloads.sourceforge.net/sourceforge/nagios/nsca-2.7.2.tar.gz&quot; shape=&quot;rect&quot; style=&quot;border: 0px; cursor: pointer; line-height: 21.9999923706055px; margin: 0px; padding: 0px;&quot; target=&quot;_blank&quot;&gt;http://prdownloads.sourceforge.net/sourceforge/nagios/nsca-2.7.2.tar.gz&lt;/a&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;&amp;nbsp;; tar xvfz nsca-2.7.2.tar.gz; cd&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;nsca-2.7.2; ./configure&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: inherit; line-height: 21.9999923706055px;&quot;&gt;En este paso, es posible que se avise que no está instalado el módulo mcrypt, necesario para encriptar la comunicación entre NSCA y el server a monitorear. En dicho caso deberá ser instalado con sus herramientas de desarrollo:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;[root@&lt;/span&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;server&lt;/span&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;&amp;nbsp;nsca-2.7.2]# yum install libmcrypt libmcrypt-devel&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: gotham, helvetica, arial, sans-serif; line-height: 21.9999923706055px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: gotham, helvetica, arial, sans-serif; line-height: 21.9999923706055px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;Luego se compila&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;y se copia el binario y la configuración a sus respectivos directorios:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: gotham, helvetica, arial, sans-serif; line-height: 21.9999923706055px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace; line-height: 1.571428em;&quot;&gt;[root@&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;server&lt;/span&gt;&amp;nbsp;nsca-2.7.2]#&amp;nbsp;make all&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;[root@&lt;/span&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;server&lt;/span&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;nsca-2.7.2]# mkdir -p /usr/local/nagios/bin /usr/local/nagios/etc&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;[root@&lt;/span&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;server&lt;/span&gt;&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;&amp;nbsp;nsca-2.7.2]# cp src/send_nsca /usr/local/nagios/bin/&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;[root@&lt;/span&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;server&lt;/span&gt;&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;&amp;nbsp;nsca-2.7.2]# cp sample-config/send_nsca.cfg /usr/local/nagios/etc/&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;[root@&lt;/span&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;server&lt;/span&gt;&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;&amp;nbsp;nsca-2.7.2]# cd /usr/local/nagios/etc&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Paso siguiente, se configuran las credenciales de acceso a NSCA:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;[root@&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;server&lt;/span&gt;&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;&amp;nbsp;etc]# vi send_nsca.cfg&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;password=contrasenia_secreta&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;encryption_method=10&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;span style=&quot;font-family: gotham, helvetica, arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px; line-height: 21.9999923706055px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: gotham, helvetica, arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px; line-height: 21.9999923706055px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;h3 style=&quot;clear: both;&quot;&gt;
Swatch&lt;/h3&gt;
&lt;br /&gt;
&lt;div style=&quot;border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Bajar Swatch y descomprimirlo en /tmp desde&amp;nbsp;&lt;a data-mce-href=&quot;http://sourceforge.net/projects/swatch/files/latest/download&quot; href=&quot;http://sourceforge.net/projects/swatch/files/latest/download&quot; shape=&quot;rect&quot; style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; cursor: pointer; line-height: 1.571428em; margin: 0px; padding: 0px;&quot; target=&quot;_blank&quot;&gt;http://sourceforge.net/projects/swatch/files/latest/download&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Correr archivo Makefile.pl para generar Makefile :&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;[root@&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;server&lt;/span&gt;&amp;nbsp;swatch-3.2.3]# perl Makefile.PL&lt;br clear=&quot;none&quot; /&gt;Checking if your kit is complete...&lt;br clear=&quot;none&quot; /&gt;Looks good&lt;br clear=&quot;none&quot; /&gt;Warning: prerequisite Date::Calc 0 not found.&lt;br clear=&quot;none&quot; /&gt;Warning: prerequisite Date::Format 0 not found.&lt;br clear=&quot;none&quot; /&gt;Warning: prerequisite Date::Manip 0 not found.&lt;br clear=&quot;none&quot; /&gt;Warning: prerequisite File::Tail 0 not found.&lt;br clear=&quot;none&quot; /&gt;Writing Makefile for swatch&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;En caso que falten módulos, instalarlos (Ver&amp;nbsp;&lt;a data-mce-href=&quot;http://www.thegeekstuff.com/2008/09/how-to-install-perl-modules-manually-and-using-cpan-command/&quot; href=&quot;http://www.thegeekstuff.com/2008/09/how-to-install-perl-modules-manually-and-using-cpan-command/&quot; shape=&quot;rect&quot; style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; cursor: pointer; line-height: 1.571428em; margin: 0px; padding: 0px;&quot; target=&quot;_blank&quot;&gt;http://www.thegeekstuff.com/2008/09/how-to-install-perl-modules-manually-and-using-cpan-command/&lt;/a&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Ejemplo:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;[root@&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;server&lt;/span&gt;&amp;nbsp;swatch-3.2.3]# cpan&lt;br clear=&quot;none&quot; /&gt;Terminal does not support AddHistory.&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;cpan shell -- CPAN exploration and modules installation (v1.7602)&lt;br clear=&quot;none&quot; /&gt;ReadLine support available (try &#39;install Bundle::CPAN&#39;)&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;cpan&amp;gt;install Date::Calc&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Luego se debe instalar Swatch:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span style=&quot;font-family: Monaco, Courier, monospace; line-height: 1.571428em;&quot;&gt;[root@server swatch-3.2.3]# &lt;/span&gt;&lt;span style=&quot;font-family: Monaco, Courier, monospace;&quot;&gt;make
&lt;/span&gt;&lt;span style=&quot;font-family: Monaco, Courier, monospace; line-height: 1.571428em;&quot;&gt;[root@server swatch-3.2.3]# &lt;/span&gt;&lt;span style=&quot;font-family: Monaco, Courier, monospace;&quot;&gt;make test
&lt;/span&gt;&lt;span style=&quot;font-family: Monaco, Courier, monospace; line-height: 1.571428em;&quot;&gt;[root@server swatch-3.2.3]# &lt;/span&gt;&lt;span style=&quot;font-family: Monaco, Courier, monospace;&quot;&gt;make install
&lt;/span&gt;&lt;span style=&quot;font-family: Monaco, Courier, monospace; line-height: 1.571428em;&quot;&gt;[root@server swatch-3.2.3]# &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Monaco, Courier, monospace;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;make realclean&lt;/span&gt;

&lt;/span&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 25.1428470611572px; white-space: normal;&quot;&gt;Posteriormente , se debe crear el archivo de configuración de Swatch:&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 25.1428470611572px; white-space: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: Monaco, Courier, monospace;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;[root@server swatch-3.2.3]# mkdir -p /usr/local/swatch/etc/&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;[root@&lt;span style=&quot;font-family: gotham, helvetica, arial, sans-serif; line-height: 21.9999923706055px; white-space: normal;&quot;&gt;server&lt;/span&gt; swatch-3.2.3]# cd /usr/local/swatch/etc/&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 25.1428470611572px; white-space: normal;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 25.1428470611572px; white-space: normal;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 25.1428470611572px; white-space: normal;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 25.1428470611572px; white-space: normal;&quot;&gt;En el archivo .swatchrc se indican&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; line-height: 25.1428470611572px; white-space: normal;&quot;&gt;las acciones al encontrar un match con la expresión a buscar. &amp;nbsp;En este caso, al encontrar un matching, se graban en archivos temporales la línea del log y el código de error correspondiente a un warning; así como también se ejecuta el script que envía al servidor Nagios la información necesaria:&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; line-height: 25.1428470611572px; white-space: normal;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; line-height: 25.1428470611572px; white-space: normal;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 25.1428470611572px; white-space: normal;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 25.1428470611572px; white-space: normal;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;[root@&lt;span style=&quot;font-family: gotham, helvetica, arial, sans-serif; line-height: 21.9999923706055px; white-space: normal;&quot;&gt;server&lt;/span&gt; etc]# vi .swatchrc&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;watchfor /string_a_revisar/&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;    exec &quot;echo $_ &amp;gt; /var/run/svc_alertlogerr.msg&quot;
    exec &quot;echo 2 &amp;gt; /var/run/svc_alertlogerr.stat&quot;
    exec &quot;sh /usr/local/nagios/bin/svc_alertlogerr_stat.sh&quot;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;[root@&lt;span style=&quot;font-family: gotham, helvetica, arial, sans-serif; line-height: 21.9999923706055px; white-space: normal;&quot;&gt;server&lt;/span&gt; etc]# chmod 755 .swatchrc&lt;/span&gt;&lt;/pre&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 1.571428em; white-space: normal;&quot;&gt;Luego se setea en el archivo&amp;nbsp;&lt;/span&gt;&lt;i style=&quot;line-height: 1.571428em; white-space: normal;&quot;&gt;/etc/init.d/swatch&lt;/i&gt;&lt;span style=&quot;line-height: 1.571428em; white-space: normal;&quot;&gt;&amp;nbsp;a Swatch como un demonio para que permanezca&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;line-height: 20.4285640716553px; white-space: normal;&quot;&gt;continuamente&lt;/span&gt;&lt;span style=&quot;line-height: 1.571428em; white-space: normal;&quot;&gt;&amp;nbsp;revisando el o los logs:&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 1.571428em; white-space: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;#!/bin/bash
# Simple Log Watcher Init Script

case &quot;$1&quot; in
&#39;start&#39;)
  echo &quot;0&quot; &amp;gt; /var/run/svc_alertlogerr.stat
  /usr/bin/swatch --daemon --config-file=/usr/local/swatch/etc/.swatchrc --tail-file=/var/log/messages --pid-file=/var/run/swatch.pid
  ;;
&#39;stop&#39;)
  PID=`cat /var/run/swatch.pid`
  kill $PID
  ;;
*)
  echo &quot;Usage: $0 { start | stop }&quot;
  ;;
esac
exit 0&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: Monaco, Courier, monospace;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;[root@&lt;span style=&quot;font-family: gotham, helvetica, arial, sans-serif; line-height: 21.9999923706055px; white-space: normal;&quot;&gt;server&lt;/span&gt; init.d]# chmod 755 swatch&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 21.9999923706055px; white-space: normal;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 21.9999923706055px; white-space: normal;&quot;&gt;Posteriormente, se agenda una tarea en cron para que envíe al servidor Nagios el aviso de que el servicio está vivo según la frecuencia de refresco especificada en el servicio pasivo de Nagios:&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 21.9999923706055px; white-space: normal;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;[root@&lt;span style=&quot;font-family: gotham, helvetica, arial, sans-serif; line-height: 21.9999923706055px; white-space: normal;&quot;&gt;server&lt;/span&gt; etc]# crontab -e&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;*/2 * * * * /usr/local/nagios/bin/svc_alertlogerr_stat.sh&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;pre style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 21.9999923706055px; white-space: normal;&quot;&gt;Se debe agregar también una regla de iptables en /etc/sysconfig/iptables para aceptar la salida y entrada del server Nagios a través del puerto 5667 que utiliza NSCA por defecto, además de permitir el ping entrante para el control de actividad general del servidor en Nagios:&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;span style=&quot;background-color: white; line-height: 19.5px;&quot;&gt;&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;-A OUTPUT -p tcp -d IP_SERVER_NAGIOS --dport 5667 -j ACCEPT&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: &#39;Courier New&#39;, Courier, monospace; line-height: 19.5px;&quot;&gt;-A INPUT -p tcp -d IP_SERVER_NAGIOS --sport 5667 -j ACCEPT&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 19.5px;&quot;&gt;-A INPUT -p icmp&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #38761d; font-family: &#39;Courier New&#39;, Courier, monospace; line-height: 19.5px;&quot;&gt;-d IP_SERVER_NAGIOS&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #38761d; font-family: &#39;Courier New&#39;, Courier, monospace; line-height: 19.5px;&quot;&gt;--icmp-type echo-request -j ACCEPT&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 19.5px;&quot;&gt;-A OUTPUT -p icmp&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #38761d; font-family: &#39;Courier New&#39;, Courier, monospace; line-height: 19.5px;&quot;&gt;-d IP_SERVER_NAGIOS&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #38761d; font-family: &#39;Courier New&#39;, Courier, monospace; line-height: 19.5px;&quot;&gt;--icmp-type echo-reply -j ACCEPT&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 19.5px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 21.9999923706055px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 21.9999923706055px;&quot;&gt;Por último, en el servidor Nagios se deben reiniciar los servicios de xinetd y Nagios. Del lado del server a monitorear se deben reiniciar los servicios de iptables y ejecutar por primera vez el script de swatch (&lt;i&gt;/etc/init.d/swatch&lt;/i&gt;).&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;/h3&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;http://feeds.feedburner.com/JuanPabloOrradre&lt;/div&gt;</description><link>http://jporradre.blogspot.com/2015/09/chequeos-pasivos-con-nagios-nsca-y.html</link><author>noreply@blogger.com (Juan Pablo Orradre)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWWbPxOIB3WA5Zy5ME2gDLbP77GcC7SdUNq4jNTs1vBKDk84gCEL19HhJneObgB3ljj5-bvHihBlB75I5qDJkVPoJG6GdwAk1WNlCNECVIJ8VWz5lQu0I8J-80sxhdX23cMXshDVGekXs/s72-c/nagios.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7545504167066559554.post-882898478321243745</guid><pubDate>Sat, 15 Aug 2015 22:45:00 +0000</pubDate><atom:updated>2015-08-16T12:18:32.419-03:00</atom:updated><title>Oracle OTN LATAM tour 2015</title><description>Los pasados 3 y 4 de agosto se llevó a cabo la edición 2015 del evento OTN LATAM tour de Oracle en la &amp;nbsp;Facultad de Ingeniería de la Universidad ORT en Montevideo.&lt;br /&gt;
&lt;br /&gt;
Dicho evento se viene realizando anualmente desde hace seis ediciones (por lo menos en Uruguay), y cuenta con el apoyo del grupo de usuarios Oracle del Uruguay - &lt;a href=&quot;http://www.uyoug.org.uy/&quot;&gt;UYOUG&lt;/a&gt; -, la misma Universidad y del Ministerio de Educación y Cultura; además de Tilsor y Quanam, partners de Oracle aquí.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHRIz4BLaX48sSzgXCgSxzqdE6x3mfALdXzX1xA7Bs5DmFFo5C5G90ZKvvHKF7VakDqhMIpA9Q-gZkn-dwGjfgISHwNW6A5n9XtwWYpFCh2pn-pVqvYMZeaCR0XGqb-QoBMApf_yBKNJw/s1600/uyoug.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHRIz4BLaX48sSzgXCgSxzqdE6x3mfALdXzX1xA7Bs5DmFFo5C5G90ZKvvHKF7VakDqhMIpA9Q-gZkn-dwGjfgISHwNW6A5n9XtwWYpFCh2pn-pVqvYMZeaCR0XGqb-QoBMApf_yBKNJw/s1600/uyoug.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
En él, durante cada año se conforma una gira por varios países del continente donde se realizan speeches y talleres prácticos de corte técnico y de actualización sobre productos y servicios que ofrece Oracle (Oracle, MySQL, Java, etc.), brindados por reconocidos Oracle ACEs regionales e internacionales.&lt;br /&gt;
&lt;br /&gt;
Personalmente, desde el año pasado que estaba con ánimo de participar, pero por motivos ajenos a mi voluntad no pude hacerlo. Este año tuve la revancha y me dirigí a ver de qué se trataba el evento, ya que se orienta a profesionales vinculados a las áreas de DBA, TI y desarrollo, principalmente.&lt;br /&gt;
&lt;br /&gt;
La verdad es que quedé sorprendido para bien por el buen nivel del evento en general, principalmente por la jerarquía y experiencia de los oradores, así como la practicidad al explicar conceptos un poco difíciles de asimilar que se introducen en las actualizaciones que se vienen dando.&lt;br /&gt;
&lt;br /&gt;
Las charlas y talleres este año giraron en torno a la más reciente versión mayor de la BD Oracle, la 12c; además de los nuevos conceptos que se introducen con el trabajo en la nube.&lt;br /&gt;
&lt;br /&gt;
El principal concepto que se introdujo en la 12c es el de Multitenant y según parece viene a significar en un cambio de paradigma en cuanto a su administración y funcionamiento.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Multitenant&lt;/h3&gt;
&lt;br /&gt;
Multitenant se basa en un cambio de arquitectura de las bases de datos, en donde se implementa una base de datos contenedora, que viene a ser una base de datos &quot;raíz&quot;; sobre las que trabajan todas las bases de datos pluggables que se dispongan &amp;nbsp;(hasta 252 en la 12.1). Estas PDBs se pueden attachear o desattachear en pocos pasos, sin necesidad de exportar ni realizar otras tareas para enviarlas a otro servidor.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguKUrRN68DpSq9_ahSwEIISH-gRKbZKr6DKi3LzgnLAERI9J8F8uA0-AZ_USBiz3PZP84vKLdC5rt2bXbjm5yQJkbCdFAisxeO59qVV34_IljKPhZjycyUtKELGt8zXGuUsZsfqC5GAa0/s1600/multitenant-parte1-04-2065473.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;140&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguKUrRN68DpSq9_ahSwEIISH-gRKbZKr6DKi3LzgnLAERI9J8F8uA0-AZ_USBiz3PZP84vKLdC5rt2bXbjm5yQJkbCdFAisxeO59qVV34_IljKPhZjycyUtKELGt8zXGuUsZsfqC5GAa0/s400/multitenant-parte1-04-2065473.gif&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
En la base de datos raíz ahora se pasa a alojar la metadata del SGBD (esquemas, tablas, secuencias, etc. del sistema).&lt;br /&gt;
&lt;br /&gt;
En tanto, en las PDBs (pluggeable databases) se almacena la metadata propia de la aplicación, así como los objetos que contienen los datos de la aplicación en esa BD.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ0QblMIgW7fFNGrgVhHUWBnJ4r7E66_jve_FiD7ZGXvQN0HusAmA0-ty0YZ_O9-4S4jZcwnZ3VdPkPibrR3Kqz-U1LN_hEQPnAXrNomH6ELtNUt9wSw2XgddxusSjkLC7ylJdtCXJLBk/s1600/multitenant-parte1-03-2065471+%25281%2529.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ0QblMIgW7fFNGrgVhHUWBnJ4r7E66_jve_FiD7ZGXvQN0HusAmA0-ty0YZ_O9-4S4jZcwnZ3VdPkPibrR3Kqz-U1LN_hEQPnAXrNomH6ELtNUt9wSw2XgddxusSjkLC7ylJdtCXJLBk/s400/multitenant-parte1-03-2065471+%25281%2529.gif&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Este cambio de arquitectura trae varias ventajas como ser:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Posibilidad de transportar una PDB de un container a otro de manera muy limpia y fácil (incluso en sistemas con distinto endianness).&lt;/li&gt;
&lt;li&gt;Fácil clonación de BDs. Éstos últimos dos items son de gran ayuda por ejemplo en el caso de copia de bases de desarrollo a producción.&lt;/li&gt;
&lt;li&gt;Unificación de diversas tareas de administración, recovery, upgrade, etc., ya que se realizan ahora sobre la base raíz.&lt;/li&gt;
&lt;li&gt;Unificación de recursos de BDs: Bajo este esquema se comparten por ejemplo redo, undo logs y la SGA, donde el SGBD comparte y gestiona la memoria y los procesos background de todas las bases de datos en la container.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
&lt;/h3&gt;
&lt;h3&gt;
Datos de interés de Multitenant&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Si bien no es necesario tener una licencia especial para utilizar este tipo de arquitectura con 12c, para poder tener más de una PDB en un container se debe tener paga la opción de Multitenant.&lt;/li&gt;
&lt;li&gt;Para poder pluggear una BD con versión anterior a 12c a una BD raíz, se debe anteriormente actualizar a 12c.&lt;/li&gt;
&lt;li&gt;Para poder actualizar de una versión anterior a 12c, existen varios métodos disponibles, por lo que se debe elegir cual es el método de conveniencia:&amp;nbsp;&lt;a href=&quot;http://www.oracle.com/technetwork/database/upgrade/upgrading-oracle-database-wp-12c-1896123.pdf&quot;&gt;http://www.oracle.com/technetwork/database/upgrade/upgrading-oracle-database-wp-12c-1896123.pdf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Una vez que se migra a 12c, no se puede hacer downgrade de una PDB hacia una base de datos standalone. En este caso se debe pensar en algún método alternativo como un export por ejemplo.&lt;/li&gt;
&lt;li&gt;A efectos de upgrade, instalación, ejecutar scripts de mantenimiento, etc; Oracle recomienda utilizar el PERL script catcon.pl. Este script, que tiene una cantidad grande de parámetros y utilidades, se debe correr con el ejecutable perl que se dispone en los binarios del SGBD.&lt;/li&gt;
&lt;li&gt;En la versión 12.2 se va a eliminar la posibilidad de utilizar BDs standalone. En su lugar se deberá implementar una BD single-tenant.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
In Memory Database&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Otra característica importante que se incluye a partir de la versión 12.1 (no de la 12.0), es la funcionalidad In Memory.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Esta función permite que fragmentos o la totalidad de una base de datos trabaje en memoria para conseguir una mejora de performance significativa en cuanto a consultas.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El funcionamiento a grandes rasgos consiste en el almacenamiento de los datos de cada tupla ,paralelamente, en un formato columnar. Bajo este precepto, y como el motor de base de datos en cada consulta recorre campo por campo de una fila hasta llegar al requerido,al estar los datos de una sola columna alojados en una fila, las que consultas que levantan gran cantidad de datos experimentan una mejora sustancial en el tiempo que insumen.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Esto es particularmente útil &amp;nbsp;por ejemplo si se desea mantener un ambiente transaccional en la misma base de datos que se utiliza para reportes, sin perjudicar mayormente la performance del sistema productivo.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQGLHZpIRlo9oTQ1uf0LPB3ve3jvDY8faaA-Mae0yAZc0NVCrkYbTzsWI_9fU4_FAcMI4vQHV_nHaBlEKOn9fskJf7382nPUt4JiVFKf3runOkl8YjuSwuZqDue9kP6NMQT7B9gWTgrAQ/s1600/2217180.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;170&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQGLHZpIRlo9oTQ1uf0LPB3ve3jvDY8faaA-Mae0yAZc0NVCrkYbTzsWI_9fU4_FAcMI4vQHV_nHaBlEKOn9fskJf7382nPUt4JiVFKf3runOkl8YjuSwuZqDue9kP6NMQT7B9gWTgrAQ/s400/2217180.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Las estructuras In Memory se alojan en una nueva área de memoria dentro del servidor destinada para las mismas.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Además incluye varios niveles de compresión en cuanto a los datos alojados en esta área reservada, dependiendo la rapidez que se quiera obtener, de manera que el aumento de uso de memoria respecto a si no se utiliza esta funcionalidad ronda en un 20% aproximadamente.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Teniendo en cuenta las ventajas en cuanto arquitectura, y además que el acceso a memoria es bastante más rápido que el de disco duro, supone una mejora drástica.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
Fuentes&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;u&gt;Instructivo de actualización a 12c&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://drive.google.com/file/d/0B1nC__G5gAGlVEYwQkE0ajZYX0k/view?usp=sharing&quot;&gt;https://drive.google.com/file/d/0B1nC__G5gAGlVEYwQkE0ajZYX0k/view?usp=sharing&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;Multitenant&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;a href=&quot;http://www.oracle.com/technetwork/es/articles/database-performance/oracle-multitenant-parte1-2065486-esa.html&quot;&gt;http://www.oracle.com/technetwork/es/articles/database-performance/oracle-multitenant-parte1-2065486-esa.html&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;In Memory&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.oracle.com/technetwork/database/in-memory/overview/twp-dbim-usage-2441076.html?ssSourceSiteId=ocomen&quot;&gt;http://www.oracle.com/technetwork/database/in-memory/overview/twp-dbim-usage-2441076.html?ssSourceSiteId=ocomen&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Resumen&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Es totalmente recomendable anotarse a estos eventos de OTN, ya que ofrece un pantallazo de lo que está a la vanguardia en cuanto al mundo Oracle.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Además es para tener en cuenta la actualización a 12c por todas las funcionalidades y mejoras que incluye, además de ser la versión que estará siendo referenciada en el mediano plazo.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;http://feeds.feedburner.com/JuanPabloOrradre&lt;/div&gt;</description><link>http://jporradre.blogspot.com/2015/08/oracle-otn-latam-tour-2015.html</link><author>noreply@blogger.com (Juan Pablo Orradre)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHRIz4BLaX48sSzgXCgSxzqdE6x3mfALdXzX1xA7Bs5DmFFo5C5G90ZKvvHKF7VakDqhMIpA9Q-gZkn-dwGjfgISHwNW6A5n9XtwWYpFCh2pn-pVqvYMZeaCR0XGqb-QoBMApf_yBKNJw/s72-c/uyoug.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7545504167066559554.post-143182694717609224</guid><pubDate>Sun, 02 Aug 2015 16:28:00 +0000</pubDate><atom:updated>2015-08-06T16:05:48.142-03:00</atom:updated><title>Python: una tecnología a tener en cuenta</title><description>Generalmente y en estos últimos tiempos se ha venido hablando de Python como una tecnología que se impone en los diversos estratos de la informática.&lt;br /&gt;
&lt;br /&gt;
Hasta hace no mucho, no conocía este lenguaje salvo por haber oído opiniones de propios y ajenos, donde el denominador común era la buena crítica.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://www.python.org/static/community_logos/python-logo-master-v3-TM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;108&quot; src=&quot;https://www.python.org/static/community_logos/python-logo-master-v3-TM.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Finalmente me decidí por interiorizarme un poco de su historia, su propósito, sus ventajas y desventajas; para poder elaborar un juicio que me permitiese incluirlo dentro de las opciones a utilizar cuando de scripting se tratase.&lt;br /&gt;
&lt;br /&gt;
Resulta que me encontré con algo más que con un lenguaje de scripting...&lt;br /&gt;
&lt;br /&gt;
Python resultó ser una tecnología open source muy versátil que nos permite ya sea realizar scripts para hacer tareas simples, complejas para un script batch,pero también es perfectamente usable en aplicación más complejas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Su arquitectura modular, multiparadigma (orientado a objetos, funcional, etc.) y altamente portable lo convierten en una de las primeras opciones a considerar en cualquier proyecto.&lt;br /&gt;
Por si fuera poco, su sintaxis simple y delimitada por tabulaciones y no por llaves como los lenguajes C-like, hacen que el resultado sea un desarrollo rápido, con código limpio y muy mantenible, resultando también en una menor cantidad de errores de programación.&lt;br /&gt;
&lt;br /&gt;
Como muestra un botón, Google lo utiliza en muchos de sus proyectos, incluido su motor de búsqueda, por todas estas características mencionadas.&lt;br /&gt;
&lt;br /&gt;
Además tiene una comunidad grande y activa, algo siempre muy útil cuando de dudas y proyectos se trata.&lt;br /&gt;
&lt;br /&gt;
Uno podrá pensar también: bueno, es muy lindo pero sigue sin llegar a satisfacer mis necesidades para levantar una aplicación en un ambiente empresarial, como lo hace Java con su especificación J2EE y sus frameworks (Spring por ejemplo).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://www.djangoproject.com/s/img/logos/django-logo-negative.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;145&quot; src=&quot;https://www.djangoproject.com/s/img/logos/django-logo-negative.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Pues bien, resulta que se dispone de un web framework muy completo llamado &lt;a href=&quot;https://www.djangoproject.com/&quot;&gt;Django&lt;/a&gt; que hace las veces de esto último que mencioné. Es open source y gratis además.&lt;br /&gt;
&lt;br /&gt;
Como si esto fuera poco, Python dispone de buenas librerías para las acciones cotidianas que podemos estar necesitando realizar (SSH - Paramiko, REST - Django REST Framework, etc,etc...).&lt;br /&gt;
&lt;br /&gt;
Dejo a disposición la &lt;a href=&quot;http://cdn.oreillystatic.com/oreilly/booksamplers/9781449355739_sampler.pdf&quot;&gt;introducción de un libro de O&#39;Reilly&lt;/a&gt; que ahonda en un análisis todos estos detalles que menciono.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Algunos piques:&lt;/span&gt;&lt;/h3&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;- Existen dos ramas de evolución de Python: la 2.x y la 3.x.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;A la hora tener que instalar debemos elegir &lt;a href=&quot;https://wiki.python.org/moin/Python2orPython3&quot;&gt;cual de ellas vamos a utilizar&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;En resumen, si se va a correr SW que no requiera módulos muy específicos que no hayan sido portado aún a la rama 3.x, es preferible instalar dicha versión, ya que posee varias mejoras y se trabaja con lo más actualizado. En caso contrario, instalar la 2.x de preferencia.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;- En ambientes Unix-like , para instalar Python basta con un #&amp;nbsp;&lt;b&gt;dnf install python2.x/python3.x&lt;/b&gt;&amp;nbsp;, o el gestor de paquetes utilizado.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Sus diversos paquetes se puede realizar fácilmente mediante un #&amp;nbsp;&lt;b&gt;dnf install python-nombre_del_paquete&lt;/b&gt;. También se puede instalar pip, que es un gestor de paquetes muy bueno también:&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #383838; line-height: 21.9999923706055px;&quot;&gt;# wget&amp;nbsp;&lt;/span&gt;&lt;a data-mce-href=&quot;https://bootstrap.pypa.io/get-pip.py&quot; href=&quot;https://bootstrap.pypa.io/get-pip.py&quot; shape=&quot;rect&quot; style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #047ac6; cursor: pointer; line-height: 21.9999923706055px; margin: 0px; padding: 0px;&quot; target=&quot;_blank&quot;&gt;https://bootstrap.pypa.io/get-pip.py&lt;/a&gt;&lt;span style=&quot;color: #383838; line-height: 21.9999923706055px;&quot;&gt;&amp;nbsp;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #383838; line-height: 21.9999923706055px;&quot;&gt;python&lt;/span&gt;&lt;span style=&quot;color: #383838; line-height: 21.9999923706055px;&quot;&gt;&amp;nbsp;get-pip.py;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;- En Windows, se basta con correr el instalador msi preferido que se disponibiliza en la web de &lt;/span&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;&lt;a href=&quot;https://www.python.org/downloads/windows/&quot;&gt;https://www.python.org/downloads/windows/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 21.9999923706055px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;- Como IDE para desarrollo existen unos cuantos que mediante plugins o de manera nativa incluyen soporte para desarrollo en Python. Personalmente prefiero el &lt;a href=&quot;https://www.jetbrains.com/pycharm/&quot;&gt;PyCharm&lt;/a&gt; que es un IDE muy completo y simple de usar. Producto de JetBrains, creadores de IntelliJ Idea, de una modalidad muy similar.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;- Para una introducción de Django se puede visitar&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;line-height: 21.9999923706055px;&quot;&gt;&lt;a href=&quot;http://www.djangobook.com/en/2.0/chapter01.html&quot;&gt;http://www.djangobook.com/en/2.0/chapter01.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;http://feeds.feedburner.com/JuanPabloOrradre&lt;/div&gt;</description><link>http://jporradre.blogspot.com/2015/08/python-una-tecnologia-tener-en-cuenta.html</link><author>noreply@blogger.com (Juan Pablo Orradre)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7545504167066559554.post-8663692345908969967</guid><pubDate>Mon, 20 Jul 2015 02:52:00 +0000</pubDate><atom:updated>2015-07-19T23:52:40.757-03:00</atom:updated><title>Mediawiki</title><description>&lt;div style=&quot;border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;La documentación de los procesos de una organización es un item fundamental a la hora de intentar establecer una mejor en la calidad de los mismos.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
Frecuentemente las organizaciones de cualquier índole y tamaño, suelen guardar sus documentaciones en ficheros de archivos con una estructura un poco desorganizada (con suerte...). Esto ocasiona que cuando aumenta la cantidad de información allí alojada se convierta en una tarea cada vez más complicada el hecho de encontrar la información que estamos buscando.&lt;/div&gt;
&lt;div style=&quot;border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
Para solucionar estos problemas existe una alternativa libre y muy utilizada en todo el mundo: &lt;a href=&quot;http://www.mediawiki.com/&quot;&gt;Mediawiki&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixEaYinW-s8epEMWznEZFX70wkoKtVkzOK_YRw29wn4J3G9lZCG56oCO9NIthXiRB5bQAcmmxu1bC2YG-feSSJhmbGYMw1OJF_WXfFFuhbOXZ1ggnUFpOGNBM0xvIwHutuxDDnHns4Sfg/s1600/mediawikiwiki.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixEaYinW-s8epEMWznEZFX70wkoKtVkzOK_YRw29wn4J3G9lZCG56oCO9NIthXiRB5bQAcmmxu1bC2YG-feSSJhmbGYMw1OJF_WXfFFuhbOXZ1ggnUFpOGNBM0xvIwHutuxDDnHns4Sfg/s1600/mediawikiwiki.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
Se trata del software que utiliza Wikipedia , ni más ni menos, como plataforma en producción.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
Es una solución hecha en PHP mayormente, que puede trabajar con diversos motores de bases de datos y posee una instalación y funcionamiento bastante modular, lo cual nos obliga a trabajar un poco pero a la vez lo convierte en un software bastante modular y personalizable según las necesidades de la organización en cuestión.&lt;/div&gt;
&lt;div style=&quot;border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
En esta entrada voy a publicar los pasos necesarios para realizar su instalación en un servidor Ubuntu 15.04 con una instalación mínima como ejemplo sobre un entorno LAMP.&lt;/div&gt;
&lt;div style=&quot;border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;strong style=&quot;line-height: 1.571428em;&quot;&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;div style=&quot;color: #383838; font-family: gotham, helvetica, arial, sans-serif;&quot;&gt;
&lt;strong style=&quot;line-height: 1.571428em;&quot;&gt;Agregar repositorio de MariaDB&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: white; color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;sudo apt-get install software-properties-common&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;sudo add-apt-repository &#39;deb http://mirror.edatel.net.co/mariadb//repo/10.0/ubuntu vivid main&#39;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #383838; font-family: gotham, helvetica, arial, sans-serif;&quot;&gt;
&lt;strong style=&quot;line-height: 1.571428em;&quot;&gt;Actualizar repositorios&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;sudo apt-get update&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #383838; font-family: gotham, helvetica, arial, sans-serif;&quot;&gt;
&lt;strong style=&quot;line-height: 1.571428em;&quot;&gt;Apache2&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;sudo apt-get install apache2&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #383838; font-family: gotham, helvetica, arial, sans-serif;&quot;&gt;
&lt;strong style=&quot;line-height: 1.571428em;&quot;&gt;PHP (versión &amp;gt; 5.3.3)&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;sudo apt-get install php5 php5-intl php5-mysql php5-gd php-apc&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #383838; font-family: gotham, helvetica, arial, sans-serif;&quot;&gt;
&lt;strong style=&quot;line-height: 1.571428em;&quot;&gt;MariaDB&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;sudo apt-get install mariadb-server&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #383838; font-family: gotham, helvetica, arial, sans-serif;&quot;&gt;
&lt;strong style=&quot;line-height: 1.571428em;&quot;&gt;Descargar e instalar Mediawiki&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;sudo sh -c &quot;cd /var/www/html &amp;amp;&amp;amp; wget &#39;&lt;span style=&quot;border-color: initial; border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border-style: initial; cursor: pointer; line-height: 1.571428em;&quot;&gt;https://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.25.1.tar.gz&#39;&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;amp; tar xvfz mediawiki-1.25.1.tar.gz &amp;amp;&amp;amp; rm mediawiki-1.25.1.tar.gz &amp;amp;&amp;amp; mv&amp;nbsp;&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;mediawiki-1.25.1/ mediawiki/ &amp;amp;&amp;amp;&amp;nbsp;&lt;/span&gt;chown apache:apache&amp;nbsp;mediawiki/ &quot;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;strong style=&quot;line-height: 1.571428em;&quot;&gt;Habilitar logging de la aplicación&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;sudo sh -c &quot;cd /var/www/html/mediawiki &amp;amp;&amp;amp; mkdir log &amp;amp;&amp;amp; chmod 775 log &amp;amp;&amp;amp; cd log &amp;amp;&amp;amp; touch debug-my_wiki.log &amp;amp;&amp;amp; chmod 775 debug-my_wiki.log&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;strong style=&quot;line-height: 1.571428em;&quot;&gt;Agregar lo siguiente al final del LocalSettings.php&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;div style=&quot;color: #383838; font-family: gotham, helvetica, arial, sans-serif;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;$wgDebugLogFile = &#39;/var/www/html&#39;.$wgScriptPath.&#39;/log/debug-&#39;.$wgDBname.&#39;.log&#39;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;$wgShowExceptionDetails = true;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;#Cuando se quiera debuggear en la misma web, habilitar la linea de abajo&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;#$wgShowDebug = true;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;$wgFavicon = &quot;$wgResourceBasePath/resources/assets/favicon.png&quot;;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;$wgConfirmAccountRequestFormItems[&#39;Biography&#39;][&#39;minWords&#39;] = 0;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;$wgSMTP = array(&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;&#39;host&#39; =&amp;gt; &#39;ssl://smtp.gmail.com&#39;,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;&#39;IDHost&#39; =&amp;gt; &#39;mydomain.com&#39;,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;&#39;port&#39; =&amp;gt; 465,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;&#39;username&#39; =&amp;gt; &#39;webmaster@mydomain.com&#39;, ## or info@mydomain.com, or whatever email account you&#39;ve set&amp;nbsp;&lt;span data-mce-style=&quot;font-size: 14px;&quot; style=&quot;line-height: 1.571428em;&quot;&gt;up for your Mediawiki installation&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;&#39;password&#39; =&amp;gt; &#39;emailpasswordforwebmaster&#39;,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;&#39;auth&#39; =&amp;gt; true&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;strong style=&quot;line-height: 1.571428em;&quot;&gt;Agregar extensión WYSIWYG para la edición de artículos&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; margin: 0px; padding: 0px;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li style=&quot;color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em;&quot;&gt;&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;Bajar fuentes desde&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://github.com/Mediawiki-wysiwyg/WYSIWYG-CKeditor&quot; style=&quot;line-height: 1.571428em;&quot;&gt;https://github.com/Mediawiki-wysiwyg/WYSIWYG-CKeditor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #383838; font-family: gotham, helvetica, arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px; line-height: 21.9999923706055px;&quot;&gt;Ubicar el contenido en la carpeta extensions dentro de la carpeta de los archivos de Mediawiki.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em;&quot;&gt;Agregar luego al final del LocalSettings.php:&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;require_once &#39;/var/www/html&#39;.$wgScriptPath.&#39;/extensions/WYSIWYG/WYSIWYG.php&#39;;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;$wgGroupPermissions[&#39;*&#39;][&#39;wysiwyg&#39;] = true;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;$wgDefaultUserOptions[&#39;cke_show&#39;] = &#39;richeditor&#39;; //Enable CKEditor&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;$wgDefaultUserOptions[&#39;riched_use_toggle&#39;] = false; //Editor can toggle CKEditor/WikiText&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;$wgDefaultUserOptions[&#39;riched_start_disabled&#39;] = false; //Important!!! else bug...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;$wgDefaultUserOptions[&#39;riched_toggle_remember_sate&#39;] = true; //working/bug?&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000; font-family: Courier New, Courier, monospace;&quot;&gt;$wgDefaultUserOptions[&#39;riched_use_popup&#39;] = false; //Deprecated&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;strong style=&quot;line-height: 1.571428em;&quot;&gt;Comentar el siguiente bloque en el archivo &amp;nbsp;extensions/WYSIWYG/CKeditor.body.php por problema de compatibilidad:&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;/* foreach ( $out-&amp;gt;styles as $key =&amp;gt; $val ) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;if (count($out-&amp;gt;styles[$key]) &amp;gt; 0) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;if (isset($out-&amp;gt;styles[$key][&#39;condition&#39;]) ||&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;isset($out-&amp;gt;styles[$key][&#39;dir&#39;]) ||&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;strpos($key, &#39;?&#39;) !== false ||&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;strpos($key, &#39;jquery.fancybox&#39;) !== false) continue;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;$count = 1;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;$cssFile = dirname(__FILE__) . &#39;/../../&#39; . str_replace($wgScriptPath, &#39;&#39;, $key, $count);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;$cssFile = str_replace(&#39;//&#39;, &#39;/&#39;, $cssFile);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;if (isset($out-&amp;gt;styles[$key][&#39;media&#39;]) &amp;amp;&amp;amp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;file_exists($cssFile)) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;$cssCont = file_get_contents($cssFile);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;if ($cssCont !== false) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;if (! isset($inlineStyles[$out-&amp;gt;styles[$key][&#39;media&#39;]]))&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;$inlineStyles[$out-&amp;gt;styles[$key][&#39;media&#39;]] = &#39;&#39;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;$inlineStyles[$out-&amp;gt;styles[$key][&#39;media&#39;]] .= $cssCont.&quot;\n&quot;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;unset($out-&amp;gt;styles[$key]);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: Courier New, Courier, monospace;&quot;&gt;*/&lt;/span&gt;&lt;/div&gt;
&lt;h1 style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 1.5em; line-height: 1.047619em; margin: 0.9523em 0px 0.4761em; padding: 0px;&quot;&gt;
&lt;/h1&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;strong style=&quot;line-height: 1.571428em;&quot;&gt;Modificar la carpeta images para la subida de imágenes:&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;mkdir /var/www/html/mediawiki-&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;1.25.1&lt;/span&gt;/images/temp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;chmod -R 777 /var/www/html/mediawiki-&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;1.25.1&lt;/span&gt;/images&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;color: #383838; font-family: gotham, helvetica, arial, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #383838; font-family: gotham, helvetica, arial, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;strong style=&quot;line-height: 1.571428em;&quot;&gt;Agregar extensión CategoryTree para listar las categorías de artículos&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
Ver documentación de instalación en &lt;a href=&quot;https://www.mediawiki.org/wiki/Extension:CategoryTree&quot;&gt;https://www.mediawiki.org/wiki/Extension:CategoryTree&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;strong style=&quot;line-height: 1.571428em;&quot;&gt;Crear usuarios&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;cd /var/www/html/mediawiki/maintenance &amp;amp;&amp;amp; read -s PASS &amp;amp;&amp;amp; php createAndPromote.php --bureaucrat nomusuario&amp;nbsp;$PASS &amp;amp;&amp;amp; unset PASS&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;
&lt;b&gt;&amp;nbsp;Migrar documentación existente en otro formato&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
Finalmente y luego de la puesta a punto de la Wiki, generalmente es necesario migrar toda nuestra documentación de otros formatos de texto tales como .doc, .docx y .odt al formato wiki.&lt;br /&gt;
&lt;br /&gt;
Estuve revisando un tiempo mientras estuve con mi primera instalación y encontré que la wiki no tiene un conversor de este tipo embebido, ni tampoco hay mucho software que se maneje con estos tres formatos y realice la conversión.&lt;br /&gt;
&lt;br /&gt;
Por esta razón es que decidí crearme un script hecho en Python que resuelva este tema:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/jporradre/Useful-scripts/blob/master/docs_to_wiki.py&quot;&gt;https://github.com/jporradre/Useful-scripts/blob/master/docs_to_wiki.py&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: #383838; font-family: gotham, helvetica, arial, sans-serif; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;http://feeds.feedburner.com/JuanPabloOrradre&lt;/div&gt;</description><link>http://jporradre.blogspot.com/2015/07/mediawiki.html</link><author>noreply@blogger.com (Juan Pablo Orradre)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixEaYinW-s8epEMWznEZFX70wkoKtVkzOK_YRw29wn4J3G9lZCG56oCO9NIthXiRB5bQAcmmxu1bC2YG-feSSJhmbGYMw1OJF_WXfFFuhbOXZ1ggnUFpOGNBM0xvIwHutuxDDnHns4Sfg/s72-c/mediawikiwiki.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7545504167066559554.post-4983179596761885620</guid><pubDate>Sat, 27 Jun 2015 00:25:00 +0000</pubDate><atom:updated>2015-07-17T18:00:22.720-03:00</atom:updated><title>Instalación de PHP (RHEL like)</title><description>&lt;div style=&quot;border: 0px; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
En esta segunda entrada voy a compartir mi experiencia al instalar PHP en un servidor con SO RHEL like (RHEL, CentOS, Fedora).&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
Resulta que estando en mi casa trabajando en mi home server realizando la instalación de&amp;nbsp;&lt;a href=&quot;https://owncloud.org/&quot;&gt;Owncloud&lt;/a&gt;&amp;nbsp;(software para crear una nube privada), precisaba instalar PHP arriba del httpd que tenía como webserver.&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
Al estar sin apuro y en el afán de investigar un poco intenté instalar PHP desde su código fuente, pensando que era soplar y hacer botella.&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
Resulta que no fue tan así je, ya que se precisan especificar todos los módulos de PHP a levantar previamente .&lt;br /&gt;
&lt;br /&gt;
Tengan en consideración que los módulos a instalar dependen de la necesidad de cada uno, esta configuración por ejemplo sirve para poder instalar Owncloud como mencionaba.&lt;br /&gt;
&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;En principio lo que tuve que hacer fue bajarme los fuentes :&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;wget http://www.php.net/get/php-5.6.9.tar.bz2/from/this/mirror;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0b5394; font-family: &#39;Courier New&#39;, Courier, monospace; line-height: 1.571428em;&quot;&gt;tar xf php-5.6.9.tar.bz2;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 0px; font-size: 14px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;cd&amp;nbsp;&lt;/span&gt;php-5.6.9/;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
Luego instalar todas las herramientas y librerías de desarrollo necesarias:&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;dnf install gcc gcc-c++ ne2c bison httpd-devel&amp;nbsp;libxml2-devel openssl-devel bzip2-devel curl-devel&amp;nbsp;libpng-devel libjpeg-devel libXpm-devel freetype-devel&amp;nbsp;t1lib-devel gmp-devel libicu-devel libmcrypt-devel&amp;nbsp;postgresql-devel aspell-devel libtidy libtidy-devel readline-devel &amp;nbsp;libxslt-devel;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
Luego preparar la instalación con &lt;i&gt;configure &lt;/i&gt;e instalar desde el archivo &lt;i&gt;makefile&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;./configure --with-libdir=lib64 --prefix=/usr/local --with-layout=PHP --with-pear&amp;nbsp;--with-apxs2=/usr/sbin/apxs --enable-calendar --enable-bcmath --with-gmp --enable-exif --with-mcrypt --enable-ctype &amp;nbsp;--with-zlib --enable-fileinfo --with-bz2=/usr/bin/bzip2 --enable-zip --with-pgsql=/usr/pgsql-9.3&amp;nbsp;--with-pdo-pgsql --enable-ftp &amp;nbsp;--enable-mbstring --with-iconv --enable-intl --with-icu-dir=/usr --with-gettext --with-pspell --enable-sockets --with-openssl --with-curl &amp;nbsp;--with-gd --enable-gd-native-ttf --with-jpeg-dir=/usr/lib--with-png-dir=/usr/lib --with-zlib-dir=/usr/lib --with-xpm-dir=/usr --with-freetype-dir=/usr/lib --with-t1lib=/usr/lib --with-libxml-dir=/usr/lib --enable-soap --with-xmlrpc --with-xsl --with-tidy --with-readline --enable-pcntl --enable-sysvshm --enable-sysvmsg --enable-shmop;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;make &amp;amp;&amp;amp;&amp;nbsp;&lt;span style=&quot;line-height: 1.571428em;&quot;&gt;make install;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
Luego, se debe copiar el archivo template de configuración de&lt;i&gt; php.ini&lt;/i&gt; y modificar a gusto de consumidor:&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; font-family: gotham, helvetica, arial, sans-serif; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; line-height: 1.571428em; margin: 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;cp php.ini-dist /usr/local/lib/php.ini;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;color: #383838;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Por último y no menos importante, se reinicia el servicio &lt;i&gt;httpd&lt;/i&gt; para que queden&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #383838; font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;systemctl restart httpd;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;color: #383838;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Para verificar que haya quedado todo correcto se debe crear un script que ejecute la función &lt;i&gt;phpinfo&lt;/i&gt; de PHP, ubicarlo en la carpeta contenedora de httpd, y abrir en un navegador web la URL&amp;nbsp;&lt;a href=&quot;http://urldelserv/info.php&quot;&gt;http://URLDELSERV/info.php&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #383838; font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #0b5394; font-family: Courier New, Courier, monospace;&quot;&gt;echo &quot;&amp;lt;?php phpinfo(); ?&amp;gt;&quot; &amp;gt; info.php &amp;amp;&amp;amp; mv info.php /var/www/html;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;http://feeds.feedburner.com/JuanPabloOrradre&lt;/div&gt;</description><link>http://jporradre.blogspot.com/2015/06/instalacion-de-php-rhel-like.html</link><author>noreply@blogger.com (Juan Pablo Orradre)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7545504167066559554.post-7175125415925551442</guid><pubDate>Wed, 24 Jun 2015 21:32:00 +0000</pubDate><atom:updated>2015-06-24T18:32:04.250-03:00</atom:updated><title>Érase una vez...</title><description>&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Porque todo debe tener un principio (y también un final), es que inicio este blog con el motivo de compartir un poco las actividades que desarrollo, mis vivencias en el universo DevOps , retroalimentarme con sus devoluciones y mechar de tanto en tanto con alguna entrada referida a mis hobbies je.&lt;/span&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;http://feeds.feedburner.com/JuanPabloOrradre&lt;/div&gt;</description><link>http://jporradre.blogspot.com/2015/06/erase-una-vez.html</link><author>noreply@blogger.com (Juan Pablo Orradre)</author><thr:total>0</thr:total></item></channel></rss>