<?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>Salvador G. Mendez &#187; configuracion</title>
	<atom:link href="http://www.sgmendez.com/tag/configuracion/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sgmendez.com</link>
	<description>Blog de un webmaster</description>
	<lastBuildDate>Mon, 06 Feb 2012 20:45:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Configurar Subversion para controlar las versiones del código</title>
		<link>http://www.sgmendez.com/2010/11/29/configurar-subversion-control-codigo/</link>
		<comments>http://www.sgmendez.com/2010/11/29/configurar-subversion-control-codigo/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 17:10:37 +0000</pubDate>
		<dc:creator>Salvador Mendez</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[configuracion]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[intalacion]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[servidores]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[versiones]]></category>

		<guid isPermaLink="false">http://www.sgmendez.com/?p=72</guid>
		<description><![CDATA[Para los que nos dedicamos al desarrollo de software es de vital importancia poder hacer un seguimiento de todos los cambios que realizamos en una aplicación, sobre todo cuando se trata de trabajar en equipo con distintos programadores realizando distintas tareas, e incluso llevar un control de los cambios que realizan distintos equipos dentro de [...]]]></description>
			<content:encoded><![CDATA[<p>Para los que nos dedicamos al desarrollo de software es de vital importancia poder hacer un seguimiento de todos los cambios que realizamos en una aplicación, sobre todo cuando se trata de trabajar en equipo con distintos programadores realizando distintas tareas, e incluso llevar un control de los cambios que realizan distintos equipos dentro de un mismo software.</p>
<p>Cuando el proyecto está bajo el paraguas del software libre, herramientas como las proporcionadas por www.sourceforge.net son de mucha ayuda. Entre ellas se encuentra el uso de Subversion o CSV para la gestión de versiones. Personalmente prefiero subversion.</p>
<p>Este es un pequeño HOWTO de como configurar subversion corriendo bajo Apache, se presupone que se tiene instalado Apache, Subversion, el módulo DAV para Apache y las herramientas de administración de Subversion.</p>
<p>Lo primero que debemos hacer es crear un directorio para nuestro repositorio. Nuestro directorio principal para guardar nuestro control de versiones sobre subversion será /var/subversion/, dentro crearemos un subdirectorio donde se almacenarán los datos con subversion:</p>
<blockquote><p># mkdir /var/subversion/repositorio</p></blockquote>
<p>Ahora debemos crear la estructura de subversion para almacenar las versiones y asignarle permisos para poder acceder:</p>
<blockquote><p>
# svnadmin create /var/subversion/repositorio/<br />
# chmod 777 -R /var/subversion/repositorio/
</p></blockquote>
<p>Con esto ya tenemos listo el repositorio, ahora debemos generar el acceso a través de URL, para ello usaremos el módulo de Apache WebDav. Editaremos el fichero de módulo DAV de Apache (en Devian lo encontraremos en /etc/apache2/mods-available/dav_svn.conf), al final del fichero incluiremos las siguientes líneas:</p>
<blockquote><p>
# Acceso repositorio SVN<br />
<Location /repositorio><br />
DAV svn<br />
AuthType Basic<br />
AuthName &#8220;Servidor Subversion&#8221;<br />
SVNPATH /var/subversion/repositorio<br />
</Location>
</p></blockquote>
<p>En &#8220;Location&#8221; debemos poner la URL por la que queremos acceder al repositorio y en SVNPATH debemos colocar la ruta absoluta hacia el directorio que contendrá los ficheros de nuestro repositorio. Con esto ya debería estar funcionando nuestro repositorio con Subversion, basta con enlazarlo desde cualquier IDE que soporte control de versiones y comenzar a guardar las versiones de vuestros proyectos.</p>
<p>Como subversion no es sólo lo que he comentado, existe un <a href="http://svnbook.red-bean.com/">estupendo manual</a> donde podéis encontrar todas las funciones que ofrece este gestor de versiones.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sgmendez.com/2010/11/29/configurar-subversion-control-codigo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Archivo de log de Qmail con Plesk</title>
		<link>http://www.sgmendez.com/2009/06/04/archivo-de-log-de-qmail-con-plesk/</link>
		<comments>http://www.sgmendez.com/2009/06/04/archivo-de-log-de-qmail-con-plesk/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 11:26:32 +0000</pubDate>
		<dc:creator>Salvador Mendez</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[configuracion]]></category>
		<category><![CDATA[correo]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Qmail]]></category>
		<category><![CDATA[servidor]]></category>

		<guid isPermaLink="false">http://www.sgmendez.com/?p=357</guid>
		<description><![CDATA[Normalmente es posible encontrar el archivo de log de Qmail en la las siguientes rutas:

 /var/log/qmail/current
/var/log/mail/
/var/log/maillog

Pero cuando tenemos instalado Qmail a través de Plesk la ruta por defecto del log se establece en el directorio de Plesk (/usr/local/psa/). Así podremos encontrar el archivo de log de Qmail en la siguiente ruta /usr/local/psa/var/log/maillog
]]></description>
			<content:encoded><![CDATA[<p>Normalmente es posible encontrar el archivo de log de Qmail en la las siguientes rutas:</p>
<ul>
<li> <em>/var/log/qmail/current</em></li>
<li><em>/var/log/mail/</em></li>
<li><em>/var/log/maillog</em></li>
</ul>
<p>Pero cuando tenemos instalado Qmail a través de Plesk la ruta por defecto del log se establece en el directorio de Plesk (<em>/usr/local/psa/</em>). Así podremos encontrar el archivo de log de Qmail en la siguiente ruta <em>/usr/local/psa/var/log/maillog</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sgmendez.com/2009/06/04/archivo-de-log-de-qmail-con-plesk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Replicación en MySQL 5.0</title>
		<link>http://www.sgmendez.com/2008/12/24/replicacion-maestro-esclavo-mysql/</link>
		<comments>http://www.sgmendez.com/2008/12/24/replicacion-maestro-esclavo-mysql/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 10:31:08 +0000</pubDate>
		<dc:creator>Salvador Mendez</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[Webmasters]]></category>
		<category><![CDATA[bases de datos]]></category>
		<category><![CDATA[configuracion]]></category>
		<category><![CDATA[Esclavo]]></category>
		<category><![CDATA[Maestro]]></category>
		<category><![CDATA[manual]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[replicacion]]></category>

		<guid isPermaLink="false">http://www.sgmendez.com/?p=283</guid>
		<description><![CDATA[La replicación en MySQL se realiza entre un servidor Maestro (el que contine los datos originales) y uno o varios servidores Esclavos (los que replican los datos). Se realiza utilizando el log binario de MySQL, cuando se realiza un cambio en la base de datos del servidor Maestro, esto cambios son enviados al Esclavo para [...]]]></description>
			<content:encoded><![CDATA[<p>La replicación en MySQL se realiza entre un servidor Maestro (el que contine los datos originales) y uno o varios servidores Esclavos (los que replican los datos). Se realiza utilizando el log binario de MySQL, cuando se realiza un cambio en la base de datos del servidor Maestro, esto cambios son enviados al Esclavo para que los actualice. Hay que tener en cuenta que la replicación sólo se puede realizar en una dirección, del Maestro hacia el Esclavo, y no bidireccinalmente.</p>
<p>El servidor Esclavo mantiene una conexión permanentemente abierta con el Maestro y se comprueba la ultima posición escrita en el log binario del Maestro, cuando se detectan cambios estos se replican el las tablas del servidor Esclavo.</p>
<p>Antes de ponerse a configurar MySQL con una replicación, hay que tener en cuenta la compatibilidad entre versiones. Como norma general debería de intentarse que la versión de MySQL del Maestro y del Esclavo fuesen la misma, y lo más actualizada posible. De todos modos, un Esclavo con una versión más actualizada que el Maestro suele funcionar, pero no al contrario.</p>
<p>Una vez que conocemos como funciona, y realizadas las comprobaciones de versiones podemos configurar Maestro y Esclavo para que ejecuten la replicación. Comenzaremos por la configuración del Maestro. Debemos editar el fichero <em>my.cnf</em> que encontraremos normalmente en <em>/etc/my.cnf</em> o en <em>/etc/mysql/my.cnf</em> dependiendo del sistema que usemos.</p>
<p><span id="more-283"></span></p>
<p>Debemos buscar y editar, o crear en caso de que no existan, dentro de la sección [<em>mysql</em>] las siguientes líneas:</p>
<p><em>[mysql]<br />
log-bin = mysql-bin<br />
server-id = 1<br />
binlog_do_db = base_de_datos_a_replicar, db2, db3<br />
binlog_ignore_db = bases_de_datos_a_ignorar, db4, db5<br />
</em></p>
<p>La opción <em>log-bin</em> activa el log binario de mysql, y <em>server-id</em> sirve para indicar el id del servidor maestro, debe ser un número entero positivo entre 1 y 2³². Con <em>binlog_do_db</em> le indicamos las bases de datos que queremos copiar (separadas por comas) y con <em>binlog_ignore_db</em> aquellas que no queremos replicar. Una vez realizados los cambios debemos reiniciar el servidor mysql.</p>
<p>Ahora necesitamos crear un usuario en el Maestro (se recomienda que se use un usuario de MySQL exclusivamente para hacer la replicación) y asignarle los permisos de replicación con el siguiente comando:</p>
<p><em>mysql&gt; GRANT REPLICATION SLAVE ON *.* </em><br />
<em> -&gt; TO &#8216;usuario_replicacion&#8217;@'%&#8217; </em><br />
<em> -&gt; IDENTIFIED BY &#8216;pass_usuario&#8217;;</em><br />
<em>mysql&gt; FLUSH PRIVILEGES;</em><br />
<em>mysql&gt; LOCK ALL TABLES READ ONLY;</em></p>
<p>Debemos sustituir <em>usuario_replicacion</em> por el nombre de usuario que hemos creado para hacer la repicación y <em>pass_usuario</em> por la contraseña de ese usuario. El valor <em>&#8216;%&#8217;</em> indica que ese usuario puede acceder desde cualquier host remoto, si queremos indicarle que pueda acceder desde un determinado nombre de dominio o IP debemos cambiar <em>%</em> por la IP o nombre de dominio que queramos que acceda a la replicación.</p>
<p>En el fichero de configuración del Esclavo debemos indicarle un server-id distinto del servidor Maestro, también un número entero positivo entre 1 y 2³². Por ejemplo:</p>
<p><em>[mysql]<br />
server-id = 2<br />
</em></p>
<p>Si se están configurando varios esclavos cada uno de ellos debe de tener un server-id único, y diferentes del server-id del maestro. Una vez guardados los cambios reinicia el servidor MySQL.</p>
<p>Ahora ya tenemos listos Maestro y Esclavo para realizar la conexión. Ahora debemos hacer un volcado de la base de datos del servidor Maestro que queremos replicar:</p>
<p><em>[root@servidor-maestro]:~$ mysqldump -u usuario -p nombre_db &gt; nombre_db.sql</em></p>
<p>Con este comando haremos un volcado de la base de datos a un fichero. Debemos sustituir <em>nombre_db</em> por el nombre de la base de datos que vamos a replicar y <em>usuario</em> por el nombre del usuario con privilegios de administracion. Si no tenemos contraseña para ese usuario no incluiremos la opción <em>-p</em>, en caso contrario nos pedirá la contraseña antes de realizar el volcado.</p>
<p>Ya solo nos queda un paso en el Maestro, conocer el nombre del log binario que se está utiliando y la posición del mismo, accedemos a la línea de comandos de MySQL y ejecutamos:</p>
<p><em>mysql&gt; SHOW MASTER STATUS;<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br />
| File                         | Position | Binlog_Do_DB | Binlog_Ignore_DB  |<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br />
| mysql-bin.0005 |           98  |                                 |                                        |<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+</em></p>
<p>Guardamos esos datos y desbloqueamos las tablas del maestro con:</p>
<p><em>mysql&gt; UNLOCK ALL TABLES;</em></p>
<p>Ahora volvemos al esclavo y cargamos el volvado de la base de datos del maestro que realizamos antes:</p>
<p><em>[root@servidor-esclavo]:~$ mysql -u usuario -p nombre_db &lt; nombre_db.sql</em></p>
<p>Cuando se temine la carga de la base de datos, accedemos a la línea de comandos de MySQL del esclado para indicarle los datos del maestro e iniciar el esclavo:</p>
<p><em>mysql&gt; CHAGE MASTER TO MASTER_HOST = &#8216;ip_del_servidor_maestro&#8217;;</em><br />
<em>mysql&gt; CHAGE MASTER TO MASTER_USER = &#8216;usuario_replicacion&#8217;;</em><br />
<em>mysql&gt; CHAGE MASTER TO MASTER_PASSWORD = &#8216;pass_usuario&#8217;;</em><br />
<em>mysql&gt; CHAGE MASTER TO MASTER_LOG_FILE = &#8216;mysql-bin.0005&#8242;;</em><br />
<em>mysql&gt; CHAGE MASTER TO MASTER_LOG_POS = 98;</em><br />
<em>mysql&gt; START SLAVE;</em></p>
<p>Después de esto el servidor Esclavo iniciará la replicación copiando todo lo sucedido desde la posición del log binario indicada hasta ese instante. Para confirmar que todo es correcto podemos ejecutar el siguiente comando en la consola de MySQL:</p>
<p><em>mysql&gt; SHOW SLAVE STATUS \G</em><br />
<em>****************** 1. Row ***********************</em><br />
<em>Slave_IO_State: Waiting for master to send event</em><br />
<em>Master_Host: 192.168.1.54</em><br />
<em>Master_User: usuario_replica</em><br />
<em>Master_Port: 3306</em><br />
<em>Connect_Retry: 60</em><br />
<em>Master_Log_File: mysql-bin.0005</em><br />
<em>Read_Master_Log_Pos: 98</em><br />
<em>Relay_Log_File: esclavo-rely-bin.0001</em><br />
<em>Relay_Log_Pos: 105</em><br />
<em>Slave_IO_Running: Yes</em><br />
<em>Slave_SQL_Running: Yes</em><br />
<em>Seconds_Behind_Master: 0</em></p>
<p>Aunque apareceran más cosas, las he omitido, lo que debeis tener en cuenta es <em>Seconds_Behind_Master</em> pues indica el tiempo en segundos que el Esclavo tiene con respecto al Maestro. Creo que no me queda nada, teneis más información en el <a href="http://dev.mysql.com/doc/refman/5.0/es/replication.html" target="_blank">manual de MySQL</a>, y si teneis alguna duda dejadla en los comentarios.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sgmendez.com/2008/12/24/replicacion-maestro-esclavo-mysql/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Etiquetas de PHP</title>
		<link>http://www.sgmendez.com/2008/09/24/etiquetas-de-php/</link>
		<comments>http://www.sgmendez.com/2008/09/24/etiquetas-de-php/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 21:35:10 +0000</pubDate>
		<dc:creator>Salvador Mendez</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[ASP]]></category>
		<category><![CDATA[codigo]]></category>
		<category><![CDATA[configuracion]]></category>
		<category><![CDATA[etiquetas]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.sgmendez.com/?p=91</guid>
		<description><![CDATA[Cualquier programa escrito en PHP debe estar contenido entre unas etiquetas determinadas. Hay cuatro tipos de etiquetas que indican bloques de código PHP:
&#60;?php &#8230; ?&#62;
&#60;script language=&#8221;php&#8221;&#62; &#8230; &#60;/script&#62;
&#60;? &#8230; ?&#62; &#60;?= &#8230; ?&#62;
&#60;% &#8230; %&#62; &#60;%= &#8230; %&#62;
Las dos primeras están siempre disponibles, en cualquier sevidor donde esté instalado el interprete de PHP. El tercer [...]]]></description>
			<content:encoded><![CDATA[<p>Cualquier programa escrito en PHP debe estar contenido entre unas etiquetas determinadas. Hay cuatro tipos de etiquetas que indican bloques de código PHP:</p>
<blockquote><p>&lt;?php &#8230; ?&gt;</p>
<p>&lt;script language=&#8221;php&#8221;&gt; &#8230; &lt;/script&gt;</p>
<p>&lt;? &#8230; ?&gt; &lt;?= &#8230; ?&gt;</p>
<p>&lt;% &#8230; %&gt; &lt;%= &#8230; %&gt;</p></blockquote>
<p>Las dos primeras están siempre disponibles, en cualquier sevidor donde esté instalado el interprete de PHP. El tercer grupo son las etiquetas abreviadas de PHP, solo están disponibles si está habilitado el parámetro <em>short-open-tags</em> (valor on) en el php.ini, lo mismo ocurre con las etiquetas de ASP (parámetro del php.ini asp_tags).</p>
<p>Aunque es posible su uso, se desaconseja usar las etiquetas cortas, puesto que si queremos usar XML ese es el formato con el que identifican los archivos XML. Lo más recomendable es usar la primera etiqueta, hará nuestros programas mucho más portables y nos ahorrará quebraderos de cabeza.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sgmendez.com/2008/09/24/etiquetas-de-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

