<?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>nemediano &#187; instalar</title>
	<atom:link href="http://www.nemediano.com.mx/tag/instalar/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nemediano.com.mx</link>
	<description>Reflexiones de un espiritu curioso</description>
	<lastBuildDate>Fri, 16 Jul 2010 22:07:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Jugando MAME en Ubuntu</title>
		<link>http://www.nemediano.com.mx/2008/jugando-mame-en-ubuntu/</link>
		<comments>http://www.nemediano.com.mx/2008/jugando-mame-en-ubuntu/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 02:25:43 +0000</pubDate>
		<dc:creator>nemediano</dc:creator>
				<category><![CDATA[Recetario de Ubuntu]]></category>
		<category><![CDATA[alien vs predator]]></category>
		<category><![CDATA[arcade]]></category>
		<category><![CDATA[avsp.zip]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[gxmame]]></category>
		<category><![CDATA[instalar]]></category>
		<category><![CDATA[MAME]]></category>
		<category><![CDATA[rom]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xmame]]></category>

		<guid isPermaLink="false">http://www.nemediano.com.mx/?p=45</guid>
		<description><![CDATA[Siempre me han gustado los videojuegos, en particular recuerdo que me gustaba mucho ir a las maquinitas (los arcades para los españoles) a jugar. Como que de alguna manera era mejor que jugar solo con tu consola en aquellos tiempos. Un cierto genero de juegos que me gustaba mucho era el denominado Bet &#8216;em Up, [...]]]></description>
			<content:encoded><![CDATA[<p>Siempre me han gustado los videojuegos, en particular recuerdo que me gustaba mucho ir a las maquinitas (los arcades para los españoles) a jugar. Como que de alguna manera era mejor que jugar solo con tu consola en aquellos tiempos.</p>
<p>Un cierto genero de juegos que me gustaba mucho era el denominado <a href="http://en.wikipedia.org/wiki/Beat_%27em_up" target="_blank">Bet &#8216;em Up</a>, tambien llamado <a href="http://en.wikipedia.org/wiki/Hack_and_slash" target="_blank">hack and slash</a>. Básicamente son los juegos de pelea de <em>uno contra muchos</em>. Un juego que era de mi particular agrado es el de <a href="http://en.wikipedia.org/wiki/Alien_vs._Predator_(arcade_game)" target="_blank">alien v.s. predator</a>.</p>
<p><span id="more-45"></span></p>
<p>Cuando era un usuario del lado obscuro de la fuerza, conocí un proyecto libre llamado <a href="http://en.wikipedia.org/wiki/MAME" target="_blank">MAME</a>, que por cierto es desarrollado en C. MAME es un emulador de maquinitas es decir que nos permite usar nuestra computadora como si de una de estas se tratara.</p>
<p>Dentro de la filosofía de MAME se debe de emular el hardware independientemente del juego en cuestión. Los juegos de las arcades eran chips es decir también hardware. De ahí que para jugar un juego de arcade en nuestra computadora debemos tener <strong>dos</strong> cosas un el <strong>juego o rom</strong> y un emulador. MAME es <strong>solamente el emulador</strong>.</p>
<h2>Instalando MAME en Ubuntu</h2>
<p>Lo primero que tenemos que hacer es instalar MAME, para esto instalamos los siguientes dos paquetes ya sea vía sinaptic, o aptitude. No recomiendo usar la utilería de quitar y añadir programas.</p>
<ul>
<li>xmame-common</li>
<li>xmame-sdl</li>
</ul>
<p>¿Que por que estos? Bueno el paquete <span style="text-decoration: underline;">xmame-common</span> contiene las utilerías necesarias para usar MAME y el paquete <span style="text-decoration: underline;">xmame-sdl</span> contiene los binarios de MAME. Los binarios de SDL no son los únicos binarios, también hay binarios de svga (<span style="text-decoration: underline;">xmame-svga</span>) y de x11 (<span style="text-decoration: underline;">xmame-x</span>). Cualquiera de ellos hace lo mismo y solo necesitamos tener <strong>uno</strong>, mi recomendación personal son los de SDL que en mi maquina fueron los únicos que funcionaron.</p>
<h2>Bajamos un rom para jugar.</h2>
<p>Hay muchos lugares en la red donde conseguir ROMS, a mi en lo personal me gustan mucho dos sitios: <a href="http://www.planetemu.net/" target="_blank">planet emu</a> y <a href="http://www.rom-world.com/" target="_blank">rom world</a>. ahora que si de veras queremos tener un montón de juegos podemos ver <a href="http://www.demonoid.com/files/details/1495688/10963416/" target="_blank">esta otra opción</a> :p</p>
<p>Bajemos el juego de Alien vs Predator de romworld, al buscarlo podemos ver que hay muchos roms que parecen ser el mismo juego.</p>
<p><a href="http://www.nemediano.com.mx/wp-content/uploads/2008/07/romdescarga.png"><img class="alignnone size-thumbnail wp-image-46" title="romdescarga" src="http://www.nemediano.com.mx/wp-content/uploads/2008/07/romdescarga.png" alt="Ejemplo de descarga de Rom" width="150" height="39" /></a></p>
<p>Generalmente un juego que salio en muchos países haya cambiado un poco de un país a otro, por eso hay as de un ROM, sin embargo casi siempre hay un ROM maestro con el juego y los demás solo contienen los cambios.</p>
<p>Para jugar necesitamos al menos el rom maestro, si queremos además alguna versión en especial también la bajamos. No hay manera segura de saber cual es el maestro, aunque casi siempre es el que mide mas, así que para seguir con el ejemplo anterior bajamos el de Europa. También notamos que nos avisan que este juego <strong>necesita de los ROMS de Neo Geo</strong> para poder jugarlo, algunos fabricantes como NEO GEO le cargaban un bios a las maquinas, estos bios eran necesarios para jugar juegos de esa compañía) así que los bajamos también.</p>
<p><a href="http://www.nemediano.com.mx/wp-content/uploads/2008/07/romejemplo.png"><img class="alignnone size-thumbnail wp-image-47" title="romejemplo" src="http://www.nemediano.com.mx/wp-content/uploads/2008/07/romejemplo.png" alt="Ejemplo de ROM de Alien vs Predator" width="150" height="131" /></a></p>
<h2>Instalamos los ROMS.</h2>
<p>Si estamos siguiendo el ejemplo debemos haber descargado al menos dos archivos: <span style="text-decoration: underline;">avsp.zip</span> y <span style="text-decoration: underline;">neogeo.zip</span>. Los ROM solo funcionan estando comprimidos así que no se les vaya a ocurrir descomprimirlos. La manera como le decimos a xmame que tenemos nuevos ROMS es moviéndolos a la carpeta donde el busca ROMS al arrancar, si estamos haciendo la instalación de default de Ubuntu eso es en <em>/usr/share/games/xmame/rom</em> que usualmente es una carpeta <strong>protegida de escritura</strong> así que para mover los ROMS podemos hacer lo siguiente:</p>
<p><code>sudo mv avsp.zip neogeo.zip /usr/share/games/xmame/rom/</code></p>
<h2>Probando que funcione el juego</h2>
<p>Para jugar un juego simplemente corremos el MAME desde la linea de comandos así:</p>
<p><code>xmame NOMBREROM</code><br />
Si queremos ser mas específicos le podemos decir el binario que queremos que ocupe (solo si tenemos mas de uno instalado), en el caso de mi ejemplo seria algo así:<br />
<code>xmame.SDL avsp.zip</code></p>
<p>No importa en donde estemos parados ya que xmame buscara el ROM en la carpeta de ROMS.</p>
<p>Ahora es posible que tengamos una bronca es decir que veamos que el juego corre en una <strong>ventanita chiquita</strong> que no podemos maximizar ni darle resize.</p>
<h2>Creando un archivo de configuración</h2>
<p>Xmame por default busca la configuración en un archivo de sistema, luego la busca en otro archivo <em>dentro de nuestro home</em>, así que para decirle que corre en pantalla completa vamos a usar ese archivo de configuración.</p>
<p>Primero necesitamos crearlo, para no tener problemas de sintaxis, lo podemos hacer todo en un paso con el siguiente comando:</p>
<p><code>xmame --showconfig &gt; ~/.xmame/xmamerc</code></p>
<p>Que manda la configuración actual al archivo xmamerc dentro de un directorio oculto de nuestro home. Luego nos ponemos a editar el archivo</p>
<p><code>gedit ~/.xmame/xmamerc</code></p>
<p>Y buscamos la linea:</p>
<pre>fullscreen              0</pre>
<p>Donde <strong>cambiamos</strong> el 0 por un 1, salvamos y listo podemos volver a correr el juego para ver el resultado.</p>
<h2>Poniendo un front end gráfico</h2>
<p>Alternativamente podemos usar un frontend, para usar mame. Hay algunos en los repositorios, a mi en lo personal no me gusto ninguno de ellos, así que mi humilde recomendación es usar uno que no viene en el repositorio gxmame.</p>
<p>Entramos a al <a href="http://gxmame.sourceforge.net/" target="_blank">sitio de gxmame</a> y bajamos la versión <span style="text-decoration: underline;">0.35beta2</span>, es <strong>importante</strong> señalar dos cosas. Uno, que la versión que ofrecen directamente de la pagina <strong>no es la que queremos</strong>, para bajar la <span style="text-decoration: underline;">0.35beta2</span> tenemos que irnos a la pagina de proyecto en surceforge, de ahí a donde dice download y de ahí buscar la ultima que es la <strong>0.35beta2</strong>, es importante por que la <span style="text-decoration: underline;">0.34</span> tiene un <strong>bug</strong> que le impide encontrar los ROMS. Dos, bajemos la <span style="text-decoration: underline;">gxmame_0.35beta2-1_i386.deb</span> por que es un binario que funciona en Debian/Ubuntu y nos hará mas sencilla la instalación. Luego simplemente instalamos el deb, como acostumbremos, una manera es:</p>
<p><code>sudo dpkg -i gxmame_0.35beta2-1_i386.deb</code></p>
<p>Y listo ahora vamos al menú <strong>Juegos</strong> y vemos que ya tenemos el <strong>gxmame</strong>, al ejecutarlo vemos una pantalla como esta:</p>
<p><a href="http://www.nemediano.com.mx/wp-content/uploads/2008/07/pantallazo-gxmame-arcade-machine-emulator.png"><img class="alignnone size-medium wp-image-48" title="pantallazo-gxmame-arcade-machine-emulator" src="http://www.nemediano.com.mx/wp-content/uploads/2008/07/pantallazo-gxmame-arcade-machine-emulator.png" alt="Pantallazo de gxmame" width="300" height="166" /></a></p>
<p>Antes de que vemos los juegos debemos hacer dos cosas, ir al menú <strong>Archivo</strong> y darle<strong> Audit all games</strong>. Con esto checa la integridad de nuestros roms para ver que sean compatibles y que esten completos. Cuando termine, debemos ir al menú <strong>Opciones</strong> y le damos <strong>reconstruir lista de juegos</strong>, cuando termine, podemos navegar con la barra lateral a donde dice Disponibles, y ahora si debemos de ver nuestro juego listo para usarse, simplemente lo seleccionamos y le damos <strong>Play Game</strong>.</p>
<h2>Algunos tips</h2>
<p>Una ves corriendo el juego, lo minimo que necesitan saber es los siguiente:</p>
<ul>
<li>Con el botón de <span style="text-decoration: underline;">Tab</span>, pueden ver la opciones, Y en<strong> Input this game</strong>, pueden configurar los botones a usar.</li>
<li>Con el botón de <span style="text-decoration: underline;">Esc</span> salen del juego.</li>
</ul>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.nemediano.com.mx%2F2008%2Fjugando-mame-en-ubuntu%2F&amp;t=Jugando%20MAME%20en%20Ubuntu" id="facebook_share_icon_45" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none;"><img src="http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif" alt="Share on Facebook" /></a>
	<script type="text/javascript">
	var button = document.getElementById('facebook_share_link_45') || document.getElementById('facebook_share_icon_45') || document.getElementById('facebook_share_both_45') || document.getElementById('facebook_share_button_45');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_45') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.nemediano.com.mx/2008/jugando-mame-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalar SVN como modulo de Apache, con SSL y autentificación básica, en Ubuntu</title>
		<link>http://www.nemediano.com.mx/2007/instalar-svn-como-modulo-de-apache-con-ssl-y-autentificacion-basica-en-ubuntu/</link>
		<comments>http://www.nemediano.com.mx/2007/instalar-svn-como-modulo-de-apache-con-ssl-y-autentificacion-basica-en-ubuntu/#comments</comments>
		<pubDate>Wed, 19 Dec 2007 22:04:04 +0000</pubDate>
		<dc:creator>nemediano</dc:creator>
				<category><![CDATA[Computación]]></category>
		<category><![CDATA[Mis demonios]]></category>
		<category><![CDATA[Recetario de Ubuntu]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[instalar]]></category>
		<category><![CDATA[modulo]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://nemediano.wordpress.com/2007/12/19/instalar-svn-como-modulo-de-apache-con-ssl-y-autentificacion-basica-en-ubuntu/</guid>
		<description><![CDATA[Pues hace un rato que aprendimos a hacer este tipo de instalación en la Unidad y como se me hace algo útil, muy practico, y que a veces no es trivial de hacer, me decidí a escribir este tutorial. Estoy muy basado en el tutorial que escribió Viktor Zigo Suponemos que la instalación se va [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom:0;">Pues hace un rato que aprendimos a hacer este tipo de instalación en la Unidad y como se me hace algo útil, muy practico, y que a veces no es trivial de hacer, me decidí a escribir este tutorial. Estoy muy basado en el <a title="alephzarro" href="http://alephzarro.com/blog/2007/01/07/installation-of-subversion-on-ubuntu-with-apache-ssl-and-basicauth/" target="_blank">tutorial</a> que escribió <em><span style="font-style:normal;">Viktor Zigo</span></em></p>
<ul>
<li> Suponemos que la instalación se va a realizar en Ubuntu, esto significa que el servidor va a  vivir en Ubuntu.</li>
<li> Que queremos que los repositorios  sean visibles vía web, que el servidor web sea Apache de la 	rama 2.x (Subversión tiene su propio servidor, nosotros mejor 	ocuparemos Apache).</li>
<li> Que el protocolo para comunicarse  sea SSL, la información viaje encriptada (es decir que el URL  sea https://algo).</li>
<li> Que se podría hospedar mas de un repositorio.</li>
<li> Que para conectarse un usuario 	tenga que proporcionar un password.</li>
<li> Que tengamos políticas de acceso, es decir que no todos los usuarios puedan ver todas las carpetas, habrá algunos que puedan ver, otros que puedan escribir, y a cada carpeta le podemos poner diferentes atributos (permisos).</li>
</ul>
<p><span id="more-30"></span></p>
<p style="margin-bottom:0;">Cuando aprendimos a hacer esta instalación leímos el tutorial de Viktor Zigo, que esta libre bajo una licencia Creative Commons, sin embargo me decido a aumentar algunas cosas como la política de acceso, además dado que no hay mucha documentación en español sobre este tema, me imagino que este documento le ayudara a alguien.</p>
<h2 class="western">Paquetes necesarios</h2>
<p style="margin-bottom:0;">Hay que instalar, o verificar que estén instalados los siguientes paquetes:</p>
<ul>
<li> subversion</li>
<li> libapache2-svn</li>
<li> libapache-mod-dav</li>
<li> apache2</li>
</ul>
<p>En ubuntu 7.10 el paquete  libapache-mod-dav, no existe simplemente continuamos sin el pues mod-dav ya esta incluido en apache2</p>
<h2 class="western">Habilitar el modulo de SSL en apache</h2>
<p style="margin-bottom:0;">Para hacer este paso primero hay que habilitar el modulo de apache que deja comunicarse via SSL, luego hay que editar un archivo de configuración de apache para decirle que escuche por el puerto 443, que es el default de SSL</p>
<h3 class="western">Habilitar el modulo de apache2 de SVN</h3>
<p><code>sudo a2enmod ssl</code></p>
<h3 class="western">Editar el archivo de configuración /etc/apache2/ports.conf del apache.</h3>
<p style="margin-bottom:0;">Agregando al final la linea: “Listen 443”. Es decir deben haber dos lineas, la del 80 y la del 443</p>
<p style="margin-bottom:0;"><strong>Nota</strong> me acabo de dar cuenta de que en Ubuntu 7.10, no es necesaria la edición del archivo, pues el comando anterior a2enmod, <strong>ya edita</strong> el archivo por nosotros, lo que se debe de hacer es fijarnos en este archivo y que escuche el 443.</p>
<h2 class="western">Generar un certificado</h2>
<p style="margin-bottom:0;">Para hacer un certificado hay que ocupar una herramienta, desde Ubuntu Festy en adelante esta herramienta es: <strong>make-ssl-cert</strong>, antes de eso la herramienta era: apache2-ssl-certificate.</p>
<p style="margin-bottom:0;">Sea cual sea el caso, hay que hacer un certificado, el certificado es un archivo .pes y una llave, que es un archivo con números raros de nombre.</p>
<p style="margin-bottom:0;">Para hacer el certificado la herramienta nos hace algunas preguntas, como quienes somos, donde se ubica el servidor físicamente, a que organización pertenecemos, etc.</p>
<p style="margin-bottom:0;">Es importante usar el nombre real de nuestro servidor, cuando lo pida, por que de lo contrario cada vez que un usuario quiera acceder al repositorio, su cliente le marcara un warning diciendo que el servidor y el emisor del certificado no corresponden.</p>
<p style="margin-bottom:0;">Si el servidor va a ser accesible por un dominio, el dominio es el nombre del servidor, si va a ser accedido por una IP fija, la IP es el nombre del servidor, si va a ser accedido dentro de una red interna el nombre en la red de la maquina es el nombre del servidor.</p>
<p style="margin-bottom:0;">La herramienta debe generar ambos archivos el <em>apache.pem</em> y el de la llave, lo mas recomendable es que estos se encuentren en la carpeta ssl, dentro de la carpeta de apache. Puede que sea necesario que nosotros tengamos que mover los archivos manualmente.</p>
<p style="margin-bottom:0;">La herramienta antes de Festy 7.04 se usaba asi:</p>
<p><code>sudo apache2-ssl-certificate</code></p>
<p style="margin-bottom:0;">Desde Festy en adelante se usa así:</p>
<p><code>sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem</code></p>
<p style="margin-bottom:0;">En donde el primer argumento es el comando a invocar en este caso <em>make-ssl-cert</em>, el segundo es una plantilla de certificado en este caso se ubica en  /<em>usr/share/ssl-cert/ssleay.cnf</em>, y el tercero el lugar donde se pone el certificado /<em>etc/apache2/ssl/apache.pem</em>. Es decir que lo único que podría cambiar es el tercer argumento aunque no se recomienda. Es importante que <strong>antes</strong> se cree la carpeta donde va a vivir el certificado</p>
<h2 class="western">Crear un host virtual</h2>
<p style="margin-bottom:0;">En apache2 hay posibilidad de que un solo servidor maneje muchos sitios, lo mas recomendable es hacer un sitio aparte para nuestros repositorios de SVN.</p>
<p style="margin-bottom:0;">Copiamos el sitio de default, para ocuparlo de plantilla</p>
<p><code>sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/$NOMBRESITIO</code></p>
<p style="margin-bottom:0;">En donde $NOMBRESITIO, es el nombre que queremos que tenga nuestro sitio que maneja los repositorios. por ejemplo podemos ponerle repos.</p>
<h3>Editamos configuración del sitio</h3>
<p style="margin-bottom:0;">Abrimos con nuestro editor de textos plano favorito el recién creado archivo de configuración del sitio y lo editamos:</p>
<p style="margin-bottom:0;">Cambiamos la parte que dice:</p>
<p><code>NameVirtualHost *<br />
&lt;VirtualHost *&gt;</code></p>
<p style="margin-bottom:0;">Por:</p>
<p><code>NameVirtualHost *:443<br />
&lt;VirtualHost *:443&gt;</code></p>
<p style="margin-bottom:0;">Y añadimos las siguientes lineas:</p>
<p><code><br />
SSLEngine on<br />
SSLCertificateFile /etc/apache2/ssl/apache.pem<br />
SSLProtocol all<br />
SSLCipherSuite HIGH:MEDIUM</code></p>
<p style="margin-bottom:0;">Dentro de las etiquetas <em>VirtualHost</em>, pero fuera de cualquier etiqueta <em>Directory</em></p>
<p style="margin-bottom:0;">Habilitamos el nuevo host virtual</p>
<p style="margin-bottom:0;">Primero le decimos a apache que ya hay un nuevo sitio</p>
<p><code>sudo a2ensite $NOMBRESITIO</code></p>
<p style="margin-bottom:0;">Y reiniciamos apache</p>
<p><code>sudo /etc/init.d/apache2 restart</code></p>
<p style="margin-bottom:0;">Si hubo errores al editar el archivo, ahora se quejara, corregimos hasta que apache arranque, si hay un warning de que no puede determinar el nombre de dominio calificado, es normal.</p>
<p style="margin-bottom:0;">Y se puede arreglar añadiendo ServerName $NOMBREDELSERVIDOR al archivo de configuración principal de apache: <em>/etc/apache2/apache2.conf</em> (el nombre del servidor es el nombre de la maquina que lo hospeda)</p>
<h2 class="western">Creando los repositorios:</h2>
<p style="margin-bottom:0;">Suponemos que queremos tener varios repositorios, creamos una carpeta donde ponerlos todos, un buen lugar para hacerlo es en: <em>/var/svn</em>, luego hacemos los repositorios y le cambiamos los permisos a los repositorios para que el usuario de apache (<em>www-data</em>), tenga total control sobre ellos.</p>
<p style="margin-bottom:0;">Por ejemplo:</p>
<p><code>sudo mkdir /var/svn<br />
sudo svnadmin create /var/svn/$REPOS<br />
sudo chown -R www-data:www-data /var/svn/$REPOS<br />
sudo chmod -R g+ws /var/svn/$REPOS</code></p>
<p style="margin-bottom:0;">Donde $REPOS, es el nombre del repositorio a crear, se pueden hacer varios repositorios. Que deberían vivir bajo la mima carpeta, en este caso <em>/var/svn</em>.</p>
<h2 class="western">Agregar usuarios al repositorio</h2>
<p style="margin-bottom:0;">Para que un usuario pueda consultar el repositorio, debe de tener un password, el encargado de hacer la validación sera Apache, y la manera como lo hará sera verificando que el usuario y el password, estén en un archivo de texto plano.</p>
<h3>Creando el archivo de password</h3>
<p style="margin-bottom:0;">Hay que ocupar la herramienta <strong>htpasswd</strong>, en versiones de Ubuntu anteriores a 7.04, la herramienta se llama htpasswd2, ambas son la misma herramienta, solo le quitaron el 2, en el nombre, así que es cuestión de usar el que nos corresponda.</p>
<p style="margin-bottom:0;">Ejemplo:</p>
<p><code>sudo htpasswd -c -m /etc/apache2/svn-auth-file $NOMBREUSUARIO</code></p>
<p style="margin-bottom:0;">En este momento nos preguntara cual va a ser el password del para el usuario $NOMBREDEUSUARIO y se crea el archivo de nombre <em>svn-auth-file</em>. El nombre del archivo puede ser cualquiera pero se sugiere algo que nos recuerde que son los passwords del svn, y puede vivir en cualquier lado, pero se recomienda que viva donde el apache lo hace.</p>
<p style="margin-bottom:0;">El modificador -c, es para que cree el archivo de passwords y el modificador -m para que encripte el password.</p>
<p style="margin-bottom:0;"><strong>Importante:</strong> Si queremos agregar un nuevo usuario usamos el comando <strong>sin</strong> el modificador -c y lo apuntamos al archivo que ya creamos, de esta manera los passwords de ambos usuarios están guardados en el mismo archivo. En nuestro ejemplo seria:</p>
<p><code>sudo htpasswd -m /etc/apache2/svn-auth-file $NOMBRENUEVOUSUARIO</code></p>
<h2 class="western">Agregando políticas de acceso</h2>
<p style="margin-bottom:0;">Vamos a hacer una archivo de control de acceso, lo mas simple es usar como plantilla alguno de los que viene en cualquier repositorio. Por ejemplo podemos ir al repositorio que acabamos de hacer y dentro de su directorio <em>conf</em>, hay un archivo de ejemplo: <em>authz</em></p>
<p style="margin-bottom:0;">Podemos tomar este archivo de ejemplo como plantilla. Y copiarlo al directorio de apache, cambiarle por los permisos adecuados y después editarlo con nuestras preferencias. Podemos ponerle cualquier nombre yo aquí lo llamo <em>svn-authz-file</em>.</p>
<p><code>sudo cp /var/svn/$REPOS/conf/authz /etc/apache2/svn-authz-file<br />
sudo chmod 644  /etc/apache2/svn-authz-file<br />
sudo gedit /etc/apache2/svn-authz-file</code></p>
<p style="margin-bottom:0;">Editar el archivo no es difícil y podemos ver que la plantilla ya trae un ejemplo con la sintaxis. Yo por ejemplo solo le agrego algo como esto:</p>
<p><code>[$REPOS:/]<br />
$NOMBREUSUARIO = rw<br />
$NOMBRENUEVOUSUARIO = r</code><br />
En donde $NOMBREUSUARIO puede leer y escribir el repositorio $REPOS y $NOMBRENUEVOUSUARIO solo puede leerlo.</p>
<h2>Poniendo todas las opciones de configuración a nuestro repositorio</h2>
<p style="margin-bottom:0;">Ahora solo resta decirle a apache que sirva de interfaz a nuestro repositorio con todas las opciones que le acabamos de dar.</p>
<p style="margin-bottom:0;">Para hacer esto editamos el archivo <em>dav_svn_conf</em> que se encuentra dentro de la carpeta <em>mods-available</em> del directorio de apache.</p>
<p><code>sudo gedit /etec/apache2/mods-available/dav_svn_conf</code></p>
<p style="margin-bottom:0;">Este archivo tiene de nuevo un ejemplo de llenado, cada repositorio tiene sus opciones dentro de las etiquetas <em>location</em>. Podemos repetir la que ya tiene por defecto y agregarle nuestras opciones.</p>
<p><code>&lt;Location /<strong>$REPOS</strong>&gt;<br />
DAV svn<br />
# our access control policy<br />
AuthzSVNAccessFile <strong>/etc/apache2/svn-authz-file</strong><br />
SVNPath "<strong>/var/svn/$REPOS</strong>"<br />
AuthType Basic<br />
AuthName "Subversion repository"<br />
AuthUserFile <strong>/etc/apache2/svn-auth-file</strong><br />
Require valid-user<br />
<strong>SSLRequireSSL</strong><br />
&lt;/Location&gt;</code></p>
<p style="margin-bottom:0;">De estas opciones debemos modificar dentro de la etiqueta de apertura de <em>location</em> el nombre de nuestro repositorio. En donde dice <strong>SVPath</strong> ponemos el lugar donde esta el repositorio. En la opción de  <em>AuthzSVNAccessFile</em> el archivo que creamos de políticas de control de acceso. Y en la opción de <em>AuthUserFile</em> el archivo donde están las contraseñas de los usuarios. No olvidemos añadir tambien la linea <strong>SSLRequireSSL</strong></p>
<h2>Reiniciamos apache</h2>
<p style="margin-bottom:0;">Por ultimo para que todos los cambios surtan efecto:</p>
<p><code>sudo /etc/init.d/apache2 restart</code></p>
<p style="margin-bottom:0;">Si algún archivo no quedo bien editado ahora se quejara, de no ser así podemos proceder a probarlo:</p>
<p style="margin-bottom:0;">Abrimos nuestro navegador web favorito y visitamos las dirección http://localhost/$REPOS y debe de contestarnos algo así como 403: Forbiden. Ahora visitamos el sitio http<strong>s</strong>://localhost/$REPOS y debe pedirnos usuario y contraseña, en caso de que la contraseña sea incorrecta o que el usuario que introducimos no tenga permiso de lectura sobre $REPOS volverá a contestarnos 403: Forbiden.</p>
<p style="margin-bottom:0;">Si el usuario se autentifica correctamente y tiene los permisos necesarios, debe mostrarnos el repositorio si aun no hemos hecho ningún import o commit, debe ser un repositorio vacío en la revisión 0.</p>
<p style="margin-bottom:0;">He probado que estos pasos funcionan en Ubuntu 6.10, 7.04 y 7.10</p>
<h2>Mas conocimientos</h2>
<p style="margin-bottom:0;">Recuerden que el mejor lugar para aprender mas de subversion es el <a href="http://svnbook.red-bean.com/">libro oficial</a>, que ademas es libre y existe una traducción al español.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.nemediano.com.mx%2F2007%2Finstalar-svn-como-modulo-de-apache-con-ssl-y-autentificacion-basica-en-ubuntu%2F&amp;t=Instalar%20SVN%20como%20modulo%20de%20Apache%2C%20con%20SSL%20y%20autentificaci%C3%B3n%20b%C3%A1sica%2C%20en%20Ubuntu" id="facebook_share_icon_30" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none;"><img src="http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif" alt="Share on Facebook" /></a>
	<script type="text/javascript">
	var button = document.getElementById('facebook_share_link_30') || document.getElementById('facebook_share_icon_30') || document.getElementById('facebook_share_both_30') || document.getElementById('facebook_share_button_30');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_30') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.nemediano.com.mx/2007/instalar-svn-como-modulo-de-apache-con-ssl-y-autentificacion-basica-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Instalando las librerias de OpenGL y glut en Ubuntu</title>
		<link>http://www.nemediano.com.mx/2007/instalando-las-librerias-de-opengl-y-glut-en-ubuntu/</link>
		<comments>http://www.nemediano.com.mx/2007/instalando-las-librerias-de-opengl-y-glut-en-ubuntu/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 03:38:43 +0000</pubDate>
		<dc:creator>nemediano</dc:creator>
				<category><![CDATA[Computación]]></category>
		<category><![CDATA[Mis demonios]]></category>
		<category><![CDATA[Recetario de Ubuntu]]></category>
		<category><![CDATA[glut]]></category>
		<category><![CDATA[instalar]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[programar]]></category>

		<guid isPermaLink="false">http://nemediano.wordpress.com/2007/08/27/instalando-las-librerias-de-opengl-y-glut-en-ubuntu/</guid>
		<description><![CDATA[Pues desde hace tiempo quería reescribir este how to, sucede que estoy actualmente escribiendo mi tesis y para ello necesitaba poder compilar programas básicos de OpenGL. Una de las cosas que quería lograr era escribir mi tesis 100% con Software libre, ya tenia experiencia trabajando con OpenGL y glut, en distribuciones Red Hat-like (por ejemplo [...]]]></description>
			<content:encoded><![CDATA[<p>Pues desde hace tiempo quería reescribir este how to, sucede que estoy actualmente escribiendo mi <a title="Calli" href="https://calli.cie.unam.mx/projects/modelo3d/" target="_blank">tesis</a> y para ello necesitaba poder compilar programas básicos de <a title="OpenGL" href="http://www.opengl.org/" target="_blank">OpenGL</a>. Una de las cosas que quería lograr era escribir mi tesis 100% con Software libre, ya tenia experiencia trabajando con OpenGL y <a title="glut en OpenGL" href="http://www.opengl.org/resources/libraries/glut/" target="_blank">glut</a>, en distribuciones Red Hat-like (por ejemplo <a title="Red Hat en Wikipedia" href="http://es.wikipedia.org/wiki/Red_Hat_Linux" target="_blank">Red Hat</a>, <a title="Fedora project" href="http://fedoraproject.org//" target="_blank">Fedora</a>, <a title="WhiteBox" href="http://www.whiteboxlinux.org/" target="_blank">WhiteBox</a> y <a title="Linux Mandrivia" href="http://www.mandriva.com/" target="_blank">Mandrivia</a>) y sabia con rpms como instalarme las librerías necesarias, sin embargo cuando cambie a distribuciones Debian-like (ahora uso <a title="Ubuntu" href="http://www.ubuntu.com/" target="_blank">Ubuntu</a>) no sabia como lograr mi cometido, asi que después de investigarlo un poco me dí a la tarea de escribir este How-to.</p>
<p style="margin-bottom:0;"><span id="more-20"></span> <!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<h2>Paso 1</h2>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<h2>Instalar el compilador de C.</h2>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">Una de las cosas que mas me sorprendió es que Ubuntu, no viene con el compilador de C, en su instalación de default (hasta ahora es el único Gnu/Linux donde me ha pasado esto), así que tienes que instalarlo desde los repositorios.</p>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--> En Ubuntu solo es cuestión de instalarte los paquetes ya sea vía apt-get o via synaptic lo que te acomode mejor, al caso debes de instalar los siguientes paquetes:</p>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<ul>
<li>build-essential</li>
<li>g++</li>
<li>g77</li>
<li>gcc</li>
<li>make</li>
</ul>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">Estos paquetes no vienen solos, es decir probablemente necesites descargar muchos paquetes mas para satisfacer las dependencias de estos, sin embargo dado que tanto synaptic como apt-get, pueden satisfacer sus dependencia de manera automática solo debemos indicarle estos paquetes. tanto de gcc, como de g++ y g77, hay varias versiones de los paquetes, sin embargo el paquete sin números siempre es un paquete con la versión mas actual.</p>
<p style="margin-bottom:0;">En resumen lo único que un usuario novato debe de teclear es:</p>
<pre> 	<!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	-->$sudo apt-get install build-essential g++ g77 gcc make</pre>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<h2>Paso 1.5 Probamos la instalación del compilador de C</h2>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">En nuestro editor de textos plano favorito tecleamos un programa de C, básico por ejemplo un clásico hola mundo: <a title="hello.c" href="http://www.nemediano.com.mx/wp-content/uploads/2007/08/hello.c">hello.c</a> Lo guardamos por ejemplo con el nombre de hello.c y vamos a compilarlo.</p>
<p style="margin-bottom:0;">Con la siguiente instrucción:</p>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<pre>$gcc hello.c -o hello</pre>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">Podemos observa que la sintaxis para compilar un programa en C, es la siguiente:</p>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<pre>$gcc [archivo fuente.c] -o [nombre de mi ejeculable]</pre>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">En realidad el gcc es mucho mas completo, un tutorial de como compilar programas con C lo puedes encontrar <a title="Tutorial de gcc" href="http://iie.fing.edu.uy/~vagonbar/gcc-make/gcc.htm" target="_blank">aqui</a>.</p>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<h2>2 Instalamos las librerias necesarias para OpenGL</h2>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">Ahora necesitaremos instalar los siguientes paquetes:</p>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--> freeglut3 freeglut3-dbg freeglut3-dev ftgl-dev gle-doc glut-doc glutg3 glutg3-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa libgl1-mesa-dev libgl1-mesa-dri libglut3 libglut3-dev mesa-common-dev mesa-demos mesa-swrast-source mesa-utils</p>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">No se cuales sean los esenciales, yo siempre he instalado con todos, pero se que así funciona, muchos de ellos son dependencias, así que no igual lo único que debes de tener en cuenta es tratar de instalar freeglut-dev.</p>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">Importante: Si piensas tener tu computadora con Aceleración Gráfica (por ejemplo para tener <a title="Beryl" href="http://beryl-project.org/" target="_blank">Beryl</a>), es decir instalar los drivers propietarios de ATI o de nVidia, debes hacerlo antes de hacer esta instalación, se pueden tener ambas funcionando pero poner el driver gráfico debe ser anterior a la instalación de OpenGL. De la contrario nuestros programas de OpenGL no tendrán aceleración</p>
<p style="margin-bottom:0;">Para saber si nuestra computadora tiene o no aceleración Gráfica puedes ejecutar el comando <strong>glxinfo</strong> y ver la salida, en el renglón donde dice <strong>direct rendering</strong>: un <em>“Yes”</em>, significa que tenemos Aceleración gráfica. Una forma de filtrarlo es:</p>
<pre> 	<!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--> $glxinfo | grep rendering</pre>
<p>Por supuesto que tener o no 	Aceleración Gráfica es totalmente dependiente de tu 	hardware. Por lo que no se puede escribir una guía general, 	sin embargo hay muchísima información en la red sobre 	esto, mi experiencia es que si tu computadora tiene tarjeta de vídeo 	Intel o nVidia, no debes tener ningún problema, las ATI, en 	cambio debes de investigar un poco antes de hacerlas funcionar.</p>
<h2>2.5Probar la instalación de OpenGL y glut</h2>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">Nos tecleamos un programa sencillo de glut y OpenGL, por ejemplo este: <a title="ventana.c" href="http://www.nemediano.com.mx/wp-content/uploads/2007/08/ventana.c">ventana.c</a></p>
<p style="margin-bottom:0;">Y ahora vamos intentar la compilación:</p>
<pre>$gcc ventana.c -o ventana -lglut</pre>
<p>Y debemos ver una ventana negra.<br />
Si en al linea de comandos ven un warning que dice algo así como:</p>
<pre>libGL warning: 3D driver claims to not support visual 0x5b</pre>
<p>Pero la ejecución de el programa continua, no deben de preocuparse, este warning solo significa que no esta correctamente configurado su driver de la tarjeta de vídeo, pero es algo que <strong>no</strong> debe de afectar sus programas escritos en OpenGL, mas que en el performance, y no es un problema de su programa si no del driver de la computadora.</p>
<p>Obviamente el caso ideal es tener tanto el OpenGL como la aceleración gráfica funcionando al mismo tiempo, si ya tenían la aceleración gráfica y siguen este método no deben de tener ningún problema y ni siquiera les debe marcar ese molesto warning.</p>
<p>Usuarios de Red Hat y similares la receta es la misma, solo que deberán de tratar de instalar el <a title="Rpms de free glut" href="http://rpm.pbone.net/index.php3?stat=3&amp;search=freeglut-devel&amp;srodzaj=3" target="_blank">freeglut-devel***.rpm</a>, donde *** usualmente son la distribución, la arquitectura y versión del paquete, se recomienda que instalen el paquete que viene en sus discos, usualmente este paquete tiene muchas dependencias, así que la ayuda de un gestor de paquetes como yump o synaptic sin duda les ayudara.</p>
<p>En un post posterior hablare de como tener un IDE funcional que nos de mas ayuda a compilar programas de OpenGL en Linux, en particular en Ubuntu la idea es que el final de mi serie de post del tema se pueda tener un entorno de programación cómodo y funcional en Ubuntu, como para que puedan con ayuda de algún libro como el libro rojo autoaprender a programar con OpenGL</p>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.nemediano.com.mx%2F2007%2Finstalando-las-librerias-de-opengl-y-glut-en-ubuntu%2F&amp;t=Instalando%20las%20librerias%20de%20OpenGL%20y%20glut%20en%20Ubuntu" id="facebook_share_icon_20" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none;"><img src="http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif" alt="Share on Facebook" /></a>
	<script type="text/javascript">
	var button = document.getElementById('facebook_share_link_20') || document.getElementById('facebook_share_icon_20') || document.getElementById('facebook_share_both_20') || document.getElementById('facebook_share_button_20');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_20') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.nemediano.com.mx/2007/instalando-las-librerias-de-opengl-y-glut-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>
