<?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>El blog de Munix &#187; Tutoriales</title>
	<atom:link href="http://blog.munix.es/category/tutoriales/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.munix.es</link>
	<description>Mi vida en un puñado de posts</description>
	<lastBuildDate>Sat, 10 Dec 2011 21:36:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Instalar Gnome 3 en Ubuntu 11 (y no morir en el intento)</title>
		<link>http://blog.munix.es/2011/05/05/instalar-gnome-3-en-ubuntu-11-y-no-morir-en-el-intento/</link>
		<comments>http://blog.munix.es/2011/05/05/instalar-gnome-3-en-ubuntu-11-y-no-morir-en-el-intento/#comments</comments>
		<pubDate>Thu, 05 May 2011 00:31:53 +0000</pubDate>
		<dc:creator>munix</dc:creator>
				<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://blog.munix.es/?p=594</guid>
		<description><![CDATA[Si instalaste ubuntu 11.04 (natty) y no te gustó nada, como a mi, Unity, hoy te voy a explicar paso a paso como instalar y dejar funcionando Gnome 3 en Ubuntu. Antes de nada te recomiendo que mires el video de youtube que he colgado de mi escritorio en funcionamiento por si tienes alguna duda [...]



Publicaciones relacionadas que recibes por <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" src="http://img.munix.es/files/58fb5a73df1302c605460178ac567119.jpg" alt="" width="241" height="219" /></p>
<p>Si instalaste ubuntu 11.04 (natty) y no te gustó nada, como a mi, Unity, hoy te voy a explicar paso a paso como instalar y dejar funcionando Gnome 3 en Ubuntu. Antes de nada te recomiendo que mires el video de youtube que he colgado de mi escritorio en funcionamiento por si tienes alguna duda (Aclaro que los fallos que se ven de recuadros azules, blancos y zapatazos son efectos del capturador. El escritorio va fluido y sin fallos)</p>
<p><object width="425" height="349"><param name="movie" value="http://www.youtube.com/v/uQE7xbeWRn4?fs=1&amp;hl=es_ES&amp;rel=0" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="425" height="349" src="http://www.youtube.com/v/uQE7xbeWRn4?fs=1&amp;hl=es_ES&amp;rel=0" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<p>Antes de comenzar a instalar debo aclararte que no puedes echar atrás. Si instalas Gnome 3 te quedarás sin posibilidad de volver a utilizar la sesión con Unity. De modo que <strong>toda la responsabilidad corre por tu cuenta y no me hago responsable de la pérdida de ningún dato o configuración del equipo.</strong> Dicha esta pequeña aclaración vamos a ponernos manos a la obra. Voy a asumir que ya tienes instalado Ubuntu 11.04. Este tutorial no es válido para ubuntu 10 o inferiores.</p>
<p><strong>Añadiendo el ppa e instalando</strong></p>
<blockquote><p><code>sudo add-apt-repository ppa:gnome3-team/gnome3</code><br />
<code>sudo apt-get update &amp;&amp; sudo apt-get dist-upgrade</code><br />
<code>sudo apt-get install gnome-shell</code></p></blockquote>
<p><strong>Instalando la herramienta de Tweaks</strong></p>
<blockquote><p><code>sudo apt-get install gnome-tweak-tool</code></p></blockquote>
<p>Una vez instalado todo esto vamos a reiniciar e iniciar la sesión por primera vez. Tenemos dos alternativas. Una es que funcione genial a la primera y otra es que vaya como el culo. En el segundo de los casos puede deberse a la configuración de pantalla (o si tienes un driver de ATI por ejemplo, he visto que va fatal. Con el de Nvidia va de lujo. En el caso que tengas estos problemas toca la config de pantalla o piensa en resignar el driver privativo de la tarjeta de video).</p>
<p>Ahora vamos a instalar el tema por defecto, tan bonito, de Gnome 3 &#8220;Adwaita&#8221;</p>
<blockquote><p>sudo apt-get install gnome-themes-standard</p></blockquote>
<p>Una vez instalado presionamos, vamos a actividades en la esquina superior izquierda y empezamos a escribir &#8220;tweak&#8221;. Veréis que rápidamente sale la herramienta que instalamos en el paso 2. La ejecutamos</p>
<p><a href="http://img.munix.es/files/8bef2eba37d5e16426bc4981253dd362.png"><img class="alignnone" src="http://img.munix.es/files/8bef2eba37d5e16426bc4981253dd362.png" alt="" width="541" height="431" /></a></p>
<p>Para poder volver a poner los botones de Maximizar, minimizar y cerrar, vamos a &#8220;Shell&#8221; y en la opción &#8220;Arrangement of buttons on the titlebar&#8221; seleccionamos el valor &#8220;All&#8221;</p>
<p>En &#8220;interface&#8221; activamos &#8220;menus have icons&#8221; y &#8220;buttons have icons&#8221; para que quede un poquito más bonito. En Gtk theme elegimos &#8220;adwaita&#8221; y en icon theme el que nos guste. Yo tengo humanity-dark</p>
<p>Para recuperar el gestor de archivos en el escritorio (ver los iconos en el escritorio de nuestro gnome 3), vamos a &#8220;File manager&#8221; y activamos ambas opciones. Uno renderea el nautilus en el desktop y el otro nos permite poner fondos de pantalla bonitos.</p>
<p>Una vez realizados todos los cambios, presionamos Alt + F2 y nos aparecerá la ventana para escribir un comando. Escribimos una &#8220;r&#8221; sin comillas, que lo que hace es recargar el shell de Gnome y actualiza los cambios. Ya podemos ir al escritorio y cambiar el fondo y ver nuestros archivos y directorios.</p>
<p><strong>Apagar el sistema</strong></p>
<p><strong><img class="alignnone" src="http://img.munix.es/files/0b20c7152e7ea3079a51311951c76c5b.jpg" alt="" width="305" height="376" /></strong></p>
<p>Por defecto, la vista del menú no nos da la opción de &#8220;Apagar&#8221; como tal sino que tenemos por defecto cerrar sesión y suspender. Para poder ver la opción de apagar tenemos que situar el puntero sobre suspender y presionar la tecla &#8220;Alt&#8221; de la izquierda. Se cambiará el valor por &#8220;Apagar&#8221;</p>
<p><strong>Personaliza los estilos</strong></p>
<p>Una cosa que me ha parecido sorprendente es que se puede tocar el estilo de Gnome a través de CSS (si, css!). Todo lo podemos encontrar en el archivo /usr/share/gnome-shell/theme/gnome-shell.css</p>
<p>Si queremos editarlo, nuevamente presionamos Alt + F2 y dentro de la ventana de comandos introducimos</p>
<blockquote><p>gksu gedit  /usr/share/gnome-shell/theme/gnome-shell.css</p></blockquote>
<p>Nos pide la contraseña de root y nos abre Gedit para editar el fichero. Por ejemplo si queremos cambiar el exagerado tamaño de los iconos que nos aparecen en las &#8220;aplicaciones&#8221; dentro de actividades</p>
<p><img class="alignnone" src="http://img.munix.es/files/0730173c1710ff085eb148be351e9ed8.jpg" alt="" width="316" height="311" /></p>
<p>Lo que vamos a hacer es abrir las CSS con el paso anterior y buscar /* Apps */ y veremos algo como</p>
<blockquote><p>/* Apps */</p>
<p>.icon-grid {<br />
spacing: 18px;<br />
-shell-grid-item-size: 118px;<br />
}</p>
<p>.icon-grid .overview-icon {<br />
icon-size: 96px;<br />
}</p></blockquote>
<p>Si no tenemos conocimientos de CSS os dejo como lo puse yo</p>
<blockquote><p>/* Apps */<br />
.icon-grid {    spacing: 30px;    -shell-grid-item-size: 84px;}<br />
.icon-grid .overview-icon {    icon-size: 64px;}</p></blockquote>
<p>Simplemente es reemplazar lo existente por lo que os dejo yo. Uno reemplaza al otro íntegramente. Nuevamente Alt + F2 y escribimos &#8220;r&#8221; para recargar (sin las comillas, solo una r).</p>
<p><strong>Quitando algo de basura</strong></p>
<p>Como podréis observar cuando entramos a Aplicaciones dentro de actividades, nos topamos con absolutamente todos los iconos. Esto es así porque podemos comenzar a escribir cualquier cosa y nos encuentra directorios, aplicaciones y archivos. A mi personalmente me atormenta ver tantas cosas, de modo que he quitado algo de basura del listado. Os comento que si dais click derecho sobre cualquiera de ellos y seleccionas &#8220;Añadir a favoritos&#8221; nos lo va a ubicar en la barra lateral izquierda de actividades para un acceso rápido junto a las aplicaciones que están en ejecución.</p>
<p>Volvamos a limpiar. Para poder quitar aplicaciones del listado necesitaremos el antiguo editor de menús que usábamos en gnome 2. Para esto abrimos un terminal y escribimos el comando &#8220;alacarte&#8221; sin las comillas. Se nos abre la siguiente ventana</p>
<p><img class="alignnone" src="http://img.munix.es/files/9db9d0cb09766696a74d49af8f91de80.jpg" alt="" width="421" height="353" /></p>
<p>Allí simplemente es añadir o quitar. Incluso podemos crear accesos directos a otras aplicaciones no listadas desde &#8220;Elemento nuevo&#8221;</p>
<p><strong>El tray de aplicaciones</strong></p>
<p>Antiguamente el tray de aplicaciones tipo pidgin y manejador de Wifi se encontraba en la esquina superior derecha. Ahora está en la esquina inferior derecha. Para verla tenemos que acercar el puntero hacia dicha esquina y nos aparece en un efecto de transparencias muy elegante.</p>
<p><img class="alignnone" src="http://img.munix.es/files/be930c35bf03b6c07350235e932f2d8e.jpg" alt="" width="451" height="296" /></p>
<p>&nbsp;</p>
<p>Cuando terminemos todos nuestros cambios podemos cerrar la sesión y volver a iniciarla seleccionando &#8220;Gnome Shell&#8221; o algo así (no lo tengo en la mente exactamente como es. Todas las demás menos la consola de recuperación no van a funcionar).</p>
<p>&nbsp;</p>
<p><strong>AUXILIO, mi escritorio no arranca y se queda todo bloqueado al siguiente inicio de sesión</strong></p>
<p>He podido comprobar que a veces si tocamos alguna cosa rara o nos ponemos a experimentar demasiado, puede que al siguiente inicio de sesión Gnome no arranque. Recuerda que aún están en desarrollo y no es lo estable que Debian quisiera <img src='http://blog.munix.es/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  De modo que no vamos a perder los nervios, aunque si nuestros cambios. Si se queda bloqueado, reiniciamos el equipo manualmente y en la pantalla de login elegimos como sesión de inicio la consola de recuperación (recovery console). Una vez en ella hacemos <strong>sudo su</strong> y luego nos situamos en nuestro home. Algo asi</p>
<blockquote><p>$ sudo su</p>
<p># cd /home/munix</p></blockquote>
<p>Una vez en nuestro home vamos a tener que borrar las configuraciones de Gnome para que vuelva a arrancar. Alto! esto es sólo si algo sale mal y no arranca, no vayas a hacerlo si todo ha salido bien. Para esto y sobre nuestro directorio home hacemos</p>
<blockquote>
<pre dir="ltr">rm -r .gnome .gnome2 .gconf .gconfd</pre>
</blockquote>
<p>Damos a <strong>exit</strong> en la consola dos veces (una para salir del su y otra para cerrar la sesión) y volvemos a iniciar la sesión normal de Gnome.. y tendremos que volver a configurar todo, incluso la wifi, pero <strong>ojo</strong>, esta vez te recomiendo no llegar hasta el punto que provocara el fallo <img src='http://blog.munix.es/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Un saludo a todos, espero que os sirva!</p>



<p>Publicaciones relacionadas que recibes por <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.munix.es/2011/05/05/instalar-gnome-3-en-ubuntu-11-y-no-morir-en-el-intento/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Ejecutando PHP en AppEngine de Google</title>
		<link>http://blog.munix.es/2011/05/05/ejecutando-php-en-appengine-de-google/</link>
		<comments>http://blog.munix.es/2011/05/05/ejecutando-php-en-appengine-de-google/#comments</comments>
		<pubDate>Wed, 04 May 2011 23:31:37 +0000</pubDate>
		<dc:creator>munix</dc:creator>
				<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://blog.munix.es/?p=589</guid>
		<description><![CDATA[Hace un largo tiempo que google lanzó AppEngine. Yo la verdad que esperaba ese lanzamiento muy impaciente, hasta que me enteré que únicamente aceptaba JAVA y Phyton (o primero uno y luego el otro, da igual). El caso es que nunca llegué a más que darme de alta y generar un nuevo perfil de aplicación. [...]



Publicaciones relacionadas que recibes por <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://img.munix.es/files/b32d63c177028d8885983571b94a4d9b.jpg" alt="" width="640" height="417" /></p>
<p>Hace un largo tiempo que google lanzó <a title="Appengine de google" href="http://www.maestrosdelweb.com/actualidad/google-lanza-su-app-engine/">AppEngine</a>. Yo la verdad que esperaba ese lanzamiento muy impaciente, hasta que me enteré que únicamente aceptaba JAVA y Phyton (o primero uno y luego el otro, da igual). El caso es que nunca llegué a más que darme de alta y generar un nuevo perfil de aplicación.</p>
<p>Hoy por fin me he puesto las pilas y me he dispuesto a probar ejecutar PHP sobre AppEngine utilizando el proyecto Quercus. El resultado? <a href="http://munixapp.appspot.com/">http://munixapp.appspot.com/</a></p>
<p>Está bien para ejecutar algunas sentencias básicas de PHP pero se ve muy limitado,no por Quercus, sino por las políticas de seguridad del propio AppEngine.</p>
<p>Para llegar hasta donde he llegado, los pasos son los siguientes:</p>
<p>1- Regístrate en <a href="https://appengine.google.com/" target="_blank">AppEngine</a></p>
<p>2- Descarga <a href="http://www.webdigi.co.uk/fun/php-appengine/phpwithjava.zip" target="_blank">este archivo</a> a tu ordenador y procede a descomprimirlo en un sitio que te venga cómodo</p>
<p>3- Dentro del directorio que descomprimiste vas a encontrar la ruta war/WEB-INF/. Allí edita el archivo appengine-web.xml y pon el nombre del proyecto que diste de alta en el paso 1</p>
<p>4- Descarga el <a href="http://code.google.com/intl/es-ES/appengine/downloads.html#Google_App_Engine_SDK_for_Java" target="_blank">sdk de java</a>, por ejemplo, y utiliza el comando de consola</p>
<p>/dir_al_sdk_java/bin/appcfg.sh update /home/tu_dir/phpwithjava/war</p>
<p>para subir los archivos al servidor. Verás que /home/tu_dir/ es donde has descomprimido el archivo descargado en el paso 2. Dentro del directorio war van a estar todos los archivos php</p>
<p>Ten en cuenta que por defecto trae que el archivo principal al abrir el dominio sea index.html. Para editar esto vamos a war/WEB-INF/web.xml y buscamos la etiqueta &lt;welcome-file&gt;index.html&lt;/welcome-file&gt; y le cambiamos el valor a index.php</p>
<p>Y listo! ya tienes funcionando php en AppEngine.</p>
<p>Nuevamente para realizar cambios sobre el proyecto (si borras o cambias o añades archivos) debes usar el comando appcfg.sh (para linux) o appcfg.cmd (win)</p>
<p>Espero que os haya servido</p>



<p>Publicaciones relacionadas que recibes por <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.munix.es/2011/05/05/ejecutando-php-en-appengine-de-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exportar llaves SHH</title>
		<link>http://blog.munix.es/2010/01/30/exportar-llaves-shh/</link>
		<comments>http://blog.munix.es/2010/01/30/exportar-llaves-shh/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 10:21:39 +0000</pubDate>
		<dc:creator>munix</dc:creator>
				<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://blog.munix.es/?p=486</guid>
		<description><![CDATA[Muchas veces nos encontramos con la necesidad de trabajar entre dos estaciones linux en modo no interactivo (algún script que se tenga que conectar vía SSH desde una máquina a otra, realice algo y se desconecte). Como dije, si lo hacemos de manera interactiva no tendremos problemas ninguno de escribir la clave. De cualquier manera [...]



Publicaciones relacionadas que recibes por <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://img.munix.es/thumbs/e3a52c341953574e19632e66e10af534.jpg" alt="" width="192" height="144" /></p>
<p>Muchas veces nos encontramos con la necesidad de trabajar entre dos estaciones linux en modo no interactivo (algún script que se tenga que conectar vía SSH desde una máquina a otra, realice algo y se desconecte). Como dije, si lo hacemos de manera interactiva no tendremos problemas ninguno de escribir la clave. De cualquier manera también nos puede ayudar a agilizar trabajo si, a pesar de que nos conectamos de manera interactiva, lo hacemos muy a menudo y con varias máquinas.</p>
<p>Entones la idea es generar una llave pública en nuestra estación y añadirla al listado de llaves conocidas del equipo destino. Vamos a ponernos manos a la obra. Los pasos son sencillos y voy a suponer que ssh está funcionando perfectamente en ambas máquinas.</p>
<p><strong>Generar las llaves en el equipo local</strong></p>
<p>Vamos a entender por &#8220;equipo local&#8221; al pc desde el cual nos conectaremos hacia el otro. Para generar las llaves vamos a entrar al sistema del equipo local con el usuario que tendrá los permisos de conexión con el equipo remoto. En mi caso mi equipo local es &#8220;Pantera&#8221; y mi usuario es &#8220;munix&#8221;, entonces:</p>
<blockquote><p><em>munix@Pantera:~$ </em>ssh-keygen -t rsa</p>
<div id="_mcePaste">Generating public/private rsa key pair.</div>
<div id="_mcePaste">Enter file in which to save the key (/home/munix/.ssh/id_rsa):</div>
<div id="_mcePaste">Enter passphrase (empty for no passphrase):</div>
<div id="_mcePaste">Enter same passphrase again:</div>
<div id="_mcePaste">Your identification has been saved in /home/munix/.ssh/id_rsa.</div>
<div id="_mcePaste">Your public key has been saved in /home/munix/.ssh/id_rsa.pub.</div>
</blockquote>
<div>Con esto ya tendremos nuestras llaves en, este caso, /home/munix/.ssh/. Ahora lo que tendremos es que exportarlo hacia el equipo remoto, para el usuario contra el que deseemos hacer login remoto. En mi caso el equipo remoto se llamará &#8220;Extreme&#8221; (en mi archivo 7etc/hosts ya he definido la IP para Extreme, de modo que puedo usar el nombre sólo sin necesitar su dominio o IP) y el usuario también será &#8220;munix&#8221;, de modo que con el comando <strong>scp</strong> vamos a copiar nuestra llave de la siguiente manera:</div>
<blockquote>
<div><em>munix@Pantera:~$ </em>scp /home/munix/.ssh/id_rsa.pub munix@Extreme:/home/munix/</div>
</blockquote>
<div>Casi para terminar vamos a entrar en &#8220;Extreme&#8221; y vamos a añadir la llave al archivo &#8220;<em>authorized_keys</em>&#8221; del usuario &#8220;munix&#8221;, para esto hacemos login primero en &#8220;Extreme&#8221;,</div>
<blockquote>
<div><em>munix@Pantera:~$ </em>ssh munix@Extreme</div>
</blockquote>
<div>y finalmente con el comando <strong>cat</strong> vamos a meter el contenido del archivo id_rsa.pub en authorized_keys. Para esto hacemos:</div>
<blockquote>
<div><em>munix@Extreme:~$ c</em>at /home/munix/id_rsa.pub &gt;&gt; /home/munix/.ssh/authorized_keys</div>
</blockquote>
<div>Ahora simplemente cada vez que hagamos desde nuestro equipo local &#8220;ssh munix@Extreme&#8221; entraremos directamente sin que nos solicite la contraseña.</div>



<p>Publicaciones relacionadas que recibes por <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.munix.es/2010/01/30/exportar-llaves-shh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP en Ubuntu</title>
		<link>http://blog.munix.es/2009/10/23/cakephp-en-ubuntu/</link>
		<comments>http://blog.munix.es/2009/10/23/cakephp-en-ubuntu/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 20:34:45 +0000</pubDate>
		<dc:creator>munix</dc:creator>
				<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://blog.munix.es/?p=383</guid>
		<description><![CDATA[Ya que estoy por la labor de documentar un poco y hacer mini how-to, paso a comentar los pasos para &#8220;instalar&#8221; con éxito CakePHP en un sistema Debian/Ubuntu/Similar GNU/Linux asumiendo que tenemos permisos de sudo Descargando y descomprimiendo Primero que nada descargamos y descomprimimos el paquete: munix@pantera:~# wget http://cakeforge.org/frs/download.php/735/cake_1.2.5.zip/donation=complete Esto nos descarga el archivo en [...]



Publicaciones relacionadas que recibes por <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" src="http://img.munix.es/files/863-9518819431093231020091029.jpg" alt="" width="196" height="169" /></p>
<p>Ya que estoy por la labor de documentar un poco y hacer mini how-to, paso a comentar los pasos para &#8220;instalar&#8221; con éxito CakePHP en un sistema Debian/Ubuntu/Similar GNU/Linux asumiendo que tenemos permisos de <strong>sudo</strong></p>
<p><strong>Descargando y descomprimiendo</strong></p>
<p>Primero que nada descargamos y descomprimimos el paquete:</p>
<blockquote><p>munix@pantera:~# wget http://cakeforge.org/frs/download.php/735/cake_1.2.5.zip/donation=complete</p></blockquote>
<p>Esto nos descarga el archivo en formato zip pero con el nombre &#8220;donation=complete&#8221;. Vamos a renombrarlo para hacer las cosas bonitas <img src='http://blog.munix.es/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<blockquote><p>munix@pantera:~# mv donation\=complete cake.zip</p></blockquote>
<p>Ahora vamos a descomprimir con el comando <strong>unzip</strong>. Si no lo tenemos instalado podemos hacer un <strong>apt-get install unzip</strong> antes.</p>
<blockquote><p>munix@pantera:~# unzip cake.zip</p></blockquote>
<p>Tendremos la salida algo como &#8220;cake_1.2.5&#8243; (dependiendo de la versión que descarguemos). Borramos el zip.</p>
<blockquote><p>munix@pantera:~# rm cake.zip -rf</p></blockquote>
<p>Y ahora copiamos los archivos al DocumentRoot de nuestro dominio, supongamos /var/www/sites/miapp</p>
<blockquote><p>munix@pantera:~# cp ./cake_1.2.5/* /var/www/sites/miapp/ -rf</p></blockquote>
<p>Por último borramos el directorio cake_1.2.5</p>
<blockquote><p>munix@pantera:~# rm cake_1.2.5 -rf</p></blockquote>
<p><strong>Configurando Apache</strong></p>
<p>Voy a asumir que tenemos instalado Apache 2, perfectamente configurado. Es muy importante para Cake el uso de <strong>mod_rewrite</strong>, de modo que si no lo tenemos cargado lo podemos hacer de la siguiente manera (ubuntu):</p>
<blockquote><p>munix@pantera:~# a2enmod rewrite</p></blockquote>
<p>Si no tenemos el comando <strong>a2enmod </strong> podemos cargarlo a mano creando el enlace simbólico</p>
<blockquote><p>munix@pantera:~# ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load</p></blockquote>
<p>Ahora debemos comprobar que en el bloque <strong>&lt;Directory&gt;</strong> correspondiente a nuestro <strong>VirtualHost</strong> tengamos el <strong>AllowOverride</strong> en <strong>All</strong>. Sino luego cuando intentemos usar el mod_rewrite no tendremos éxito alguno. Además en este mismo archivo tendremos que redefinir el <strong>DocumentRoot</strong></p>
<p>Para ello podemos hacer</p>
<blockquote><p>munix@pantera:~# nano /etc/apache2/sites-enabled/tudominio.conf</p></blockquote>
<p>Lucirá como esto</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 269px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;VirtualHost _default_:*&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 269px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">DocumentRoot /var/www/vhcs2/gui</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 269px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;Directory /var/www/vhcs2/gui&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 269px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Options Indexes Includes FollowSymLinks MultiViews</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 269px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">AllowOverride None</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 269px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Order allow,deny</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 269px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Allow from all</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 269px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/Directory&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 269px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/VirtualHost&gt;</div>
<blockquote><p>&lt;VirtualHost *:80&gt;</p>
<p>ServerName www.miapp.com</p>
<p><strong>DocumentRoot /var/www/sites/miapp</strong></p>
<p>&lt;Directory /var/www/sites/miapp&gt;</p>
<p>Options Indexes Includes FollowSymLinks MultiViews</p>
<p><strong>AllowOverride None</strong></p>
<p>Order allow,deny</p>
<p>Allow from all</p>
<p>&lt;/Directory&gt;</p>
<p>&lt;/VirtualHost&gt;</p></blockquote>
<p>Buscas el AllowOverride y lo cambias a All. Además en el DocumentRoot deberemos cambiar la ruta por <strong>/var/www/sites/miapp/app/webroot</strong> que es donde Cake tiene el <strong>.htaccess</strong></p>
<p>Como detalle, si trabajamos en local, podemos cambiar el ServerName por un dominio que quieras, por ejemplo<strong> local.miapp.com</strong>, luego lo apuntaremos a nuestra IP de loopback</p>
<p>Luego grabas los cambios con<strong> Ctrl+X</strong> seguido de un <strong>y </strong>para confirmar.</p>
<p>Si cambiaste el ServerName, te tocará editar el archivo /etc/hosts</p>
<blockquote><p>munix@pantera:~# nano /etc/hosts</p></blockquote>
<p>Y añadimos una línea que sea como la siguiente:</p>
<blockquote><p>127.0.0.1   local.miapp.com</p></blockquote>
<p>Salimos guardando cambios. Esto nos hará que cuando pongamos en el navegador el dominio <strong>local.miapp.com </strong>nos apunte a nuestra máquina en vez de intentar resolver el nombre por los DNS de nuestro proveedor de internet.</p>
<p>Ahora recargamos la configuración del Apache del siguiente modo:</p>
<blockquote><p>munix@pantera:~# /etc/init.d/apache2 force-reload</p></blockquote>
<p><strong>Otorgando permisos</strong></p>
<p>Por defecto cuando instalamos (por ejemplo en ubuntu) el apache desde el Synaptic lo hacemos con el usuario www-data y el grupo www-data. Ahora nos importa el grupo, puesto que el usuario que uses para editar los archivos de cake lo meteremos al grupo www-data. Supongamos que nuestro usuario es &#8220;munix&#8221;, entonces hacemos:</p>
<blockquote><p>munix@pantera:~# usermod -g munix www-data</p></blockquote>
<p>Ahora sólo nos resta cambiarle el dueño al directorio &#8220;miapp&#8221; y darle algunos permisos necesarios para las Cache de Cake:</p>
<blockquote><p>munix@pantera:~# chown munix:www-data /var/www/sites/miapp -R</p>
<p>munix@pantera:~# chmod 777 /var/www/sites/miapp/app/tmp -R</p></blockquote>
<p><span style="background-color: #ffffff;"><br />
</span></p>
<p><strong>Probando en el navegador</strong></p>
<p>Está claro que no hemos configurado nuestra base de datos, no hemos creado ni un modelo, controlador, vista&#8230; nada, pero si vamos al navegador y ponemos la url deberíamos tener algo como esto:</p>
<p style="text-align: center;"><img class="aligncenter" src="http://img.munix.es/files/77-16595157307231020091025.jpg" alt="" width="561" height="305" /></p>
<p style="text-align: left;">
<p style="text-align: left;">Si todo ha salido bien deberíamos ver la página por default de Cake, <strong>con todos sus estilos</strong>, colores, etc. Si la vemos sin colores es que estamos teniendo problemas con el rewrite.</p>
<p style="text-align: left;">Espero que os haya servido <img src='http://blog.munix.es/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>



<p>Publicaciones relacionadas que recibes por <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.munix.es/2009/10/23/cakephp-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Creando un repositorio con Subversion</title>
		<link>http://blog.munix.es/2009/10/23/crear-un-repositorio-con-subversion/</link>
		<comments>http://blog.munix.es/2009/10/23/crear-un-repositorio-con-subversion/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 17:38:43 +0000</pubDate>
		<dc:creator>munix</dc:creator>
				<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://blog.munix.es/?p=380</guid>
		<description><![CDATA[Con este &#8220;how to for dummies&#8221; hoy vamos a crear un repositorio con subversion en un sistema debian (o ubuntu) GNU/Linux. La necesidad La idea en la que voy a basar este tutorial es la siguiente: Tenemos un servidor web con apache. Dentro de un directorio de los que usa apache para sus virtual hosts [...]



Publicaciones relacionadas que recibes por <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" src="http://img.munix.es/files/193-281211273423231020090737.png" alt="" width="468" height="64" /></p>
<p>Con este &#8220;how to for dummies&#8221; hoy vamos a crear un repositorio con subversion en un sistema debian (o ubuntu) GNU/Linux.</p>
<p><strong>La necesidad</strong></p>
<p>La idea en la que voy a basar este tutorial es la siguiente:</p>
<p>Tenemos un servidor web con apache. Dentro de un directorio de los que usa apache para sus virtual hosts vamos a tener nuestra versión de producción de la aplicación y dentro de otro vamos a tener una versión de pruebas. Por otro lado, en este mismo servidor vamos a instalar el demonio svnserve, crearemos nuestro repositorio y, finalmente desde nuestro ordenador de casa tendremos nuestro entorno de desarrollo.</p>
<p>La idea es que nosotros desarrollemos en nuestro ordenador y lo subamos al repo. Posteriormente vamos a descargar dichos archivos del repo a nuestro directorio de pruebas sobre el que vamos a realizar todos los test antes de hacer el checkout al directorio de producción.</p>
<p><strong>Instalar subversion</strong></p>
<p>Para instalar svnserve en nuestro servidor nos logueamos en él y vamos a crear un directorio donde estará nuestro repo y luego instalaremos:</p>
<blockquote><p><em><span style="color: #888888;">munix@pantera:~# <span style="color: #000000;">mkdir /home/repos</span></span></em></p>
<p><em><span style="color: #888888;"><span style="color: #000000;"><em><span style="color: #888888;">munix@pantera:~# <span style="color: #000000;">apt-get install subversion</span></span></em></span></span></em></p></blockquote>
<p><span style="color: #888888;"><span style="color: #000000;">Una vez que termine de instalar lanzaremos el demonio</span></span></p>
<blockquote><p><span style="color: #888888;"><span style="color: #000000;"><em><span style="color: #888888;">munix@pantera:~# <span style="color: #000000;">svnserve -d -r /home/repos</span></span></em></span></span></p></blockquote>
<p><span style="color: #888888;"><span style="color: #000000;"><span style="color: #888888;"><span style="color: #000000;">Ahora vamos a crear nuestro repositorio con el comando &#8220;svnadmin&#8221;. A nuestra app le llamaremos &#8220;app_ejemplo&#8221;:</span></span></span></span></p>
<blockquote><p><em><span style="color: #808080;">munix@pantera:~#</span> svnadmin create /home/repos/app_ejemplo</em></p></blockquote>
<p>Y listo! ya tenemos creado nuestro repositorio para nuestra &#8220;app_ejemplo&#8221;.</p>
<p><strong>Checkout en nuestro equipo</strong></p>
<p>Ahora desde nuestro ordenador elegimos el cliente SVN que más nos guste (a mi me gusta Smart SVN o RapidSVN. Éste último es verdaderamente &#8220;rapid&#8221; <img src='http://blog.munix.es/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  ) y realizaremos nuestro primer checkout. Para ello nos solicitará la URI del repo y un directorio en local donde almacenar los archivos.</p>
<p>La URI será algo como lo siguiente: <em>svn+ssh://user@server:/home/repos/app_ejemplo</em></p>
<p>Donde reemplazaremos &#8220;user&#8221; por un usuario con privilegios en el servidor y &#8220;server&#8221; por el nombre del host. Nos solicitará la contraseña de &#8220;user&#8221; y hará el primer checkout. Como no hemos subido archivos al repo no descargará nada.</p>
<p><strong>Subiendo los primeros archivos al repo</strong></p>
<p>Cuando hicimos el primer checkout con nuestro cliente, nos solicitó un directorio donde almacenar los archivos. Como no tenemos nada en el repo, vamos a subir nuestro primer archivo llamado &#8220;index.php&#8221;, asumiento que desarrollaremos nuestra app en PHP. Se puede subir cualquier tipo de archivos. Entonces en el directorio donde descargamos el repo creamos nuestro index.php. Ahora vamos al cliente y le damos a &#8220;Add&#8221; para que incluya el archivo a la cola para subir. Finalmente a ese archivo le damos un &#8220;Commit&#8221; y se quedará al repo</p>
<p><strong>Descargando nuestro repo en el directorio de pruebas</strong></p>
<p>Supongamos que nuestra url de pruebas es http://test.dominio.com y que el subdominio &#8220;test&#8221; en nuestro server corresponde a <em>/var/www/sites/test/ </em></p>
<p>La idea es, como dije inicialmente, que desarrollemos en local, subamos al repo y luego descarguemos el repo en el directorio de pruebas antes de subir a nuestro entorno de producción.</p>
<p>Para descargar <strong>por primera vez</strong> el repo en el directorio de test tendremos que hacer un checkout (recordemos que a pesar de que apache y subversion están en el mismo equipo, es necesario descargar el repo al directorio de apache). Para esto hacemos algo como lo siguiente:</p>
<blockquote><p><em><span style="color: #808080;">munix@pantera:~#</span> cd /var/www/sites/test/</em></p>
<p><em><span style="color: #808080;">munix@pantera:/var/www/sites/test#</span> svn checkout file:///home/repos/app_ejemplo/</em></p></blockquote>
<p>Con esto ya tendremos descargado el repo y todo lo que hayamos subido desde nuestro equipo en el directorio de test. Para el de producción es igual pero cambiando el directorio.</p>
<p>Como dije antes, el paso anterior sólo se hace la primera vez. Ahora cada vez que queramos descargar los archivos o cambios que hicimos previamente en nuestro equipo, deberemos hacer un &#8220;Update&#8221;. Para esto, subimos o cambiamos nuestros archivos desde nuestro equipo local, los subimos al repo y desde el servidor hacemos:</p>
<blockquote><p><em><span style="color: #808080;">munix@pantera:~#</span> svn up /var/www/sites/test</em></p></blockquote>
<p><strong>Simplificando el Update</strong></p>
<p>Si la ruta a nuestro directorio web es muy larga y queremos ahorrar un poco de tiempo en los updates, crearemos un enlace desde nuestro directorio home al directorio web de la siguiente manera:</p>
<blockquote><p><em><span style="color: #808080;">munix@pantera:~#</span> ln -s /var/www/sites/test test</em></p></blockquote>
<p>Entonces ahora simplemente cada vez que hagamos un update, tendremos que escribir únicamente:</p>
<blockquote><p><em><span style="color: #808080;">munix@pantera:~#</span> svn up test</em></p></blockquote>
<p>Al ser test un enlace a nuestro directorio web, el resultado será el mismo <img src='http://blog.munix.es/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Y con esto hemos terminado este mini how-to. Si quieres aprender un poco más acerca de todo el abanico de posibilidades que te ofrece subversion, puedes visitar <a title="Manual Subversion" href="http://svnbook.red-bean.com/nightly/en/svn.serverconfig.overview.html" target="_blank">este enlace</a>.</p>



<p>Publicaciones relacionadas que recibes por <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.munix.es/2009/10/23/crear-un-repositorio-con-subversion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

