preload
Oct 30

Continuando con mis tareas de sysadmin, ahora os hablaré de una de mis últimas experiencias, migrar un ISPConfig que está en producción de un server a otro nuevo.

Primero, debemos tener claras una serie de restricciones:

  • Es muy recomendable que la versión de ISPConfig del servidor nuevo y la que vamos a instalar en el nuevo servidor sean la misma
  • Es recomendable que ambos server tengan el mismo tipo de distribución de Linux
  • No interrumpas el servicio del server ni el acceso por ssh del servidor viejo
  • Necesitamos poder acceder por ssh a los dos servidores

Vale, vamos allá.
Continue reading »

Tagged with:
Oct 22

Sí, he vuelto a mi etapa inicial en el blog, la faceta de administrador de sistemas. Esta vez, he tenido que instalar MoinMoin Wiki en un servidor dedicado.

moinmoin

MoinMoin es una Wiki programada en Python (Python mola!!!).

El tema parecía sencillo, hasta que se ha complicado cuando hemos comenzado con las limitaciones software del servidor. muy divertido!

Continue reading »

Tagged with:
Oct 07

Ya podeis hacer un follow a nuestro twitter donde os tendremos informados de nuestros nuevos posts al momento!

http://www.twitter.com/blueplasticblog

to tweet or not to tweet, that's the.. fail whale!

to tweet or not to tweet, that's the.. fail whale!

Tagged with:
Jun 06

pues nada… ya hay una versión “publicada” de google chrome para mac y para linux… puede ser interesante, la gran lástima es que tanto que se lo han currado para windows en mac y en linux esperan que la gente acabe de descubrir los bugs y los fallos más importante… a la par que el gran inconveniente con el que se van a encontrar los usuarios de chrome para linux y mac es que de momento no hay plugin de flash… gran putada… bueno para los interesados os dejo los links.

google chrome para mac

google chrome para linux

links sacados de chromium blog dónde no recomiendan acabarlos de bajar salvo si eres desarrollador u_U el colmo!

Tagged with:
Jun 04

bueno … hago el anuncio oficial para los lectores del blog y las rss’s… me he decidido finalmente a publicar una página en el blog dedicada a phpJabberd, el sistema/web para administrar el servidor de XMPP Jabberd2.

podéis encontrar la información y/o hacer comentarios y sugerencias aquí, próximamente el link para la descarga de directa… en cuanto acabe de revisar un par de cositas tontas y me acabe de currar un poco más el README ;)

Tagged with:
Feb 26

eleeeee!!!

para marcar un poco más mis preferencias en lo que a ordenadores respecta… he cambiado el tema del worpress a algo muy apple style xD

ale taluec!

Tagged with:
May 22

Trac es un “gestor de proyectos” via web para programadores/desarrolladores. Esta es la web del proyecto Trac. En ella podemos encontrar casi todos los aspectos tanto como la instalación como la configuración de sus opciones.

Básicamente a mi las funcionalidades de trac que me han interesado han sido las siguientes:

– Sistema de Tickets
– Navegación por repositorios SVN
– Enlace entre Tickets y SVN

Yo lo he instalado teniendo en cuenta el siguiente entorno (algunas de estas cosas si no se tienen instaladas se deberian instalar):

– Distribución Linux Debian Etch
– Apache 2
– MySQL 5
– python 2.4

Necesitaremos crear una base de datos en MySQL para el trac, así como un usuario, y hemos de recordar de darle permisos a ese usuario para acceder a esa tabla.

Véamos primero cuales son las dependencias, para ver que paquetes y/o componentes necesitamos a priori antes de meternos con la instalación propiamente dicha de trac.

– modulo de python para mysql
– modulo de python para subversion
– modulo de apache para python
– modulo de apache para autentificación mediante mysql

sudo apt-get install python-mysqldb python-subversion libapache2-mod-python

para que funcione el mod_python, hemos de ir a /etc/apache2/mods-enabled y comprobar que esta activado el modulo, lo que hará falta seguramente para que funcione es reiniciar apache.

hasta aquí las instalaciones que podemos hacer a través de apt-get, lo peor del tema es que si queremos tener la autentificación mediante mysql en debian etch, no hay un paquete especifico que puedas instalar a través de apt, lo que comporta bajar el modulo de apache en código fuente, compilarlo y enlazarlo desde apache. digamos que es un currillo, vamos a verlo.

para poder compilar el modulo de apache para mysql necesitamos unas dependencias, que son las siguientes y se pueden instalar a traves de apt.

sudo apt-get install libmysql++-dev patch

en funcion de la versión de apache que tengamos (threaded o preforked), hemos de instalar alguno de estos dos paquetes tambien a través de apt. como sabemos que version tenemos, pues así:

dpkg -l | grep apache2

sencillamente en la salida de este comando miramos si tenemos preforked o threaded y instalamos o bien apache2-threaded-dev o bien apache2-prefork-dev.

sudo apt-get install apache2-threaded-dev | apache2-prefork-dev

nos arremangamos que viene lo divertido, descargamos el codigo fuente del módulo :

wget http://mesh.dl.sourceforge.net/sourceforge/modauthmysql/mod_auth_mysql-3.0.0.tar.gz

la mala noticia es que si descargamos solamente eso y lo intentamos compilar, va a pasar lo que me pasó a mi al principio, que es para flipar con la de errores que da a la hora de intentar compilar el modulo, por lo tanto y tras horas y horas de búsqueda (bueno vale no fueron tantas horas) encontré una posible solución y consiste en un archivo de diff, que cambiara todas las lineas que no le gustan al compilador, por otras que le gustan más y que por lo tanto nos permitiran compilar el modulo sin problemas. descargamos el patch con wget por ejemplo.
descomprimimos el modulo y le aplicamos el patch

tar xvfz mod_auth_mysql-3.0.0.tar.gz
patch -p0 < mod_auth_mysql-3.0.0-apr1x.patch\?view\=co

compilamos el modulo

cd mod_auth_mysql-3.0.0
apxs2 -c -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -lm -lz mod_auth_mysql.c
apxs2 -i mod_auth_mysql.la

esto únicamente nos ha creado el modulo en el sistema operativo, ahora necesitamos hacer que apache se entere de que tiene ese modulo y que lo puede usar. por lo tanto nos tenemos que ir a /etc/apache2/mods-enabled y crear un fichero que se llame por ejemplo mod_auth_mysql.load y poner dentro de el lo siguiente:

LoadModule mysql_auth_module /usr/lib/apache2/modules/mod_auth_mysql.so

una vez hecho esto, hemos de activar el modulo

cd /etc/apache2/mods-available
ln -s ../mods-enabled/mod_auth_mysql.load mod_auth_mysql.load

solo nos queda reiniciar apache para que reconozca el nuevo modulo.

ahora que ya tenemos todas las dependencias ya estamos listos para instalar trac propiamente dicho, bueno, nos falta la última dependencia, el instalador de trac ;) y lo usamos de la siguiente forma por ejemplo:

sudo python ez_setup.py
sudo easy_install Trac==0.11rc1
easy_install http://svn.edgewall.org/repos/trac/tags/trac-0.11rc1

y con esto ya tenemos trac instaladito.

ahora viene la gracia, de que nos sirve tenerlo instalado? pues de nada si no le comenzamos a dar faena.

yo para el caso he creado un usuario en mi debian para trac de forma que tengo /home/trac y será alli donde ire poniendo los proyectos, de forma que si tengo myproject el path a ese proyecto será /home/trac/myproject, pero estos directorios no los hemos de crear nosotros, de eso se encarga el señor trac-admin que ya deberíamos tener instalado en nuestro sistema.

véamos como va esto.

trac-admin /path/to/my/project initenv

este programa nos pregunta, el nombre del proyecto, la base de datos con la que lo queremos linkar, la pagina de las opciones de environment de trac a mi concretamente me fue muy útil para el linkado del trac con la base de datos, ya que te explica como tienes que especificarle la base de datos que quieres usar. más tarde nos pregunta, el tipo de sistema de control de versiones que utilizamos o utilizaremos para el proyecto y la localización del repositorio subversion.

una vez hecho esto ya tenemos creado el trac para nuestro proyecto, pero como entramos via web a verlo?
pues nada, vamos a preguntarle al amigo apache como hacemos eso, o mejor dicho, vamos a decirle como queremos que lo haga.

nos vamos a /etc/apache2/sites-available y editamos nuestro fichero default añadiendo algo de este estilo


SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /path/to/myproject
PythonOption TracUriRoot /myproject

para despistaos… mejor darle permisos de lectura a apache en /path/to/myproject, para no tener problemas ;)

sudo chown -R www-data:www-data /path/to/myproject

y ahora si reiniciamos apache y escribimos esto en el navegador www.midominio.com/myproject ya tenemos el trac!!! muy bien! ahora el problema es que de igual modo que nosotros podemos verlo sin introducir contraseña y usuario alguno, lo puede ver cualquiera, esto puede ser un arma de doble filo, por lo tanto vamos a entrar en el tema de la autentificación de usuarios, utilizando mysql y la misma base de datos que usamos para este trac.

modificamos el fichero /etc/apache2/sites-available/default y añadimos estas lineas a lo que ya habíamos puesto antes para que apache nos mostrara el trac del proyecto:

AuthType Basic
AuthName “escriba su nombre cachondo”
AuthMySQLHost
AuthMySQLPort AuthMySQLUser
AuthMySQLPassword AuthMySQLDB
AuthMySQLUserTable
AuthMySQLNameField
AuthMySQLPasswordField
AuthMySQLEnable on
AuthMySQLPwEncryption
AuthMySQLSocket “
AuthBasicAuthoritative Off
require valid-user

nos hemos de acordar de reiniciar apache para que coja los cambios que hemos echo.

y claro está, en la tabla de usuarios deben haber las ocurrencias, por ejemplo introducimos pepe como nombre de usuario y pepote como password en la tabla. nos vamos a www.midominio.com/myproject y nos saltara una ventanita de autentificacion donde tras introducir pepe como usuario y pepote como password podemos ver el trac del proyecto, si no no ;)

como dice matías prats, así son las cosas y así se las hemos contado.

Tagged with:
Jan 21

vamos a ver si nos queda bien la mini-introducción…

de un lado hemos de ir a djangoproject i descargarnos de la sección download alguna version que nos pueda servir, con la oficial nos podemos conformar… no vaya a ser que la de desarrollo nos de polsaco un rato.

abrimos esta web, nos la añadimos a favoritos/bookmarks/marcadores y nos vamos preparando para visitarla frequentemente junto con esta otra que nunca va mal. ya que nos ponemos a añadir bookmarks… este otro también puede estar bien, incluso mejor que los anteriores :P

no estaría mal mirarse un poco lo de la instalación antes de meterse a las bravas, otro día me pongo yo con lo de la instalación, de momento dejo el link

no obstante para aquellos a quien les de palo todo el tema del apache y sus módulos y tal, comentaros que hay unas historias con python que te permiten usar y montar django sin necesidad de hacerlo con python, lo tenéis aquí… está bastante recomendable el tema del manage.py ;)

hemos de tener claro que lo que nosotros llamamos clases o objetos en django son los Models… por lo tanto en nuestro fichero models.py deberemos definir las entidades que queremos modelar en objetos y sus atributos y esas cosas como dice aqui

Jan 21

veamos a ver si sabemos como describirlo…

rápidamente lo podriamos catalogar como una librería para crear webs desde python incrustando con ello código o llamadas a código python … o bien como describen en la web del proyecto… como un framework hecho en python para hacer webs…

la verdad es que por lo que lo he tocado me parece bastante potente, no es senzillo de utilizar, pero es muy potente.

está basado en el modelo MVC de programación, es decir Model View Controller, en cristiano y haciendo ya un poco de explicación a parte de traducción, separar la visualización del código.

Tagged with: