Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

viernes, 24 de diciembre de 2010

¡Felices Fiestas!



¡FELICES FIESTAS!





!Os deseo a todos una muy feliz Navidad, una gran salida de año 2010 y una mejor entrada al 2011!









http://www.youtube.com/watch?v=vZrf0PbAGSk&feature=player_embedded

viernes, 17 de diciembre de 2010

Como crear un archivo de configuración limpio de comentarios

Siempre que estamos con nuestros queridos archivos de configuración nos encontramos con que el 90% de las lineas escritas son comentarios. La verdad es que esos comentarios son muy necesarios a la hora de poder configurar correctamente el archivo, ya que son el mejor tutorial del programa que podemos tener. Pero también es verdad, que una vez configurado, podemos hacer una copia de ese archivo a modo de tutorial, pero luego trabajar con un archivo de configuración limpio. Para hacer esto basta con una simple linea en el terminal de Linux:





cat miconfiguracion.conf | sed -e 's/^[ \t]*//' | grep -v ^# | grep -v '^$'


Primero mostramos mediante cat el contenido de todo el archivo, que pasamos por el tubo ( | ) para que se ejecute el sed. El sed tal como está puesto lo que hace es quitar todos los espacios en blanco y tabuladores que existan antes de una letra y luego lo pasa por otro tubo en donde encontramos el grep primero. El primer grep quita las #'s iniciales y lo pasa por el último tubo para que se haga el grep final. El grep final lo que hace es eliminar todas las lineas en blanco.  Se podría hacer todo con el sed, pero creo que es más ilustrativo ver como funcionan tanto el sed como el grep mediante tubos (pipes).

Con esto el archivo miconfiguracion.conf quedará limpio de comentarios.

jueves, 16 de diciembre de 2010

Como instalar y configurar Mediawiki en Ubuntu


MediaWiki es un software para wikis libre programado en el lenguaje PHP. Es el software usado por Wikipedia y otros proyectos de laFundación Wikimedia (WikcionarioWikilibros, etc). Ha tenido una gran expansión desde el año 2005, existiendo un gran número de wikisbasados en este software que no mantienen relación con dicha fundación, aunque sí comparten la idea de la generación de contenidos de manera colaborativa. Se encuentra bajo la licencia de software GNU General Public License.
Media Wiki puede ser instalado en los servidores web Apache e Internet Information Services y puede usar como motor de base de datosMySQL o PostgreSQL.
(Fuente Wikipedia.es)

Para instalar MediaWiki lo podemos hacer usando nuestro repositorio de Ubuntu:

sudo apt-get install mediawiki imagemagick mediawiki-math mysql-server


Luego, para activar el Mediawiki tenemos que editar su archivo de configuración para el Apache:

sudo gedit /etc/apache2/conf.d/mediawiki.conf


Y luego ya podemos reiniciar nuestro Apache2 (o el servidor web que hayamos querido usar).

El siguiente paso es entrar en el lugar mediante el navegador web. Algo así como : http://localhost/mediawiki . Deberás seguir los pasos que indica la página para completar la instalación satisfactoriamente. Una vez terminado, podrás comprobar la configuración (o modificarla para su optimización) mediante el archivo /var/lib/mediawiki/AdminSettings.php .

Para terminar, podemos instalar plugins o configurar ciertos aspectos como la del tipo de archivos que podremos subir al mediawiki, editando el archivo /var/lib/mediawiki/LocalSettings.php .

Con esto ya estará todo.

miércoles, 15 de diciembre de 2010

¿Como saber la memoria asignada a las máquinas virtuales en VirtualBox?

Es usual ir creando máquinas virtuales y asignarles un rango de memoria. Cuando ya hemos creado unas cuentas máquinas, se nos puede ocurrir preguntarnos cuanta memoria aún tenemos disponible para ir asignando más máquinas virtuales. Este comando puede resultar útil:


for i in `VBoxManage list runningvms | cut -d\" -f2 | grep -v Oracle | grep -v rights` ; do echo ----$i---- ; VBoxManage showvminfo $i | grep "Memory size" ; echo ---------- ; done


Con este comando nos listará la memoria asignada a todas las máquinas que esten funcionando en ese instante.

lunes, 13 de diciembre de 2010

Solucionar el error apt-mirror: can't write to intermediate file.

Hace unos dias expliqué como crear un espejo de los repositorios oficiales (o no) de Ubuntu o de otras distribuciones. También se explicaba como especificar que arquitectura descargar y como solucionar algun error típico:


Hoy quiero explicaros como arreglar el problema "apt-mirror: can't write to intermediate file (index-urls.0) at /usr/bin/apt-mirror line 210.". Este problema se suele dar cuando ejecutamos el script de /etc/cron.d/apt-mirror. Nos solemos dar cuenta de que nuestro script programado para que se lance a cierta hora del dia no se ejecuta correctamente. Luego miramos de ejecutarlo a mano como el usuario "apt-mirror" y nos da ese error. Para arreglarlo basta con hacer lo siguiente:
root@repositorio:/var/spool# chown -R apt-mirror:apt-mirror apt-mirror/
Hay que tener en cuenta que mi directorio de mirroring es /var/spool/apt-mirror/. En vuestro caso tendreis que comprobar que sea el mismo y aplicar lo anteriormente explicado a vuestro caso particular.
Haciendo los pasos anteriores lo que hemos hecho es que el usuario apt-mirror pueda escribir en la carpeta /var/spool/apt-mirror/ . Sino puede escribir, como root podremos sincronizar nuestro repositorio pero no como el usuario apt-mirror, que es el que utiliza por defecto el script.

jueves, 2 de diciembre de 2010

Video de como instalar Ubuntu 10.10

Está en ingles pero se ve la instalación completa de un Ubuntu 10.10. Lo hace en una máquina virtual sobre un Mac, pero la instalación seria exactamente igual en un PC directamente.

miércoles, 1 de diciembre de 2010

Cómo solucionar en eGroupWare el fallo "no crontab for www-data"

En artículos anteriores explicaba como instalar eGroupware, como crear programas para este entorno colaborativo o como instalar aplicaciones de terceros:


Con estos tutoriales la verdad es que tenemos conocimientos más que amplios para poder usar esta herramienta de una manera eficiente. No obstante, aún nos quedan muchas cosas que explicar. Hoy querría explicaros como usar los "Servicios Asíncronos Programados". Si no tocamos nada de la instalación inicial, es posible que estos servicios asíncronos no funcionen. Si miramos dentro de configuración de los servicios asíncronos, vemos que nunca se han ejecutado servicios asíncronos y nos avisa que quizas no haya ningún crontab para el usuario www-data (no crontab for www-data). Esto es porque eGroupware, como sabeis, usa el usuario de apache para ejecutarse (el usuario www-data). Este usuario no tiene asignado ningún crontab por defecto, ya que es un usuario que básicamente lo que hace es ejecutar Apache (por lo cual no suele ser necesario). No obstante, para los servicios asíncronos de eGroupWare lo necesitamos. Así de esta manera, podremos lanzar copias de seguridad programas, recibir notícias de administración o enviar alarmas sobre citas creadas. ¿Cómo arreglar esto?. Fácil. Hemos de crear un crontab para www-data:

su www-data
crontab -e

Guardamos (en blanco) y listos. El crontab para www-data ya esta creado. Ahora vamos al eGroupWare y ya podrémos añadir en el crontab la sincronización de servicios asíncronos. Lo que hará básicamente es añadir una linea en el crontab que hemos creado:

*/5 * * * * /usr/bin/php5 -q -d memory_limit=-1 /var/www/egw1/phpgwapi/cron/asyncservices.php default

lunes, 29 de noviembre de 2010

apt-mirror para amd64 o i386


En un artículo anterior expliqué como crear un repositorio local en espejo para Ubuntu/Debian (mirror del repositorio oficial):




Ahora quiero explicaros como hacer para que también podais sincronizar (o seleccionar explícitamente) la versión 32 o 64 bits de la distribución (o ambas).

Para ello basta con poner deb-i386 o deb-amd64 delanta de la linea de sincronización de la ruta de nuestro archivo /etc/apt/mirror.list. Por ejemplo:


#MAVERICK#
deb-i386 http://es.archive.ubuntu.com/ubuntu maverick main restricted universe multiverse
deb-i386 http://es.archive.ubuntu.com/ubuntu maverick-security main restricted universe multiverse
deb-i386 http://es.archive.ubuntu.com/ubuntu maverick-updates main restricted universe multiverse
#deb-i386 http://es.archive.ubuntu.com/ubuntu maverick-proposed main restricted universe multiverse
#deb-i386 http://es.archive.ubuntu.com/ubuntu maverick-backports main restricted universe multiverse

deb-amd64 http://es.archive.ubuntu.com/ubuntu maverick main restricted universe multiverse
deb-amd64 http://es.archive.ubuntu.com/ubuntu maverick-security main restricted universe multiverse
deb-amd64 http://es.archive.ubuntu.com/ubuntu maverick-updates main restricted universe multiverse
#deb-amd64 http://es.archive.ubuntu.com/ubuntu maverick-proposed main restricted universe multiverse
#deb-amd64 http://es.archive.ubuntu.com/ubuntu maverick-backports main restricted universe multiverse

deb-src http://es.archive.ubuntu.com/ubuntu maverick main restricted universe multiverse
deb-src http://es.archive.ubuntu.com/ubuntu maverick-security main restricted universe multiverse
deb-src http://es.archive.ubuntu.com/ubuntu maverick-updates main restricted universe multiverse
#deb-src http://es.archive.ubuntu.com/ubuntu maverick-proposed main restricted universe multiverse
#deb-src http://es.archive.ubuntu.com/ubuntu maverick-backports main restricted universe multiverse



De esta manera podremos tener las arquitecturas de 32 y de 64 bits en nuestro repositorio.

viernes, 26 de noviembre de 2010

Creado Tux Padel.png en conmemoración al X Campeonato Mundial de Pádel


La Riviera Maya será sede del X Campeonato Mundial de Pádel

· Más de 380 deportistas de 20 países competirán para ganar el puesto de “Mejor del Mundo”
· Del 29 de noviembre al 5 de diciembre se llevará a cabo la justa en el hotel Gran Palladium Resort & Spa, el cual tendrá la mayor cobertura televisiva en la historia de este deporte creado en México.

El hotel Gran Palladium Riviera Maya Resort & Spa será la sede de este importante evento que reúne a veinte países y que se espera tenga una significativa derrama económica durante la temporada baja, ya que se llevará a cabo del 29 de noviembre al 5 de diciembre de 2010.

Cobertura televisiva e internet

Jorge Raya, productor de Canal 30, informó que dicha empresa televisiva generará la señal de todos y cada uno de los partidos del X Campeonato Mundial de Padel y así millones de telespectadores en todo el mundo, podrá disfrutar de este bello deporte.

Los organizadores de la justa deportiva continúan en pláticas con el consorcio de telecomunicaciones Grupo Imagen, quien también esta interesado en la cobertura y la difusión del Padel.

A través de la página web www.veloenvivo.com los aficionados podrán seguir todos y cada uno de los partidos en los que participarán alrededor de 400 jugadores que competirán en las modalidades de individuales varonil, femenil, por parejas, tipo Copa Davis.


He creado este Tux Padelero ya que no habia visto aún a ninguno. Espero que os guste ;)

Un PNG (Portable Network Graphics) es un formato gráfico basado en un algoritmo de compresión sin pérdida para bitmaps no sujeto a patentes. Este formato fue desarrollado en buena parte para solventar las deficiencias del formato GIF y permite almacenar imágenes con una mayor profundidad de contraste y otros importantes datos.
Las imágenes PNG usan la extensión .png y han obtenido un tipo MIME (image/png) aprobado el 14 de octubre de 1996.

(Fuente Wikipedia)

miércoles, 24 de noviembre de 2010

Crear un mirror de los repositorios de Ubuntu

apt-mirror es una pequeña herramienta que proporciona la capacidad para replicar cualquier parte (o incluso todo) el repositorio de Debian y/o Ubuntu (o cualquier otra fuente apt que normalmente es proporcionada por los desarrolladores de código abierto).


Características principales:
  • Configuración tan simple como apt "sources.list"
  • Soporta la descarga multiproceso
  • Soporta múltiples arquitecturas, al mismo tiempo
  • Funciona en todos los sistemas POSIX con perl, gunzip, y wget
  • Funciona muy bien en canales sobrecargados de Internet
  • Nunca se produce un mirror inconsistente
  • Elimina automáticamente los archivos innecesarios
No hay manera más fácil de crear un mirror de Debian o Ubuntu que hacer uso de apt-mirror. 


Así pues, vamos a instalarlo:

root@repositori:~# apt-get install apt-mirror
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias      
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes NUEVOS:
  apt-mirror
0 actualizados, 1 se instalarán, 0 para eliminar y 48 no actualizados.
Necesito descargar 14,8kB de archivos.
Se utilizarán 127kB de espacio de disco adicional después de esta operación.
Des:1 http://es.archive.ubuntu.com/ubuntu/ lucid/universe apt-mirror 0.4.7-0ubuntu1 [14,8kB]
Descargados 14,8kB en 0s (17,8kB/s)
Seleccionando el paquete apt-mirror previamente no seleccionado.
(Leyendo la base de datos ...  00%
42967 ficheros y directorios instalados actualmente.)
Desempaquetando apt-mirror (de .../apt-mirror_0.4.7-0ubuntu1_all.deb) ...
Procesando disparadores para man-db ...
Configurando apt-mirror (0.4.7-0ubuntu1) ...

Con esto ya tenemos el apt-mirror instalado. Ahora tendremos que configurar el archivo de configuración del apt-mirror para decirle lo que queremos replicar y donde lo queremos bajar.

Editamos /etc/apt/mirror.list y añadimos las siguientes lineas:
#MAVERICK#
deb http://es.archive.ubuntu.com/ubuntu maverick main restricted universe multiverse
deb http://es.archive.ubuntu.com/ubuntu maverick-security main restricted universe multiverse
deb http://es.archive.ubuntu.com/ubuntu maverick-updates main restricted universe multiverse
#deb http://es.archive.ubuntu.com/ubuntu maverick-proposed main restricted universe multiverse
#deb http://es.archive.ubuntu.com/ubuntu maverick-backports main restricted universe multiverse


deb-src http://es.archive.ubuntu.com/ubuntu maverick main restricted universe multiverse
deb-src http://es.archive.ubuntu.com/ubuntu maverick-security main restricted universe multiverse
deb-src http://es.archive.ubuntu.com/ubuntu maverick-updates main restricted universe multiverse
#deb-src http://es.archive.ubuntu.com/ubuntu maverick-proposed main restricted universe multiverse
#deb-src http://es.archive.ubuntu.com/ubuntu maverick-backports main restricted universe multiverse


Con esto, se bajará el repositorio de la distribución Maverick (10.10) en /var/spool/apt-mirror/mirror .

Si queremos que cada noche se sincronice, podemos modificar la entrada en /etc/cront.d/apt-mirror descomentando la linea que existe para quedar de esta manera:
0 4     * * *   apt-mirror      /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
De esta manera, cada dia a las 4 de la mañana se sincronizará el repositorio.

Bien, ahora quedará que el repositorio que hemos bajado sea accesible. Para que sea accesible instalaremos un servidor web (apache2) y crearemos un enlace a nuestro recien replicado repositorio:
root@repositori:~# apt-get install apache2

Un vez hecho esto, ya podremos crear un enlace a nuestro repositorio:


ln -s /var/spool/apt-mirror/mirror/es.archive.ubuntu.com/ubuntu /var/www/ubuntu

Si ahora vamos a nuestro firefox y tecleamos http://localhost/ubuntu veremos el repositorio y por tanto ya tendremos creado un repositorio de Ubuntu, replicado del oficial y accesible.

Ahora sólo quedará que los equipos clientes accedan a él. Para ello modificaremos nuestro /etc/apt/sources.list:
deb http://192.168.1.10/ubuntu/ lucid main restricted
(etc...)
(192.168.1.10 es un ejemplo en donde se reflejaria nuestra IP local en donde hemos replicado el repositorio).


Alguna vez veremos que nuestro apt-mirror nos da un error:
apt-mirror is already running , exiting at /usr/bin/apt-mirror line 187.

Para arreglarlo basta con borrar un archivo:
rm /var/spool/apt-mirror/var/apt-mirror.lock
Tened en cuenta que bajar todo un repositorio ocupa un espacio considerable:

root@repositori:/var/www/ubuntu# du -sch *
105M    dists
68G    pool
69G    total

¡Que tegais un buen mirroring!

martes, 16 de noviembre de 2010

Confirmar excepción de seguridad en Thunderbird (cert8.db y cert_override.txt)

En ocasiones nos podemos encontrar con un problema a la hora de confirmar una excepción de seguridad y que esta excepción se recuerde de forma permanente con el fin de que no nos pida dicha confirmación en próximas conexiones. Esto se puede solucionar facilmente borrando dos archivos dentro de nuestra carpeta profile de el cliente de correo Thunderbird. Por ejemplo:

Imaginemos que somos el usuario UbuntuFoo:

cd /home/UbuntuFoo/.thunderbird/

Aqui veremos una carpeta y algunos archivos. Si vemos una carpeta acabada en .default, significará que es nuestro perfil por defecto (si solo tenemos un perfil este será el perfil por defecto). Así pues, entramos en la carpeta acabada en .default. Por ejemplo

cd cvxlpgkg.default

Aqui dentro veremos muchos archivos, pero solo nos interesan dos archivos: cert8.dbcert_override.txt.

Borremos estos dos archivos que son la base de datos de certificados válidos (también podemos moverlos y si algo falla los restauraremos más adelante).

Con esto, la próxima conexión en la nos pida añadir las excepciones de seguridad las añadirá con la salvedad de que ya no nos las volverá a pedir.

viernes, 12 de noviembre de 2010

Instalar DirectX 9c en Ubuntu 10.10


DirectX es una colección de API creadas y recreadas para facilitar las complejas tareas relacionadas con multimedia, especialmente programación de juegos y vídeo en la plataforma Microsoft Windows.

A pesar de ser desarrollado exclusivamente para la plataforma Windows, se está desarrollando una implementación de código abierto de su API para sistemas Unix (en particular Linux) y X Window System por el proyecto WineHQ, del cual existe fork propietario, Cedega, desarrollada por la empresa de software Transgaming y orientada a la ejecución de juegos desarrollados para Windows bajo sistemas Unix.

(Fuente Wikipedia)

Primero nos bajamos las DirectX desde Microsoft:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=3b170b25-abab-4bc3-ae91-50ceb6d8fa8d

Luego creamos una carpeta en donde se descomprimirá el contenido de las directx.

Luego pulsaremos encima del icono del ejecutable que nos hemos descargado y activaremos el bit de ejecución.

Una vez hecho esto ya podemos ejecutarlo mediante Wine:


Escojeremos la carpeta que habiamos creado anteriormente para su descompresión:


Una vez realizado esto, ya se nos descomprimirá todo el contenido. Entraremos a la carpeta y veremos que hay un DXSETUP.exe entre todos los archivos. Ése es el que debemos ejecutar. Una vez ejecutado haremos la instalación de DirectX:


Una vez acabada la instalación veremos la siguiente pantalla:


Con estos pasos ya habremos instalado las DirectX en nuestro entorno Wine.

jueves, 11 de noviembre de 2010

Instalar Trac en Ubuntu en modo standalone


Trac es una herramienta para la gestión de proyectos y el seguimiento de errores escrita en Python, inspirado en CVSTrac. Su nombre original era svntrac, debido a su fuerte dependencia de Subversion.2 Está desarrollado y mantenido por Edgewall Software, es software libre y de código abierto.
Hasta mediados de 2005 estaba disponible bajo la Licencia Pública General de GNU, pero desde su versión 0.9 se distribuye bajo laLicencia BSD modificada.3
(Fuente Wikipedia)

Primero instalamos el paquete:

apt-get install trac
Para configurarlo crearemos un directorio para el repositorio del proyecto:

mkdir /var/lib/trac1
Y finalmente lo inicializamos:

trac-admin /var/lib/trac1/ initenv
Creating a new Trac environment at /var/lib/trac1

Trac will first ask a few questions about your environment 
in order to initialize and prepare the project database.

 Please enter the name of your project.
 This name will be used in page titles and descriptions.

Project Name [My Project]> Projecte Proves EiTheL Inside
 
 Please specify the connection string for the database to use.
 By default, a local SQLite database is created in the environment
 directory. It is also possible to use an already existing
 PostgreSQL database (check the Trac documentation for the exact
 connection string syntax).

Database connection string [sqlite:db/trac.db]> 
 
 Please specify the type of version control system,
 By default, it will be svn.

 If you don't want to use Trac with version control integration,
 choose the default here and don't specify a repository directory.
 in the next question.

Repository type [svn]> 

 Please specify the absolute path to the version control
 repository, or leave it blank to use Trac without a repository.
 You can also set the repository location later.

Path to repository [/path/to/repos]> /var/lib/trac1-repo

Creating and Initializing Project
 Installing default wiki pages
 TracSearch imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracSearch
 TracReports imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracReports
 InterMapTxt imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/InterMapTxt
 TracWorkflow imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracWorkflow
 TracPermissions imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracPermissions
 WikiRestructuredText imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/WikiRestructuredText
 WikiRestructuredTextLinks imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/WikiRestructuredTextLinks
 TracLinks imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracLinks
 SandBox imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/SandBox
 TracAccessibility imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracAccessibility
 TracRoadmap imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracRoadmap
 TracWiki imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracWiki
 WikiProcessors imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/WikiProcessors
 TracEnvironment imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracEnvironment
 TracChangeset imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracChangeset
 TracTickets imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracTickets
 TracFineGrainedPermissions imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracFineGrainedPermissions
 TracRss imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracRss
 WikiDeletePage imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/WikiDeletePage
 TitleIndex imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TitleIndex
 TracStandalone imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracStandalone
 TracTimeline imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracTimeline
 WikiNewPage imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/WikiNewPage
 TracInterfaceCustomization imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracInterfaceCustomization
 CamelCase imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/CamelCase
 PageTemplates imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/PageTemplates
 TracLogging imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracLogging
 RecentChanges imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/RecentChanges
 TracNavigation imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracNavigation
 WikiMacros imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/WikiMacros
 TracBrowser imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracBrowser
 WikiStart imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/WikiStart
 TracQuery imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracQuery
 WikiPageNames imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/WikiPageNames
 TracBackup imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracBackup
 WikiFormatting imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/WikiFormatting
 InterTrac imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/InterTrac
 TracAdmin imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracAdmin
 InterWiki imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/InterWiki
 TracRevisionLog imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracRevisionLog
 TracCgi imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracCgi
 TracUnicode imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracUnicode
 TracSupport imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracSupport
 TracModPython imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracModPython
 TracUpgrade imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracUpgrade
 TracSyntaxColoring imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracSyntaxColoring
 TracPlugins imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracPlugins
 TracFastCgi imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracFastCgi
 TracGuide imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracGuide
 TracTicketsCustomFields imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracTicketsCustomFields
 TracInstall imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracInstall
 TracIni imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracIni
 TracNotification imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracNotification
 TracImport imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/TracImport
 WikiHtml imported from /usr/lib/python2.6/dist-packages/trac/wiki/default-pages/WikiHtml
/var/lib/python-support/python2.6/svn/fs.py:27: DeprecationWarning: The popen2 module is deprecated.  Use the subprocess module.
  import sys as _sys, os as _os, popen2 as _popen2, tempfile as _tempfile
/usr/lib/python2.6/dist-packages/trac/core.py:36: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
  self.message = message

---------------------------------------------------------------------
Warning: couldn't index the repository.

This can happen for a variety of reasons: wrong repository type, 
no appropriate third party library for this repository type,
no actual repository at the specified repository path...

You can nevertheless start using your Trac environment, but 
you'll need to check again your trac.ini file and the [trac] 
repository_type and repository_path settings in order to enable
the Trac repository browser.


---------------------------------------------------------------------
Project environment for 'Projecte Proves EiTheL Inside' created.

You may now configure the environment by editing the file:

  /var/lib/trac1/conf/trac.ini

If you'd like to take this new project environment for a test drive,
try running the Trac standalone web server `tracd`:

  tracd --port 8000 /var/lib/trac1

Then point your browser to http://localhost:8000/trac1.
There you can also browse the documentation for your installed
version of Trac, including information on further setup (such as
deploying Trac to a real web server).

The latest documentation can also always be found on the project
website:

  http://trac.edgewall.org/

Congratulations!
Ahora podemos arrancarlo en modo standalone:
tracd --port 8000 /var/lib/trac1
Server starting in PID 11741.
Serving on 0.0.0.0:8000 view at http://127.0.0.1:8000/

miércoles, 3 de noviembre de 2010

ip forwarding con OpenWRT

En un artículo anterior explicaba que era el OpenWRT:
También os comentaba en ese artículo que esto era util para infinidad de cosas, ya que lo que estábamos haciendo es embedir un sistema operativo en un router. Si además ese sistema operativo es un GNU/Linux, pues las posibilidades son muy extensas. Voy a poner un ejemplo:

Imaginemos que tenemos por casa un Router LAN-WiFi de sobras, ya que en algún momento tuvimos una conexión ADSL con una compañia, y luego nos cambiamos a otra (con lo cual, nos regalában otro router). Mucha gente lo que hace es guardarlo en un cajón durante años, antes de tirarlo. Otros directamente lo tiran a la basura. Yo os propongo instalar un GNU/Linux. Si nos paramos a pensar en ese router como un ordenador (y no sólo como un router), observaremos que tiene 4 (o más) puertos ethernet y una antena para conexión inalámbrica. Ya que nuestro nuevo router (vamos a pensar que es un cablemodem de fibra, por ejemplo) nos cae lejos de nuestros PCs de casa, la opción para conectarnos al Cablemodem será por WiFi. 


Así pues, sólo me queda la opción de comprarme unas tarjetas WiFi para instalarlas al PC1 y al PC2 y de esa manera acceder al Cablemodem, y a su vez, a Internet. Pero... ¿Que pasaría si me conecto por cable al Router LAN-WiFi y que sea el Router LAN-WiFi el que se conecte con el Cablemodem?.
Bien, la primera ventaja que se me ocurre es que de una manera sencilla, el PC1 y el PC2 estarán conectados por red cableada, siendo la seguridad y la velocidad muy superiores. Por otro lado nos evita comprar tarjetas WiFi para los PCs, ya que reusaremos lo que ya teniamos en casa.Luego quedará saber como queda la conectividad a Internet: El Router LAN-WiFi establecerá la conexión con nuestro Cablemodem (como si de un PC/Cliente se tratara) y hara que tanto PC1 como PC2 salgan através de él.

Para los que estais familiarizados con el enrutamiento en GNU/Linux, sabreis que lo que estoy diciendo es que vamos a usar el OpenWRT (Router LAN-WiFi) para hacer ip forwarding

Pues ahora que vemos que ventajas nos daria este escenario, vamos a ver como lo hacemos:

Dividimos nuestra red local en dos redes. 
  1. La primera es la que contiene PC1, PC2 y Router LAN-WiFi. (192.168.1.0/24)
  2. La segunda es la que contiene Router LAN-WiFi y Cablemodem. (192.168.0.0/24)

Observamos como efectivamente, el Router LAN-WiFi (que es donde tenemos instalado OpenWRT) esta en las dos redes, ya que justamente él es el que nos va a pasar de una red a la otra (enrutandonos).

Así pues dejaremos los equipos de esta manera configurados:

PC1
IP: 192.168.1.2
Mascara: 255.255.255.0
Puerta de enlace: 192.168.1.1

PC2
IP: 192.168.1.3
Mascara: 255.255.255.0
Puerta de enlace: 192.168.1.1

Router LAN-WiFi
IP-1: 192.168.1.1 (para la red cableada br-lan)
IP-2: 192.168.0.12 (para la red wifi)
Mascara: 255.255.255.0
Puerta de enlace: 192.168.0.1

Cablemodem
IP: 192.168.0.1


La configuración de las IPs en todos los dispositivos no es una tarea complicada, así que me voy a centrar en como configurar el IP FORWARDING, ya que es la gracia de este escenario. Para configurar el IP FORWARDING simplemente tenemos que añadir una regla en el cortafuegos del OpenWRT para que todas las peticiones de la red cableada salgan "enmascaradas" por el red WiFi, enrutandolas al Cablemodem. Para ello editaremos en el OpenWRT el archivo /etc/firewall.user (sino existe lo podeis crear sin problemas) y añadir este contenido:


root@OpenWrt:~# cat /etc/firewall.user 
# This file is interpreted as shell script.
# Put your custom iptables rules here, they will
# be executed with each firewall (re-)start.


iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o wlan0 -j MASQUERADE

En donde wlan0 es nuestra red wifi y 192.168.1.0/24 es nuestra red cableada. Lo que estamos diciendo en esta regla es que reenvie todas las peticiones que vengan de 192.168.1.0/24 como si fueran peticiones realizadas por el 192.168.0.12 (Router WiFi), enmascarando la conexión. 

Con esto ya tendremos tanto en PC1 como en PC2 conexión a Internet através del Router WiFi, y además disfrutaremos de una conexión cableada y segura entre PC1 y PC2.

En otro ejemplo explicaré como abrir puertos para conectar desde Internet a PC1 dado este mismo escenario.

That u don't know what you've got 'til it's gone