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

<channel>
	<title>Hello, IT.</title>
	<atom:link href="http://helloit.es/feed/" rel="self" type="application/rss+xml" />
	<link>http://helloit.es</link>
	<description>Have you tried turning it off and on again?</description>
	<lastBuildDate>Fri, 17 Feb 2012 11:25:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Las colas de postfix</title>
		<link>http://helloit.es/2012/02/las-colas-de-postfix/</link>
		<comments>http://helloit.es/2012/02/las-colas-de-postfix/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 11:25:21 +0000</pubDate>
		<dc:creator>Adri</dc:creator>
				<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[postqueue]]></category>
		<category><![CDATA[qshape]]></category>
		<category><![CDATA[queue]]></category>

		<guid isPermaLink="false">http://helloit.es/?p=1103</guid>
		<description><![CDATA[No es extraño tener en un servidor de envío de correo, más de un postfix (o incluso decenas de ellos) corriéndo de forma simultánea. Para poder ver el estado de las colas (es decir, los mails que están esperando a ser enviados), podemos usar un par de comandos: qshape -c /etc/postfixA/ Qshape es una utilidad [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://helloit.es/img/mail12.jpg" alt="Apache HTTP" />No es extraño tener en un servidor de envío de correo, más de un postfix (o incluso decenas de ellos) corriéndo de forma simultánea. Para poder ver el estado de las colas (es decir, los mails que están esperando a ser enviados), podemos usar un par de comandos:</p>
<blockquote><p>qshape -c /etc/postfixA/</p></blockquote>
<p>Qshape es una utilidad que muestra por pantalla el número de mails distribuidos por edad en las colas, es decir, nos mostrará el tiempo que llevan los mails en las colas, esperando para salir, agrupados por tiempo. Con la opción &#8220;-c&#8221; se le indicará la ruta al fichero main.cf del postfix del cual queremos ver las colas.</p>
<blockquote><p>postqueue -p -c /etc/postfixA/</p></blockquote>
<p>Postqueue, es la utilidad para gestionar las colas de postfix, la cual, requiere indicar igual que qshape, la ruta al main.cf del postfix en cuestión. La opción &#8220;-p&#8221; lista el contenido de las colas.<br />
<img class="izquierda" style="border: 0px none;" src="http://helloit.es/wp-content/themes/bluebusiness/images/flickr.gif" alt="Flickr!" /> Foto por <a href="http://www.flickr.com/photos/alecperkins/4948734553/" target="_blank">alecperkins</a></p>
]]></content:encoded>
			<wfw:commentRss>http://helloit.es/2012/02/las-colas-de-postfix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Restaurar mysqlhotcopy</title>
		<link>http://helloit.es/2012/02/restaurar-mysqlhotcopy/</link>
		<comments>http://helloit.es/2012/02/restaurar-mysqlhotcopy/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 12:27:40 +0000</pubDate>
		<dc:creator>Adri</dc:creator>
				<category><![CDATA[Bases de datos]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysqlhotcopy]]></category>
		<category><![CDATA[restore backup]]></category>

		<guid isPermaLink="false">http://helloit.es/?p=1107</guid>
		<description><![CDATA[Hace un tiempo vimos cómo hacer copias de seguridad más rápidas para tablas MyISAM con mysqlhotcopy. Ahora toca ver cómo restauramos un backup de éste tipo, paso por paso. Se partirá de un backup comprimido con &#8220;zip&#8221; para Linux. En primer lugar, crearemos un fichero temporal donde descomprimir el backup. [backup]# mkdir /tmp/restore Una vez [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://helloit.es/img/mysql0212.jpg" alt="Apache HTTP" />Hace un tiempo vimos <a href="http://helloit.es/2011/10/mysqlhotcopy/" target="_blank">cómo hacer copias de seguridad más rápidas para tablas MyISAM con mysqlhotcopy</a>. Ahora toca ver cómo restauramos un backup de éste tipo, paso por paso.</p>
<p>Se partirá de un backup comprimido con &#8220;zip&#8221; para Linux.</p>
<p>En primer lugar, crearemos un fichero temporal donde descomprimir el backup.</p>
<blockquote><p>[backup]# mkdir /tmp/restore</p></blockquote>
<p><span id="more-1107"></span></p>
<p>Una vez creado, copiaremos el backup al directorio temporal.</p>
<blockquote><p>[backup]# cp 2012-02-02-backup.gz /tmp/restore/</p></blockquote>
<p>Nos situaremos en el directorio temporal y descomprimiremos el backup.</p>
<blockquote><p>[backup]# cd /tmp/restore/<br />
[restore]# unzip 2012-02-02-backup.gz</p></blockquote>
<p>Tras la descompresión, entraremos en la ruta donde están los ficheros MYI, frm y MYD correspondientes a los ficheros de las tablas de la base de datos, y nos aseguraremos de que tienen el propietario y los permisos correctos.</p>
<blockquote><p>[database]# chown mysql:mysql *<br />
[database]# chmod 660 *</p></blockquote>
<p>Finalmente, únicamente quedará parar MySQL, machacar los ficheros de la base de datos con los ficheros correspondientes a la copia de seguridad, e iniciar de nuevo el MySQL.</p>
<blockquote><p>[database]# /etc/init.d/mysqld stop<br />
[database]# mv -f * /var/lib/mysql/database/<br />
[database]# /etc/init.d/mysqld start</p></blockquote>
<p>¡Listo!</p>
<p><img class="izquierda" style="border: 0px none;" src="http://helloit.es/wp-content/themes/bluebusiness/images/flickr.gif" alt="Flickr!" /> Foto por <a href="http://www.flickr.com/photos/mager/2178469472/&quot;" target="_blank">magerleagues</a></p>
]]></content:encoded>
			<wfw:commentRss>http://helloit.es/2012/02/restaurar-mysqlhotcopy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo hacer SSH más seguro</title>
		<link>http://helloit.es/2012/02/como-hacer-ssh-mas-seguro/</link>
		<comments>http://helloit.es/2012/02/como-hacer-ssh-mas-seguro/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 12:04:30 +0000</pubDate>
		<dc:creator>Adri</dc:creator>
				<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[secure ssh]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://helloit.es/?p=1044</guid>
		<description><![CDATA[Hay muchos posts en Internet hablando sobre cómo configurar SSH de forma correcta, para tener un entorno seguro; éste es otro de ellos. La configuración de ssh en la máquina a la que queremos conectar, en entornos tipo Red Hat, se encuenta en /etc/ssh/sshd_conf. En este fichero de configuración, podremos realizar varias modificaciones para intentar [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="Apache HTTP" src="http://helloit.es/img/ssh212.jpg"/>Hay muchos posts en Internet hablando sobre cómo configurar SSH de forma correcta, para tener un entorno seguro; éste es otro de ellos.</p>
<p>La configuración de ssh en la máquina a la que queremos conectar, en entornos tipo Red Hat, se encuenta en /etc/ssh/sshd_conf. En este fichero de configuración, podremos realizar varias modificaciones para intentar tener un entorno SSH más seguro, como por ejemplo las que se describen a continuación:</p>
<p><strong>Cambiar el puerto de acceso por defecto</strong></p>
<p>Por defecto SSH usa el puerto 22, cambiando el puerto por otro conseguimos añadir una traba extra para alguien que quiere acceder a nuestro server a través de SSH, puesto que el puerto por defecto no respo﻿nderá. Se recomienda usar uno mayor al 1024, por estar del <a title="Iana ports" href="http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml" target="_blank">1 al 1024 reservados</a>.</p>
<p><em>Port 12503</em></p>
<p><em><span id="more-1044"></span></em></p>
<p><strong>Deshabilitar el acceso a root</strong></p>
<p>El usuario root tiene todos los permisos del sistema, y además es un usuario que existe en todos los sistemas. Una buena práctica sería deshabilitar el acceso al usuario root, y conectárse por ssh únicamente con usuarios propios, que posteriormente (si así lo deseamos) puedan coger privilegios de administrador mediante &#8220;sudo&#8221;, habiéndose configurado préviamente en /etc/sudoers. De esta manera, prevenimos ataques SSH que intenten conectar con el usuario root, que serían los más usuales.</p>
<p><em>PermitRootLogin no</em></p>
<p><strong>Deshabilitar el protocolo 1</strong></p>
<p>Por estar obsoleto y por contar con varias vulnerabilidades conocidas, se recomienda sólo habilitar el protocolo 2, con el que se podrá trabajar sin ningún problema hoy en día.</p>
<p><em>Protocol 2</em></p>
<p><strong>Crear una lista de usuarios permitidos</strong></p>
<p>Lista de usuarios del sistema (en /etc/passwd) que tienen permiso para conectar por ssh. Así controlamos mucho mejor el acceso al ssh y evitamos ataques ssh con usuarios conocidos como el usuario apache, nagios, etc. También podemos incluir desde qué equipos se aceptarán las conexiones, incluyendo un @ip tras el username.</p>
<p><em>AllowUsers paco pepe@80.12.32.132</em></p>
<p><strong>Deshabilitar la autentificación con contraseña</strong></p>
<p>Este punto es algo más complicado que el resto, puesto que requiere de un trabajo adicional; la creación de claves públicas/privadas para la autentificación. Aquí habría dos posibles maneras de actuar:</p>
<p>1- Crear un par de claves en la máquina desde la que queremos conectar y copiarla al servidor siguiendo <a title="SSH" href="http://helloit.es/2011/07/configurar-claves-ssh/" target="_blank">los pasos descritos aquí</a>. Esto requiere poder autentificarse mediante contraseña para poder copiar la clave al servidor.</p>
<p>2- Otra opción para realizar lo mismo, se describe <a title="Use Public/Private Keys for Authentication" href="http://wiki.centos.org/HowTos/Network/SecuringSSH" target="_blank">aquí, en el punto 7</a>, sin necesidad de usar ssh-copy-id (lo cual requiere autentificación por contraseña).</p>
<p>Una vez comprobado que funciona la autentificación por ssh mediante certificado, se podrá deshabilitar la autentificación por password.</p>
<p><em>PasswordAuthentication no</em></p>
<p><strong>Limitar el número de reintentos</strong></p>
<p>Incluir un número máximo de errores al introducir el usuario/password (si está habilitado).</p>
<p><em>MaxAuthTries 2</em></p>
<p><strong>Limitar el número de pantallas de login</strong></p>
<p>Limitar el número de conexiones simultáneas a la pantalla de login desde la misma IP, para evitar ataques divididos. Esto no limita el número de sesiones ssh simultáneas, sólo limita el número de pantallas de login abiertas al mismo tiempo.</p>
<p><em>MaxStartups 3</em></p>
<p>&nbsp;</p>
<p>NOTA IMPORTANTE: Se recomienda iniciar una sesión ssh contra la máquina antes de realizar ningún cambio, y no cerrar dicha sesión ssh. Tras los cambios, se podrá reiniciar el sshd del servidor sin que se cierre la sesión ssh original, por lo que si nos hemos equivocado con algún parámetro, aun podremos deshacer los cambios a través de la sesión ssh original. Para los tests, se recomienda usar nuevas sesiones ssh y nunca cerrar la original.</p>
<p>&nbsp;</p>
<p><strong>Configurar iptables correctamente</strong></p>
<p>Finalmente, una buena idea sería configurar correctamente el firewall de Linux, iptables, que nada tiene que ver con el fichero de configuración sshd_config. Con iptables, podríamos por ejemplo únicamente aceptar peticiones al puerto definido para el SSH desde las IPs públicas de confianza que nosotros queramos. Más info sobre cómo hacer esto, <a title="iptables linux" href="http://helloit.es/2011/09/un-poco-de-iptables/" target="_blank">aquí</a>.</p>
<p>&nbsp;</p>
<p>Fuentes: <a title="five-steps-to-a-more-secure-ssh" href="http://thinkhole.org/wp/2006/10/30/five-steps-to-a-more-secure-ssh/" target="_blank"></a><a title="ssh secure" href="http://fedorasolved.org/post-install-solutions/securing-ssh" target="_blank">http://fedorasolved.org/post-install-solutions/securing-ssh</a></p>
<p><a href="http://www.linuxtotal.com.mx/index.php?cont=info_seyre_004">http://www.linuxtotal.com.mx/index.php?cont=info_seyre_004</a></p>
<p><a title="securing ssh" href="http://wiki.centos.org/HowTos/Network/SecuringSSH" target="_blank">http://wiki.centos.org/HowTos/Network/SecuringSSH</a></p>
<p><a title="sshd man" href="http://resin.csoft.net/cgi-bin/man.cgi?section=5&amp;topic=sshd_config" target="_blank">http://resin.csoft.net/cgi-bin/man.cgi?section=5&amp;topic=sshd_config</a></p>
<p>&nbsp;</p>
<p>&nbsp;<br />
<img alt="Flickr!" src="http://helloit.es/wp-content/themes/bluebusiness/images/flickr.gif" style="border: 0px none;" class="izquierda"/> Foto por <a target="_blank" href="http://www.flickr.com/photos/jakecaptive/107723749/">@boetter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://helloit.es/2012/02/como-hacer-ssh-mas-seguro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Estreno del .es</title>
		<link>http://helloit.es/2012/02/estreno-del-es/</link>
		<comments>http://helloit.es/2012/02/estreno-del-es/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 22:41:30 +0000</pubDate>
		<dc:creator>Adri</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[1and1]]></category>
		<category><![CDATA[helloit.es]]></category>

		<guid isPermaLink="false">http://helloit.es/?p=1129</guid>
		<description><![CDATA[Dependiendo de cómo hayas llegado a este blog, quizá hayas notado que la url ha pasado de &#8220;helloit.webege.com&#8221; a &#8220;helloit.es&#8221;. Después de unos años beneficiándome de hosting y sub-dominio gratuitos de 000webhost.com he pasado a un hosting con 1and1 (después de haberlo abandonado unos años atrás) con un dominio.es. El antiguo blog continúa existiendo, pero [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="Apache HTTP" src="http://helloit.es/img/puntoes.jpg"/><br />
Dependiendo de cómo hayas llegado a este blog, quizá hayas notado que la url ha pasado de &#8220;helloit.webege.com&#8221; a &#8220;helloit.es&#8221;. </p>
<p>Después de unos años beneficiándome de hosting y sub-dominio gratuitos de <a href="http://000webhost.com" target="_blank">000webhost.com</a> he pasado a un hosting con <a href="http://1and1.es">1and1</a> (después de haberlo abandonado <a href="http://helloit.es/2009/12/migracion-de-hosting/" target="_blank">unos años atrás</a>) con un dominio.es. El antiguo blog continúa existiendo, pero con una <a href="http://support.google.com/webmasters/bin/answer.py?hl=es&#038;answer=93633" target="_blank">redirección 301</a> (movido permanentemente).</p>
<p>El .com y el .net ya estaban ocupados, así que me he tenido que conformar con el &#8220;.es&#8221;, que tampoco está tan mal.</p>
]]></content:encoded>
			<wfw:commentRss>http://helloit.es/2012/02/estreno-del-es/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Servidores Windows en Nagios</title>
		<link>http://helloit.es/2012/01/servidores-windows-en-nagios/</link>
		<comments>http://helloit.es/2012/01/servidores-windows-en-nagios/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 16:37:28 +0000</pubDate>
		<dc:creator>Adri</dc:creator>
				<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[NSClient++]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://helloit.es/?p=1078</guid>
		<description><![CDATA[Hoy me he encontrado con la extraña tarea de tener que monitorizar un servidor Windows con Nagios. Digo extraña porqué hasta ahora sólo he tenido que monitorizar servidores Linux, por ser éste el sistema operativo usado en la mayoría de servidores con los que me he cruzado. En cuanto al servidor a monitorizar, he seguido [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy me he encontrado con la extraña tarea de tener que monitorizar un servidor Windows con Nagios. Digo extraña porqué hasta ahora sólo he tenido que monitorizar servidores Linux, por ser éste el sistema operativo usado en la mayoría de servidores con los que me he cruzado.</p>
<p>En cuanto al servidor a monitorizar, he seguido estos pasos:</p>
<ol>
<li>Descargar NSClient++ en el servidor Windows. Aquí la <a title="NSClient++" href="http://sourceforge.net/projects/nscplus/" target="_blank">página oficial de NSClient++</a></li>
<li>Ejecutar el instalador y seguir el asistente
<ul>
<li>Durante el instalador, se podrá indicar la IP del servidor Nagios, para únicamente permitir el acceso a NSClient++ desde esa IP.</li>
<li>Igualmente, se podrá indicar una contraseña que se deberá configurar en el servidor Nagios, para poder conectar.</li>
<li>Si se va a usar check_nt, como es habitual, se deberá marcar durante la instalación, los módulos &#8220;common check plugins&#8221; y &#8220;nsclient server (check_nt)&#8221;.</li>
</ul>
</li>
<li>Una vez finalizada la instalación, se recomienda marcar el check &#8220;start service&#8221; para iniciar en ese momento el servicio NSClient++ (se podrá ver desde services.msc). El servicio se guarda con inicio &#8220;automático&#8221;, así que en teoría no hemos de preocuparnos de él.</li>
</ol>
<p>Con esto estaría todo listo, en cuanto a la parte de la máquina a monitorizar. En cuanto a la propia configuración del Nagios, por defecto ya viene un fichero windows.cfg que encontraremos en la carpeta de objetos del servidor Nagios, que nos servirá de base para conectar mediante check_nt con nuestro nuevo servidor Windows.</p>
<p>Fuente: <a title="Nagios Windows" href="http://nagioses.blogspot.com/2009/03/monitoreando-maquinas-con-windows.html" target="_blank">http://nagioses.blogspot.com/2009/03/monitoreando-maquinas-con-windows.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://helloit.es/2012/01/servidores-windows-en-nagios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>no acceptable C compiler found in $PATH</title>
		<link>http://helloit.es/2012/01/no-acceptable-c-compiler-found-in-path/</link>
		<comments>http://helloit.es/2012/01/no-acceptable-c-compiler-found-in-path/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 12:25:34 +0000</pubDate>
		<dc:creator>Adri</dc:creator>
				<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[C compiler]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[red hat]]></category>

		<guid isPermaLink="false">http://helloit.es/?p=1072</guid>
		<description><![CDATA[Intentando instalar los plugins de Nagios en una máquina &#8220;cliente&#8221; a monitorizar, es posible que nos encontremos con el siguiente error, tras ejecutar el ./configure: [root@miserver nagios-plugins-1.4.15]# ./configure checking for a BSD-compatible install&#8230; /usr/bin/install -c checking whether build environment is sane&#8230; yes checking for a thread-safe mkdir -p&#8230; /bin/mkdir -p checking for gawk&#8230; gawk checking [...]]]></description>
			<content:encoded><![CDATA[<p>Intentando instalar los plugins de Nagios en una máquina &#8220;cliente&#8221; a monitorizar, es posible que nos encontremos con el siguiente error, tras ejecutar el ./configure:</p>
<blockquote><p>[root@miserver nagios-plugins-1.4.15]# ./configure<br />
checking for a BSD-compatible install&#8230; /usr/bin/install -c<br />
checking whether build environment is sane&#8230; yes<br />
checking for a thread-safe mkdir -p&#8230; /bin/mkdir -p<br />
checking for gawk&#8230; gawk<br />
checking whether make sets $(MAKE)&#8230; yes<br />
checking build system type&#8230; x86_64-unknown-linux-gnu<br />
checking host system type&#8230; x86_64-unknown-linux-gnu<br />
checking for gcc&#8230; no<br />
checking for cc&#8230; no<br />
checking for cl.exe&#8230; no<br />
configure: error: no acceptable C compiler found in $PATH<br />
See `config.log&#8217; for more details.<br />
[root@miserver nagios-plugins-1.4.15]#</p></blockquote>
<p>Este error es de por sí, bastante descriptivo; falta el compilador de C, concretamente, &#8220;gcc&#8221;. En entornos Red Hat, bastará con usar yum para instalar gcc y solucionar así el problema:</p>
<blockquote><p>[root@miserver nagios-plugins-1.4.15]# yum install gcc</p></blockquote>
<p>En mi caso, gcc ha tenido las siguientes dependencias, también instaladas junto con gcc de forma automática:</p>
<ul>
<li>cpp</li>
<li>glibc-devel</li>
<li>glibc-headers</li>
<li>kernel-headers</li>
</ul>
<p>El propósito del post, es ver los paquetes imprescindibles a instalar para solucionar este problema.</p>
]]></content:encoded>
			<wfw:commentRss>http://helloit.es/2012/01/no-acceptable-c-compiler-found-in-path/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generar petición CSR para HTTPS</title>
		<link>http://helloit.es/2012/01/generar-peticion-csr-para-https/</link>
		<comments>http://helloit.es/2012/01/generar-peticion-csr-para-https/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 19:17:51 +0000</pubDate>
		<dc:creator>Adri</dc:creator>
				<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[443]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[certificado]]></category>
		<category><![CDATA[CSR]]></category>
		<category><![CDATA[GoDaddy]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://helloit.es/?p=1010</guid>
		<description><![CDATA[Si se quiere montar un servidor que soporte HTTPS, se deberá contar un certificado válido para el sitio web. Para ello, una opción es directamente, comprar dicho certificado, en alguno de los múltiples sitios web que ofrecen esta opción, como GoDaddy, los cuales, ya tienen las instrucciones para generar la petición del certificado aquí: Para [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://helloit.es/img/apachecrs.jpg" alt="Apache HTTP" />Si se quiere montar un servidor que soporte HTTPS, se deberá contar un certificado válido para el sitio web. Para ello, una opción es directamente, comprar dicho certificado, en alguno de los múltiples sitios web que ofrecen esta opción, como GoDaddy, los cuales, ya tienen las instrucciones para generar la petición del certificado <a title="CSR Apache" href="http://help.godaddy.com/article/5269?isc=SCAM14&amp;locale=es" target="_blank">aquí</a>:</p>
<p>Para generar la petición para el certificado, se deberán seguir una serie de pasos:</p>
<ul>
<li>Crear el certificado y la petición CSR (Solicitud para Firma del Certificado), ejecutando en el servidor web, el siguiente comando (NOTA: yourdomain puede ser cualquier texto, por ejemplo, para dominio.com podríamos usar dominio.key y dominio.csr respectivamente):</li>
</ul>
<blockquote><p>openssl req -new -newkey rsa:2048 -nodes -keyout <em>yourdomain</em>.key -out <em>yourdomain</em>.csr</p></blockquote>
<p><span id="more-1010"></span></p>
<ul>
<li>Al ejecutarlo, preguntará una serie de detalles para generar el certificado, los cuales deberemos rellenar convenientemente</li>
</ul>
<blockquote><p>- Country Name: ES<br />
- State: Barcelona<br />
- Locality Name: Barcelona<br />
- Organization Name: Mi Ornanizacion SL<br />
- Organizational Unit Name:  Dept. Sistemas<br />
- Common Name: dominio.com<br />
- Email Address: mi_mail@mi_otro_dominio.com</p></blockquote>
<p>Es especialmente importante introducir en el Common Name, el nombre del dominio (o subdominio) al cual asociaremos el certificado (es decir, el dominio que resolverá una petición https).</p>
<p>No hará falta introducir una contraseña para el certificado.</p>
<ul>
<li>Al acabar el proceso, se habrán generado tanto el fichero .key como el .csr, ambos necesarios para crear el certificado, directamente en la página del proveedor (como GoDaddy).</li>
<li>Desde el proveedor, al intentar crear el certificado mediante el CSR, se enviará un mail al contacto administrativo del dominio asociado al certificado (parámetro &#8220;Common Name&#8221; durante la creación del CSR), que deberá autorizar la creación del certificado.</li>
<li>Finalmente, el proveedor nos proporcionará dos archivos:</li>
</ul>
<ol>
<li>bundle.crt (el certificado intermedio)</li>
<li>dominio.com.crt (e</li>
</ol>
<ul>
<li>Deberemos incluir estos dos archivos, junto con el archivo con la clave privada (.key) generado al crear la petición CSR, en la carpeta donde guardemos los certificados en el servidor web y configurar el virtual host convenientemente para empezar a usar nuestro nuevo certificado.</li>
</ul>
<p><strong>Actualización: </strong> Así por ejemplo, y tras modificar los permisos para los ficheros del certificado a 600 y root:root, creariamos un vhost donde especificaríamos la ubicación de los ficheros tal y como sigue:</p>
<blockquote><p>&lt;VirtualHost *:443&gt;<br />
[...]<br />
SSLEngine on<br />
SSLCertificateFile /etc/httpd/crt/dominio.com.crt<br />
SSLCertificateKeyFile /etc/httpd/crt/dominio.com.key<br />
SSLCertificateChainFile /etc/httpd/crt/gd_bundle.crt<br />
[...]<br />
&lt;/VirtualHost&gt;</p></blockquote>
<p><img class="izquierda" style="border: 0px none;" src="http://helloit.es/wp-content/themes/bluebusiness/images/flickr.gif" alt="Flickr!" /> Foto por <a href="http://www.flickr.com/photos/us-mission/5926023883/sizes/l/in/photostream/" target="_blank">US Mission Geneva</a></p>
]]></content:encoded>
			<wfw:commentRss>http://helloit.es/2012/01/generar-peticion-csr-para-https/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Actualizar PHP en Red Hat 5</title>
		<link>http://helloit.es/2011/12/actualizar-php-en-red-hat-5/</link>
		<comments>http://helloit.es/2011/12/actualizar-php-en-red-hat-5/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 13:21:43 +0000</pubDate>
		<dc:creator>Adri</dc:creator>
				<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[red hat]]></category>
		<category><![CDATA[rhel]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://helloit.es/?p=1034</guid>
		<description><![CDATA[Para finalizar el año, veremos cómo actualizar PHP en un servidor Red Hat Enterprise 5.5. En primer lugar miraremos qué versión de php tenemos, sin necesidad de usar phpinfo(): [root@miserver ~]# php -v PHP 5.1.6 (cli) (built: Nov 13 2010 16:05:12) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies [...]]]></description>
			<content:encoded><![CDATA[<p>Para finalizar el año, veremos cómo actualizar PHP en un servidor Red Hat Enterprise 5.5.</p>
<p>En primer lugar miraremos qué versión de php tenemos, sin necesidad de usar phpinfo():</p>
<blockquote><p>[root@miserver ~]# php -v<br />
PHP 5.1.6 (cli) (built: Nov 13 2010 16:05:12)<br />
Copyright (c) 1997-2006 The PHP Group<br />
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies</p></blockquote>
<p>A continuación instalaremos los repositorios de <a title="remi red hat" href="http://rpms.famillecollet.com/" target="_blank">remi</a> siguiendo los pasos descritos <a title="remi repos" href="http://blog.famillecollet.com/pages/Config-en" target="_blank">aquí</a>:</p>
<blockquote><p>[root@miserver ~]# wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm<br />
[root@miserver ~]# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm<br />
[root@miserver ~]# rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm</p></blockquote>
<p><span id="more-1034"></span>Una vez instalados, faltará habilitar el repo de remi (que no el &#8220;remi_test&#8221;) símplemente poniendo a &#8220;1&#8243; la línea &#8220;enabled&#8221;:</p>
<blockquote><p>[root@miserver ~]# vi /etc/yum.repos.d/remi.repo<br />
&#8230;<br />
[remi]<br />
enabled=1</p></blockquote>
<p>Como curiosidad, podremos ver qué paquetes de php tenemos instalados con el siguiente comando:</p>
<blockquote><p>[root@miserver ~]# rpm -qa | grep php<br />
php-pdo-5.1.6-27.el5_5.3<br />
php-mysql-5.1.6-27.el5_5.3<br />
php-cli-5.1.6-27.el5_5.3<br />
php-common-5.1.6-27.el5_5.3<br />
php-5.1.6-27.el5_5.3<br />
php-gd-5.1.6-27.el5_5.3</p></blockquote>
<p>Podremos actualizar todos los paquetes, o bien indicando uno a uno cada uno de los paquetes, o mejor aun, introduciendo únicamente el paquete &#8220;padre&#8221; (lo cual ya nos actualizará el resto de paquetes):</p>
<blockquote><p>[root@miserver ~]# yum update php</p></blockquote>
<p>Es posible que nos encontremos con algún tipo de error como el siguiente:</p>
<blockquote><p>Transaction Check Error:<br />
file /etc/my.cnf from install of mysql-libs-5.5.19-1.el5.remi.x86_64 conflicts with file from package mysql-5.0.77-4.el5_6.6.x86_64<br />
file /usr/share/mysql/charsets/Index.xml from install of mysql-libs-5.5.19-1.el5.remi.x86_64 conflicts with file from package mysql-5.0.77-4.el5_6.6.x86_64<br />
file /usr/share/mysql/charsets/cp1250.xml from install of mysql-libs-5.5.19-1.el5.remi.x86_64 conflicts with file from package mysql-5.0.77-4.el5_6.6.x86_64<br />
&#8230;</p></blockquote>
<p>En mi caso, esto se ha solucionado eliminando el paquete que crea el conflicto, y posteriormente, actualizando php para a continuación instalar de nuevo el paquete conflictivo (que se instalará ya en la nueva versión):</p>
<blockquote><p>[root@miserver ~]# yum remove mysql-5.0.77-4.el5_6.6.x86_64<br />
[root@miserver ~]# yum update php<br />
[root@miserver ~]# yum install php-mysql</p></blockquote>
<p>¡Feliz año!</p>
<p>Fuente: <a title="Actualizar php" href="http://www.sohailriaz.com/how-to-update-php-on-servers-centosfedorarhel/" target="_blank">http://www.sohailriaz.com/how-to-update-php-on-servers-centosfedorarhel/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://helloit.es/2011/12/actualizar-php-en-red-hat-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cambiar motor tablas mysql</title>
		<link>http://helloit.es/2011/11/cambiar-motor-tablas-mysql/</link>
		<comments>http://helloit.es/2011/11/cambiar-motor-tablas-mysql/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 18:54:44 +0000</pubDate>
		<dc:creator>Adri</dc:creator>
				<category><![CDATA[Bases de datos]]></category>
		<category><![CDATA[alter table]]></category>
		<category><![CDATA[innodb]]></category>
		<category><![CDATA[myisam]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://helloit.es/?p=978</guid>
		<description><![CDATA[En más de una ocasión, me he encontrado con la necesidad de verificar el motor (innodb o myisam) de las tablas de una determinada base de datos en mysql. Se puede ver el motor usado, seleccionando la base de datos y ejecutando el comando &#8220;show table status&#8221;: use mydatabase; show table status; También me he [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://helloit.es/img/engine.jpg" alt="MySQL Engine" />En más de una ocasión, me he encontrado con la necesidad de verificar el motor (innodb o myisam) de las tablas de una determinada base de datos en mysql. Se puede ver el motor usado, seleccionando la base de datos y ejecutando el comando &#8220;show table status&#8221;:</p>
<blockquote><p>use mydatabase;<br />
show table status;</p></blockquote>
<p>También me he encontrado con la necesidad de cambiar varias (o todas) las tablas de un motor a otro. Existe la posibilidad de ejecutar la siguiente sentencia para cambiar el motor de una tabla:</p>
<blockquote><p>ALTER TABLE mytable ENGINE=InnoDB</p></blockquote>
<p><span id="more-978"></span>Sin embargo, si lo que queremos es cambiar todas las tablas de una base de datos, podemos crear un pequeño fichero en php como el siguiente, que se conecte a la base de datos y nos haga el cambio de todas las tablas de forma automática:</p>
<blockquote><p>&lt;?php<br />
// your connection<br />
mysql_connect(&#8220;localhost&#8221;,&#8221;root&#8221;,&#8221;123456&#8243;);<br />
mysql_select_db(&#8220;postaff&#8221;);</p>
<p>// convert code<br />
$res = mysql_query(&#8220;SHOW TABLES&#8221;);<br />
while ($row = mysql_fetch_array($res))<br />
{<br />
foreach ($row as $key =&gt; $table)<br />
{<br />
mysql_query(&#8220;ALTER TABLE &#8221; . $table . &#8221; ENGINE=InnoDB&#8221;);<br />
echo $key . &#8221; =&amp;gt; &#8221; . $table . &#8221; CONVERTED&lt;br /&gt;&#8221;;<br />
}<br />
}<br />
?&gt;</p></blockquote>
<p><img class="izquierda" style="border: 0px none;" src="http://helloit.es/wp-content/themes/bluebusiness/images/flickr.gif" alt="Flickr!" /> Foto por <a href="http://www.flickr.com/photos/123chromapixels/3267808432" target="_blank">123 Chroma Pixels</a></p>
]]></content:encoded>
			<wfw:commentRss>http://helloit.es/2011/11/cambiar-motor-tablas-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MongoDB &#8211; Reconfigurar replica set</title>
		<link>http://helloit.es/2011/10/mongodb-reconfigurar-replica-set/</link>
		<comments>http://helloit.es/2011/10/mongodb-reconfigurar-replica-set/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 18:36:43 +0000</pubDate>
		<dc:creator>Adri</dc:creator>
				<category><![CDATA[Bases de datos]]></category>
		<category><![CDATA[mongo]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[no sql]]></category>
		<category><![CDATA[replica set]]></category>
		<category><![CDATA[rs.conf]]></category>

		<guid isPermaLink="false">http://helloit.es/?p=906</guid>
		<description><![CDATA[Si se quiere cambiar alguno de los parámetros de cualquier nodo del réplica set, bastará con conectar con el nodo primario de ese conjunto, y seguir los pasos descritos a continuación. En primer lugar, se deberá copiar la configuración actual del replica set a una variable auxiliar: PRIMARY&#62; cfg = rs.conf() { &#8220;_id&#8221; : &#8220;replica1&#8243;, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://helloit.es/img/mongo.jpg" alt="MongoDB" />Si se quiere cambiar alguno de los parámetros de cualquier nodo del réplica set, bastará con conectar con el nodo primario de ese conjunto, y seguir los pasos descritos a continuación.</p>
<p>En primer lugar, se deberá copiar la configuración actual del replica set a una variable auxiliar:</p>
<blockquote><p>PRIMARY&gt; cfg = rs.conf()<br />
{<br />
&#8220;_id&#8221; : &#8220;replica1&#8243;,<br />
&#8220;version&#8221; : 6,<br />
&#8220;members&#8221; : [<br />
{<br />
"_id" : 0,<br />
"host" : "192.0.1.2:27001"<br />
},<br />
{<br />
"_id" : 1,<br />
"host" : "192.0.1.3:27001"<br />
},<br />
{<br />
"_id" : 4,<br />
"host" : "192.0.1.4:38001",<br />
"arbiterOnly" : true<br />
}<br />
]<br />
}</p></blockquote>
<p><span id="more-906"></span></p>
<p>Tal y como se observa en el ejemplo, este comando mostrará por pantalla los parámetros actuales de cada uno de los nodos del réplica set (en el ejemplo, 2 nodos y un árbitro). A partir de la versión 2.0 de mongoDB, se permite cambiar la prioridad de un nodo, pudiendo otorgar un valor entre 0 y 1000 (incluído) en lugar de entre 0 y 1 como hasta ahora.</p>
<blockquote><p>PRIMARY&gt; cfg.members[0].priority = 10<br />
10</p></blockquote>
<p>Una vez realizados los cambios en la configuración, se podrán comprobar ejecutando la variable auxiliar.</p>
<blockquote><p>PRIMARY&gt; cfg<br />
{<br />
&#8220;_id&#8221; : &#8220;replica1&#8243;,<br />
&#8220;version&#8221; : 6,<br />
&#8220;members&#8221; : [<br />
{<br />
"_id" : 0,<br />
"host" : "192.0.1.2:27001",<br />
"priority" : 10<br />
},<br />
{<br />
"_id" : 1,<br />
"host" : "192.0.1.3:27001"<br />
},<br />
{<br />
"_id" : 4,<br />
"host" : "192.0.1.4:38001",<br />
"arbiterOnly" : true<br />
}<br />
]<br />
}</p></blockquote>
<p>Una vez comprobados los cambios, se podrán aplicar, ejecutando el siguiente comando (en caso de no estar en un nodo primario, el comando no se ejecutará):</p>
<blockquote><p>PRIMARY&gt; rs.reconfig(cfg)<br />
{ &#8220;ok&#8221; : 1 }</p></blockquote>
<p>Ahora sí, una vez aplicados los cambios, se podrán ver los cambios realizados con</p>
<blockquote><p>PRIMARY&gt; rs.conf()</p></blockquote>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://helloit.es/2011/10/mongodb-reconfigurar-replica-set/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

