<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Base de Conocimientos</title>
	<atom:link href="http://www.jotremar.com/basedeconocimientos/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.jotremar.com/basedeconocimientos</link>
	<description>Apuntes de un informático</description>
	<pubDate>Thu, 12 Jan 2012 11:40:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
	<language>en</language>
			<item>
		<title>Proxy con SSH</title>
		<link>http://www.jotremar.com/basedeconocimientos/?p=125</link>
		<comments>http://www.jotremar.com/basedeconocimientos/?p=125#comments</comments>
		<pubDate>Thu, 12 Jan 2012 11:40:19 +0000</pubDate>
		<dc:creator>Jotremar</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.jotremar.com/basedeconocimientos/?p=125</guid>
		<description><![CDATA[Imaginemos que necesitamos activar un proxy en un servidor, para poder salir a internet a través de él. Para esto, ejecutamos este comando en el servidor y funcionará como un socks 5 sin contraseña:
ssh -f -N -D 0.0.0.0:8080 127.0.0.1
En este caso 8080 es el puerto por el cual va a escuchar las peticiones socks.
]]></description>
			<content:encoded><![CDATA[<p>Imaginemos que necesitamos activar un proxy en un servidor, para poder salir a internet a través de él. Para esto, ejecutamos este comando en el servidor y funcionará como un socks 5 sin contraseña:</p>
<p>ssh -f -N -D 0.0.0.0:8080 127.0.0.1</p>
<p>En este caso 8080 es el puerto por el cual va a escuchar las peticiones socks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jotremar.com/basedeconocimientos/?feed=rss2&amp;p=125</wfw:commentRss>
		</item>
		<item>
		<title>Restringir Apache por IP</title>
		<link>http://www.jotremar.com/basedeconocimientos/?p=121</link>
		<comments>http://www.jotremar.com/basedeconocimientos/?p=121#comments</comments>
		<pubDate>Thu, 01 Sep 2011 17:25:01 +0000</pubDate>
		<dc:creator>Jotremar</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.jotremar.com/basedeconocimientos/?p=121</guid>
		<description><![CDATA[Imaginemos que tenemos una web que queremos limitar por IP. Este es un ejemplo de .htaccess que realiza esta acción:

order deny,allow
allow from 127.0.0.1
allow from www.miweb.es
allow from 88.0.
deny from all

]]></description>
			<content:encoded><![CDATA[<div>Imaginemos que tenemos una web que queremos limitar por IP. Este es un ejemplo de .htaccess que realiza esta acción:</div>
<blockquote>
<div>order deny,allow</div>
<div>allow from 127.0.0.1</div>
<div>allow from www.miweb.es</div>
<div>allow from 88.0.</div>
<div>deny from all</div>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jotremar.com/basedeconocimientos/?feed=rss2&amp;p=121</wfw:commentRss>
		</item>
		<item>
		<title>Jar to Exe</title>
		<link>http://www.jotremar.com/basedeconocimientos/?p=119</link>
		<comments>http://www.jotremar.com/basedeconocimientos/?p=119#comments</comments>
		<pubDate>Mon, 29 Nov 2010 18:09:32 +0000</pubDate>
		<dc:creator>Jotremar</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.jotremar.com/basedeconocimientos/?p=119</guid>
		<description><![CDATA[Para crear un exe lanzador de una aplicación Java, utiliza Launch4j, está en sourceforge.
Yo he utilizado la opción not wrapper y funciona bien.
]]></description>
			<content:encoded><![CDATA[<p>Para crear un exe lanzador de una aplicación Java, utiliza Launch4j, está en sourceforge.</p>
<p>Yo he utilizado la opción not wrapper y funciona bien.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jotremar.com/basedeconocimientos/?feed=rss2&amp;p=119</wfw:commentRss>
		</item>
		<item>
		<title>EJB sobre JBoss</title>
		<link>http://www.jotremar.com/basedeconocimientos/?p=117</link>
		<comments>http://www.jotremar.com/basedeconocimientos/?p=117#comments</comments>
		<pubDate>Wed, 26 May 2010 11:07:50 +0000</pubDate>
		<dc:creator>Jotremar</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.jotremar.com/basedeconocimientos/?p=117</guid>
		<description><![CDATA[Según he podido ver en http://www.laliluna.de/articles/ejb-3-tutorial-jboss.html, la mejor manera de configurar el EJB es ponerle parámetros del tipo:

public static final String RemoteJNDIName =  BookTestBean.class.getSimpleName() + &#8220;/remote&#8221;;
public static final String LocalJNDIName =  BookTestBean.class.getSimpleName() + &#8220;/local&#8221;;

Para ver que está bien desplegado, se va a la consola JMX-&#62;JNDIView-&#62;Global JNDI Namespace y tiene que aparecer en el listado.
Para conectar en [...]]]></description>
			<content:encoded><![CDATA[<p>Según he podido ver en <a href="http://www.laliluna.de/articles/ejb-3-tutorial-jboss.html">http://www.laliluna.de/articles/ejb-3-tutorial-jboss.html</a>, la mejor manera de configurar el EJB es ponerle parámetros del tipo:</p>
<ul>
<li>public static final String RemoteJNDIName =  BookTestBean.class.getSimpleName() + &#8220;/remote&#8221;;</li>
<li><span>public static final String LocalJNDIName =  BookTestBean.class.getSimpleName() + &#8220;/local&#8221;;</span></li>
</ul>
<p><span>Para ver que está bien desplegado, se va a la consola JMX-&gt;JNDIView-&gt;Global JNDI Namespace y tiene que aparecer en el listado.</span></p>
<p><span>Para conectar en remoto, la mejor forma es:<br />
<em><span>Properties properties = new Properties();</span><br />
<span>properties.put(&#8221;java.naming.factory.initial&#8221;,&#8221;org.jnp.interfaces.NamingContextFactory&#8221;);</span><br />
<span>properties.put(&#8221;java.naming.factory.url.pkgs&#8221;,&#8221;=org.jboss.naming:org.jnp.interfaces&#8221;);</span><br />
<span> properties.put(&#8221;java.naming.provider.url&#8221;,&#8221;localhost:1099&#8243;);</span></p>
<p><span>Context context;</span><br />
<span> try</span><br />
<span> {</span><br />
<span>      context = new InitialContext();</span><br />
<span>      BookTestBeanRemote beanRemote = (BookTestBeanRemote) context.lookup(BookTestBean.RemoteJNDIName);</span><br />
<span>     beanRemote.test(); </span><br />
<span> } catch (NamingException e)</span><br />
<span> {</span><br />
<span>     e.printStackTrace();</span><br />
<span>}</span></em><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jotremar.com/basedeconocimientos/?feed=rss2&amp;p=117</wfw:commentRss>
		</item>
		<item>
		<title>Error en Outlook</title>
		<link>http://www.jotremar.com/basedeconocimientos/?p=110</link>
		<comments>http://www.jotremar.com/basedeconocimientos/?p=110#comments</comments>
		<pubDate>Tue, 25 May 2010 07:40:33 +0000</pubDate>
		<dc:creator>Jotremar</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.jotremar.com/basedeconocimientos/?p=110</guid>
		<description><![CDATA[No se puede iniciar Microsoft Office Outlook. No se puede abrir la ventana de Outlook.
Esto se soluciona ejecutando outlook con el parámetro resetnavpane (Outlook.exe /resetnavpane).
]]></description>
			<content:encoded><![CDATA[<p><span><em>No se puede iniciar Microsoft Office Outlook. No se puede abrir la ventana de Outlook.</em></span></p>
<p><span>Esto se soluciona ejecutando outlook con el parámetro resetnavpane (Outlook.exe /resetnavpane).</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jotremar.com/basedeconocimientos/?feed=rss2&amp;p=110</wfw:commentRss>
		</item>
		<item>
		<title>Monitorizar Apache</title>
		<link>http://www.jotremar.com/basedeconocimientos/?p=108</link>
		<comments>http://www.jotremar.com/basedeconocimientos/?p=108#comments</comments>
		<pubDate>Tue, 18 May 2010 17:00:03 +0000</pubDate>
		<dc:creator>Jotremar</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.jotremar.com/basedeconocimientos/?p=108</guid>
		<description><![CDATA[Cuando necesitemos ver en tiempo eral las peticiones de archivos a apache, podemos usar apachetop. Si no tenemos un archivo general de log, debemos especificar uno con la opción -f archivo_de_accesos.
]]></description>
			<content:encoded><![CDATA[<p>Cuando necesitemos ver en tiempo eral las peticiones de archivos a apache, podemos usar apachetop. Si no tenemos un archivo general de log, debemos especificar uno con la opción -f archivo_de_accesos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jotremar.com/basedeconocimientos/?feed=rss2&amp;p=108</wfw:commentRss>
		</item>
		<item>
		<title>Monitorizar red</title>
		<link>http://www.jotremar.com/basedeconocimientos/?p=106</link>
		<comments>http://www.jotremar.com/basedeconocimientos/?p=106#comments</comments>
		<pubDate>Tue, 18 May 2010 16:20:59 +0000</pubDate>
		<dc:creator>Jotremar</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.jotremar.com/basedeconocimientos/?p=106</guid>
		<description><![CDATA[Si estamos en un entorno linux y queremos ver las conexiones en tiempo real, al estilo top, podemos usar iftop o iptraf.
]]></description>
			<content:encoded><![CDATA[<p>Si estamos en un entorno linux y queremos ver las conexiones en tiempo real, al estilo top, podemos usar iftop o iptraf.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jotremar.com/basedeconocimientos/?feed=rss2&amp;p=106</wfw:commentRss>
		</item>
		<item>
		<title>Error en logs de MySQL</title>
		<link>http://www.jotremar.com/basedeconocimientos/?p=101</link>
		<comments>http://www.jotremar.com/basedeconocimientos/?p=101#comments</comments>
		<pubDate>Wed, 21 Apr 2010 17:57:44 +0000</pubDate>
		<dc:creator>Jotremar</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.jotremar.com/basedeconocimientos/?p=101</guid>
		<description><![CDATA[En Mysql a veces pasa que el log de la base de datos se corrompe y lanza errores como este:
ERROR: Error in Log_event::read_log_event(): 'Event too big'
En estos casos hay que buscar la siguiente posición válida del archivo e indicarle a Mysql que siga a partir de esa posición. Para ello ejecutamos el comando &#8220;mysqlbinlog mysql-bin.0000YY [...]]]></description>
			<content:encoded><![CDATA[<p>En Mysql a veces pasa que el log de la base de datos se corrompe y lanza errores como este:</p>
<pre>ERROR: Error in Log_event::read_log_event(): 'Event too big'</pre>
<p>En estos casos hay que buscar la siguiente posición válida del archivo e indicarle a Mysql que siga a partir de esa posición. Para ello ejecutamos el comando &#8220;mysqlbinlog mysql-bin.0000YY &#8211;start-position=XXXX&#8221;. La YY se cambia por el número de archivo log y las XXXX por la posición indicada en en error de Mysql, aumentando XXXX en 1 unidad en cada prueba, hasta que no de mensaje de error en el comando. Una vez localizada una línea buena, le decimos a Mysql que siga a partir de esa línea y listo. Para eso buscamos ejecutamos la sentencia sql &#8220;change master to MASTER_LOG_FILE = &#8216;mysql-bin.0000YY&#8217;, MASTER_LOG_POS = 0&#8243;.</p>
<p>Para probar de forma más cómoda cuál es la buena, podemos usar este script como ejemplo, porque puede ser 10 posiciones sobre el error o 700 o más:</p>
<pre> #!/bin/bash
NUM=$1</pre>
<pre>echo "INICIO: $NUM"
echo "FIN: $2"
while [ $NUM -le $2 ]; do
        mysqlbinlog mysql-bin.000004 --start-position=$NUM
        echo "EJECUTADO: $NUM"
        let NUM=$NUM+1
done</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.jotremar.com/basedeconocimientos/?feed=rss2&amp;p=101</wfw:commentRss>
		</item>
		<item>
		<title>Crear certificado para HTTPS</title>
		<link>http://www.jotremar.com/basedeconocimientos/?p=98</link>
		<comments>http://www.jotremar.com/basedeconocimientos/?p=98#comments</comments>
		<pubDate>Fri, 05 Mar 2010 12:28:40 +0000</pubDate>
		<dc:creator>Jotremar</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.jotremar.com/basedeconocimientos/?p=98</guid>
		<description><![CDATA[
Lo primero es generar la LLAVE PRIVADA del servidor. Esto se hace mediante la generacion aleatoria de una cadena de texto, mediante el siguiente comando: &#8220;openssl genrsa -des3 -rand /dev/urandom -out server.key 1024&#8243;
El sistema te pedirá una contraseña, que debes recordar. Hay que tener en cuenta, que el sistema te la pedirá siempre que intentes iniciar [...]]]></description>
			<content:encoded><![CDATA[<div id="TixyyLink" style="text-align: left; background-color: transparent; color: #000000; overflow: hidden; text-decoration: none;">
<p>Lo primero es generar la LLAVE PRIVADA del servidor. Esto se hace mediante la generacion aleatoria de una cadena de texto, mediante el siguiente comando: &#8220;openssl genrsa -des3 -rand /dev/urandom -out server.key 1024&#8243;</p>
<div style="text-align: left; background-color: transparent; color: #000000; overflow: hidden; text-decoration: none;">El sistema te pedirá una contraseña, que debes recordar. Hay que tener en cuenta, que el sistema te la pedirá siempre que intentes iniciar o reiniciar el servidor web y si no la introduces, pues no arranca hasta que se meta la contraseña. Puedes deshabilitar el hecho de que te pida simpre la clave con este comando: &#8220;openssl rsa -in server.key -out server.pem&#8221;</div>
<div style="text-align: left; background-color: transparent; color: #000000; overflow: hidden; text-decoration: none;">Ahora se genera el CSR: &#8220;openssl req -new -key server.key -out server.csr&#8221;. Se ha de responder a la preguntas que se indicarán al ejecutar el comando.</div>
<div style="text-align: left; background-color: transparent; color: #000000; overflow: hidden; text-decoration: none;">El archivo resultante, es el que se envía a la autoridad autentificadora, para que nos genere el certificado digital.</div>
<div style="text-align: left; background-color: transparent; color: #000000; overflow: hidden; text-decoration: none;">Si queremos autogenerarnos uno y no pagar uno bueno, usaremos el siguiente comando: &#8220;open<span class="search_hit">ssl</span> x509 -req -days 60 -in server.csr -signkey server.key -out server.crt&#8221;</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jotremar.com/basedeconocimientos/?feed=rss2&amp;p=98</wfw:commentRss>
		</item>
		<item>
		<title>Configurar servidor VPN</title>
		<link>http://www.jotremar.com/basedeconocimientos/?p=94</link>
		<comments>http://www.jotremar.com/basedeconocimientos/?p=94#comments</comments>
		<pubDate>Tue, 26 Jan 2010 17:55:18 +0000</pubDate>
		<dc:creator>Jotremar</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.jotremar.com/basedeconocimientos/?p=94</guid>
		<description><![CDATA[Alguna vez que otra nos vemos en la necesidad de tener que conectarnos a una red privada y no tener que abrir el cortafuegos a todo, más cuando no sabes muy bien a que. Para esto, nos instalamos el OpenVPN y creamos unos certificados por seguridad (tiene unos asistentes para generarlo). Con estos certificados garantizamos [...]]]></description>
			<content:encoded><![CDATA[<p>Alguna vez que otra nos vemos en la necesidad de tener que conectarnos a una red privada y no tener que abrir el cortafuegos a todo, más cuando no sabes muy bien a que. Para esto, nos instalamos el OpenVPN y creamos unos certificados por seguridad (tiene unos asistentes para generarlo). Con estos certificados garantizamos que solo se conecta quien posee esos archivos en su ordenador y no cualquier curioso.</p>
<p>El archivo de configuración puede quedar así por ejemplo:</p>
<blockquote><p>port 1194</p>
<p>proto udp</p>
<p>dev tap<br />
dev-node tap-bridge<br />
mode server</p>
<p>ca c:\\keys\\ca.crt<br />
cert c:\\keys\\servidor.crt<br />
key c:\\keys\\servidor.key # This file should be kept secret<br />
dh c:\\keys\\dh1024.pem</p>
<p>server-bridge 192.168.0.40 255.255.255.0 192.168.0.21 192.168.0.30</p>
<p>push &#8220;route 192.168.0.0 255.255.255.0&#8243;</p>
<p>client-to-client<br />
keepalive 10 120</p>
<p>tls-auth c:\\keys\\ta.key 0 # This file is secret</p>
<p>comp-lzo<br />
persist-key<br />
persist-tun</p>
<p>status openvpn-status.log</p>
<p>log         openvpn.log</p>
<p>verb 4
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jotremar.com/basedeconocimientos/?feed=rss2&amp;p=94</wfw:commentRss>
		</item>
	</channel>
</rss>

