Archive for the 'sysadmin' Category


mudanza acabada

Posted by Angel
In sysadmin
9Oct 08

impresionantemente… en una hora aprox. ya se habían refrescado las dns’s :O

ya esta todo funcionando en el server nuevo!!! chupiiii!!!! *\O/*

alens… a seguir currando.


de mudanza

Posted by Angel
In sysadmin
9Oct 08

pues eso… que voy a ver si cambio el blog a otro server… que entre pitos y flautas hace dos meses que tengo prevista hacer la mudanza de este y de otros dominios y un dia por otro… la casa sin barrer y el traslado sin hacer.

ale! ya escribiré otra vez cuando estemos en el server nuevo xD


In mac, sysadmin
21Aug 08

bueno… pues después de varios días perdiendo un poco el tiempo con ello ya lo he conseguido! por fin tengo en mi leopard un apache con php y mysql funcionando.

trás mis primeras preguntas al sr. google y desanimarme bastante, tras leer a mucha gente diciendo que no era posible, probar con xampp con complete apache y otros… al final encontré una lucezita al final del túnel en applesana curiosamente todo se simplificaba y a pesar de ser un post de tiger me ha servido como guía, hace falta remarcar que complete apache en teoria si que funciona en mac, pero solo para procesadores ppc, no he sabido/podido encontrar una version para procesadores intel, ya que había modos de compilarlo de forma manual, pero al parecer hacen faltan unas librerías de desarrollo de macos que no he sabido encontrar tampoco… si soy malo de cojones buscando en google, que pasa? xD

pues eso… resulta que ya tenemos un apache en leopard, lo único que hay que hacer en un primer paso es activar para ese apache el php. esto lo hacemos editando el fichero /etc/apache2/httpd.conf y buscando una línea donde pone esto otro:

#LoadModule php5_module libexec/apache2/libphp5.so

a esta línea le tenemos que quitar el # que tiene al principio y luego hacer lo siguiente:

sudo su
cp /etc/php.ini.default /etc/php.ini
apachectl restart

en el fichero /var/log/apache2/error_log podemos ver si ha tenido lugar algún error al reiniciar apache.

ahora lo que tenemos que hacer es instalar el servidor de mysql, para ello descargamos el paquete mysql para macos. para instalarlo sencillamente es como si se tratara de cualquier otro tipo de dmg para mac, al hacer doble clic se monta una unidad y tenemos que instalar primero el package generico, luego el startupitem y finalmente el prefPane.

una vez hecho todo esto ya estamos. hay que tener en cuenta que debemos tener en las preferencias de compartir activado el “compartir web” en las preferencias de nuestro sistema. y que el directorio por defecto que monta apache es /Users/nombre_de_usuario/Sites (a través de la consola) y a través del finder y en tu home se llama “Web”.

eso es todo por el momento, creo que no me olvido nada. espero que sirva de ayuda :)


ispconfig

Posted by Angel
In sysadmin
31Jul 08

llevo ya un tiempo pensando en que me tengo que pelear con ispconfig y teniendo algunas pequeñas peleas con él… la instalación digamos que no es complicada pero si larga ( a ver si en los próximos días o pongo un link o me curro yo un mini-tutorial para debian) … la idea es hacer un pequeño tutorial de como se instala y otro de como hacer las tareas básicas para las que sirve ispconfig (o lo uso yo :P)

basicamente como sus siglas indican es un configurador de Internet Service Provider, lo que viene a ser que es un gestor de alojamientos compartidos, necesita instalarse en el servidor para poder actuar y facilitar la tarea al gestor del alojamiento, ya que lo que nos permite es gestionar un servidor que quieres compartir/realquilar, de forma transparente para el usuario, encargándose él de la configuración de los ficheros y permitiéndote a ti cambiar las configuraciones a través de la interfaz web de administración que trae.

para los que sean curiosos y no tengan bastante con esta mini-explicación os dejo aqui el enlace a la página web del proyecto ispconfig.

yo personalmente he estado siguiendo unos tutoriales de howtoforge para refinar la instalación de debian e instalar todo lo necesario para ispconfig.

algo más que decir acerca de ispconfig, pues que, de momento se le puede considerar como una alternativa a otros gestores de alojamiento compartido como plesk y directadmin por ejemplo, que es libre, es decir que no hay que pagar desórbitadas cifras para podertelo instalar y usar y que no tiene limitaciones a la hora de usuarios que crees. a parte de todo eso, está programado en php5 y va coordinado con una base de datos de mysql para almacenar sus datos.

offtopic: he editado el post :P antes era más cutrillo xD (19/08/2008)


Trac (debian)

Posted by Angel
In sysadmin, web
22May 08

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.


In sysadmin
28Feb 08

(11:51:21) angel: angel@ns24911:~$ sudo su

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

Password:

haciendo de sysadmin powered by mdevera xD