Xen + Debian Etch HOWTO

Junio 4th, 2008

Para los que están interesados en usar Xen, aquí les dejo el documento de como tener un servidor Xen de una forma sencilla usando Debian, lo único que necesitan es que el Dom0 (el Hipervisor, la máquina que va a hospedar los servidores virtuales) tenga 196Mb Ram y los DomU (los servidores virtualizados) por lo menos 128Mb ram. Voy a suponer de una vez que tienen un LVGroup llamado “data”.

Tener el sistema en el último upgrade de Debian.

aptitude dist-upgrade

Instalar el Hipervisor y las herramientas Debian de Xen (Modificar la versión del kernel por la última disponible).

aptitude install xen-hypervisor-3.0.3-1-i386-pae xen-linux-system-2.6.18-6-xen-686 xen-tools xen-utils

Instalar los módulos de bridge

aptitude install bridge-utils

Reiniciar la máquina en este punto. Al reiniciar asegurarse que esté booteando con el kernel de Xen.

Configurar los bridges (poner los IPs de su red que vayan a usar y que tengan IPs libres):

vi /etc/network/interfacesauto lo

iface lo inet loopback

allow-hotplug eth0

auto eth0

auto br-xen

iface br-xen inet static

address 10.1.0.5

netmask 255.255.255.0

gateway 10.1.0.2

bridge_ports eth0

bridge_maxwait 0

Configurar Xen

vi /etc/xen/xend-config.sxp

#habilitar lo siguiente

(xend-unix-server yes)

(network-script network-bridge)

(network-script network-dummy)

(vif-script vif-bridge)

(dom0-min-mem 196)

(dom0-cpus 0)

Configurar xen-tools

vi /etc/xen-tools/xen-tools.conf

#Modificar a la necesidad.

lvm = data #Este es el VolumeGroup

debootstrap = 1

size   = 15952Mb      # Tamaño en disco del DomU poner lo que se requiera.

memory = 256Mb    # Memory size

swap   = 2048Mb    # Swap size

fs     = ext3     # FS en ext3.

dist   = etch    # Distribución a instalar.

image  = sparse   # sparse vs. full disk images.

gateway = 10.1.0.2 #Poner el gateway que les corresponde

netmask = 255.255.255.0

passwd = 1

kernel = /boot/vmlinuz-2.6.18-6-xen-686 #Verificar que este sea el kernel

initrd = /boot/initrd.img-2.6.18-6-xen-686 #Verificar que este sea el initrd

arch=i386

mirror = http://ftp.us.debian.org/debian/ #Podria ser http://debian.velug.org.ve/debian/ si están en Venezuela

Correr el comando de xen-tools de la siguiente manera:

xen-create-image --hostname=ejemplodomU --ip=10.1.0.6 --verbose --force

Al Terminar levantar el servidor domU:

xm create /etc/xen/ejemplodomU.cfg -c

Para salir de la consola virtual usar el comando ^] (Ctrl+])

Se puede hacer que los dominios se inicien automáticamente cuando arranca el dom0 y para que guarde los estados cuando baje.
Para esto Editar el archivo /etc/default/xendomains el /var tiene que contener minimo el tamaño de la memoria total de los domU + 10%

mkdir /var/lib/xen

mkdir /var/lib/xen/save

mkdir /etc/xen/auto

mv /etc/xen/ejemplodomU.cfg /etc/xen/save/

Configuración post instalación:

xm console coromoto

#entrar en el sistema como root

aptitude install locales

dpkg-reconfigure locales

dpkg-reconfigure tzdata

ssh-keygen

#Guardar los key en /etc/ssh/ssh_host_rsa_key

ssh-keygen -t dsa

#Guardar los key dsa en /etc/ssh/ssh_host_dsa_key

Esto debe ser mas que suficiente para tener un dom0 con un domU, para crear otro domU solo tienen que cambiar el hostname en xen-create-image y listo, pueden crear cuantos quieran siempre y cuando les alcance la memoria :-)

PAM con LDAP Debian Etch

Junio 3rd, 2008

Esto es algo viejo, pero ya me lo han pedido varias veces, asi que aqui les publico mis tips.

Verificar si se tiene instalado el paquete openldap-utils.

Verificar si se tiene instalado el paquete libnss-ldap

Verificar si se tiene instalado el paquete libpam-ldap

Verificar si se tiene instalado el paquete nscd

Configurar /etc/ldap/ldap.conf para facilitar las busquedas.

 BASE dc=ejemplo, dc=com

 URI  ldap://ldap.ejemplo.com
 # El URI podria ser un IP, y se recomienda usar el IP al menos que se tenga un buen servicio de DNS.

Configurar /etc/libnss-ldap.conf

uri ldap://ldap.ejemplo.com

base dc=ejemplo,dc=com

ldap_version 3

rootbinddn cn=admin,dc=ejemplo,dc=com
# El URI podria ser un IP, y se recomienda usar el IP al menos que se tenga un buen servicio de DNS.
# Se podria configurar un usuario en el ldap para el nsswitch para hacer solo busquedas.

Hacer lo mismo con el archivo /etc/pam_ldap.conf

Poner el password del admin de ldap en: /etc/libnss-ldap.secret

Respaldar el archivo /etc/nsswitch.conf

cp /etc/nsswitch.conf /etc/nsswitch.conf.old

Configurar /etc/nsswitch.conf

passwd:         files ldap

group:          files ldap

hosts:          dns ldap

services:   ldap [NOTFOUND=return] files

networks:   ldap [NOTFOUND=return] files

protocols:  ldap [NOTFOUND=return] files

rpc:        ldap [NOTFOUND=return] files

ethers:     ldap [NOTFOUND=return] files

netmasks:   files

bootparams: files

publickey:  files

automount:  files

aliases:    files

sendmailvars:   files

netgroup:   ldap [NOTFOUND=return] files

Editar /etc/pam.d/common-auth

 auth sufficient pam_ldap.so

 auth required   pam_unix.so use_first_pass

Editar /etc/pam.d/common-session

 session sufficient pam_ldap.so

 session required   pam_unix.so

Editar /etc/pam.d/common-account

 account sufficient pam_ldap.so

 account required   pam_unix.so

Reiniciar los servicios que usan PAM, por ejemplo:

 /etc/init.d/ssh restart

*POSIBLES FALLAS*
Revisar el archivo /var/log/auth para monitorear las conexiones, si fallan las credenciales revisar nscd y que los passwords esten en MD5
Reiniciar nscd cada vez que se haga un cambio grande

 /etc/init.d/nscd restart

Verificar que el uri sea: uri ldap://ldap.ejemplo.com en pam_ldap.conf y en libnss-ldap.conf o en su defecto el ip (192.168.1.1 por ejemplo).

Correr tshark para ver las trazas de conexion:

 tshark -i any port 389 -w ldap.archivo

 tshark -r ldap.txt -V

AWN para XYZ Distribución.

Abril 3rd, 2008

Todos los días alguien me pregunta “hey que bonita tu Mac” y noooo no es una MAC es un linux con una bonita barra de tareas que se llama Avant Window Manager, y luego que se dan cuenta me preguntan “Y como se instala eso?” pues tienen suerte ahora! por que antes había que compilarlo, configurarlo, cargar el schema de gnome.. etc etc etc etc y luego cruzar los dedos para ver si servía. Ahora solo tienen que leer:

http://wiki.awn-project.org/DistributionGuides

Y Listo!!!! eso prácticamente cubre cualquier distribución y en la página también está la información si quieren compilarlo directamente del SVN. Ahora cuando alguien me pregunte de nuevo como se hace simplemente lo voy a remitir al blog! :)

Y por si sale alguien a preguntar, en Ubuntu se instala así (luego que agreguen los repositorios adecuados):

 sudo aptitude install avant-window-navigator-bzr
sudo aptitude install awn-manager-bzr
sudo aptitude install awn-core-applets-bzr

Y necesitan tener corriendo algo como Compiz (o por lo menos que el X tenga XGL o similar).

Nota extra: Felicitaciones a la gente de defender el SL en el voto NO por el OOXML como estandard ISO. Lástima que cambiaramos nuestro voto en Venezuela pero aprobaran el estandard de todas formas :( pero no importa! sigan adelante!.

Actualizado WordPress en mi blog :D

Marzo 12th, 2008

Por fin después de ¿2 años? me decidí actualizar el WordPress de la Versión viejita 2.0.1 a la nueva 2.3.3. En realidad veo que tiene algunas cosas nuevas. Tengo muchas entradas que he escrito pero que no publico y que las dejo como “chuletas” de trabajo y pensandolo un poco creo que las iré publicando poco a poco :-) no garantizó que sirvan 100% por que algunas cosas quizás sean viejitas y necesiten actualizarse, pero algo es mejor que nada ;-)

***Por fin el editor de Wordpress me sirve!!!! aunque no lo crean nunca lo pude usar completamente y nunca me preocupe por arreglaro >.<***

Para probar si arreglaron lo de lo de las etiquetas “html”… esto es una etiqueta html: <html> y esto es una directiva de apache <VirtualHost>. Que bueno ya puedo usar< > desde el editor sin necesidad de tocar el HTML a mano :-) hay que ver de lo que me he perdido!

Ubuntu 7.10 Gutsy + Avant Window Navigator.

Octubre 20th, 2007

AWN

Para los que les gusta usar AWN esto es lo que hice para ponerlo a funcionar en Gutsy:

Primero que nada bajar el fuente de: http://code.google.com/p/avant-window-navigator/

Luego instalar estos paquetes con APT (suponiendo que tienen una instalación nueva y limpia de Gutsy):

g++
python-gtk2-dev
python-cairo-dev
python-gnome2-desktop-dev
python-gnome2-dev
libwnck-dev
libglade2-dev
libgnome-desktop-dev
libdbus-glib-1-dev

Después desempaquetar el archivo de awn (es un .tar), cambiarse al directorio y correr el configure:

./configure –prefix=/usr
Antes de compilar hay que hacer varias cosas para que no nos dé problemas, primero cambiamos el /bin/sh (en ubuntu apunta a /bin/dash y no nos sirve)

ln -fs /bin/bash /bin/sh
Luego editamos el siguiente archivo para que no nos dé problemas al compilar (hay otra forma de arreglarlo, pero en realidad lo que hace no lo necesito)

vi po/Makefile
comentar:
.po.gmo:
#file=`echo $* | sed ’s,.*/,,’`.gmo \
# && rm -f $$file && $(GMSGFMT) -o $$file $<

Y por último compilarlo e instalarlo:

make
make install
ldconfig

Retornamos ciertas cosas como estaban:

ln -fs /bin/dash /bin/sh

Y listo, eso es todo, ahora con correr el comando avant-window-navigator deberían de tener una borrita barra al estilo de MacOSX.

Para poner que arranque la barra al entrar al gnome pueden hacerlo desde Sistema->Preferencias->Sesiones y agregar el comando en el TAB que dice “Programas de Inicio”

Que lo disfruten, cualquier duda o comentario pueden hacermelos llegar por este blog o a koshrf at gmail dot com

Debian Etch + LDAP + SSL + GoSA

Octubre 16th, 2007

Aquí les dejo una pequeña chuleta de como instalar LDAP + SSL + GoSA desde 0 en un Debian Etch recien instalado. Muchas veces me ha tocado hacerlo y siempre repito el mismo proceso, por lo que ahora puedo compartir mi experiencia.

Instalar paquetes:

Instalar estos paquetes y configurar.
slapd
ldap-utils
db4.2-util
openssl

(Puedes usar dpkg-reconfigure -plow slapd si deseas reconfigurar el slapd con otros valores)

Instalar estos paquetes y Configurar
apache2
php5
php5-imagick
php5-common
php5-gd
php5-ldap
php5-mhash
php5-cli
php5-recode
php5-imap*
php5-mysql*
php5-odbc
php5-pgsql*
php5-ps*
php5-sqlite
php5-tidy*
php5-xmlrpc*
php5-xls*

* = Opcionales (Los instalo por que los necesito para otras cosas).

Instalar (Si no está bien instalado el PHP5 con sus módulos, GoSA tratará de instalar PHP4, esto no debería de pasar).
gosa
gosa-schema

Pasamos a Crear la CA (si se necesita) y a crear un certificado para luego firmarlo y darselo a nuestro servidor OpenLDAP para de esta forma se use cifrado de datos SSL (Para los servicios).

Creamos la CA,

servidor:/usr/lib/ssl/misc# ./CA.sh -newca

Movemos a un directorio mas conveniente,

servidor:/usr/lib/ssl/misc# mv demoCA/ /etc/servidorCA

Ahora modificamos el fichero /usr/lib/ssl/openssl.cnf de manera que todo se haga con nuestra CA
[ CA_default ]

#dir = ./demoCA # Where everything is kept
dir = /etc/servidorCA

Creamos los certificados,

servidor:/etc/servidorCA# openssl req -newkey rsa:1024 -nodes -keyout newreq.pem -out newreq.pem

Firmamos el certificado,

/usr/lib/ssl/misc/CA.sh -sign

(FIRMAR EL CERTIFICADO CON LA CLAVE QUE SE USO)

Con esto las claves ya estarán firmadas, ahora debemos crear un directorio donde se guardarán para su posterior uso por slapd:

servidor:#mkdir /etc/ldap/slapd-certs

servidor:#cp cacert.pem /etc/ldap/slapd-certs/

servidor:#mv newcert.pem /etc/ldap/slapd-certs/servercrt.pem

servidor:#mv newreq.pem /etc/ldap/slapd-certs/serverkey.pem

servidor:#chmod 400 /etc/ldap/slapd-certs/serverkey.pem

servidor:#cd /etc/ldap/slapd-certs/

servidor:#chown openldap.openldap *

A continuación debemos editar el fichero /etc/ldap/slapd.conf para que contenga las siguientes líneas:

TLSCipherSuite HIGH:MEDIUM:+SSLv2:RSA

TLSCACertificateFile /etc/ldap/slapd-certs/cacert.pem

TLSCertificateFile /etc/ldap/slapd-certs/servercrt.pem

TLSCertificateKeyFile /etc/ldap/slapd-certs/serverkey.pem

Para que el servidor arranque tanto en modo no seguro como en modo seguro, hay que modificar el fichero /etc/default/slapd de la siguiente manera:

SLAPD_SERVICES=”ldap:/ ldaps:/”

Si todo ha ido bien, al arrancar el servidor ldap, no debería dar ningún error:

servidor:#/etc/init.d/slapd restart

Starting OpenLDAP: slapd.

Para comprobar que el servidor está corriendo podemos ejecutar:

servidor:# netstat -alnp | grep slapd

tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 7716/slapd

tcp 0 0 0.0.0.0:636 0.0.0.0:* LISTEN 7716/slapd

tcp 0 0 127.0.0.1:389 127.0.0.1:49456 ESTABLISHED7716/slapd

tcp6 0 0 :::389 :::* LISTEN 7716/slapd

tcp6 0 0 :::636 :::* LISTEN 7716/slapd‘’

Podemos ver cómo el servidor está corriendo en los puertos 389 (no seguro) y 636(seguro).

Configurar PHP5
servidor:#vi /etc/php5/apache2/php.ini

Cambiar memory_limit (está en 16) por:
memory_limit = 64M #(Podría ser 32, depende de lo que se quiera).

Configurar GoSA
Traerse unos esquemas extras:
servidor:/etc/ldap/schema# cp /usr/share/doc/gosa/contrib/openldap/samba3.schema.gz .
servidor:/etc/ldap/schema# gunzip samba3.schema.gz
servidor:/etc/ldap/schema# cp /usr/share/doc/gosa/contrib/openldap/trust.schema .

Poner los SCHEMAS así:
servidor:/etc/ldap# vi slapd.conf

#Schema and objectClass definitions
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema

#Esquemas de GoSA
include /etc/ldap/schema/samba3.schema
include /etc/ldap/schema/trust.schema
include /etc/ldap/schema/gosystem.schema
include /etc/ldap/schema/gofon.schema
include /etc/ldap/schema/goto.schema
include /etc/ldap/schema/gosa+samba3.schema
include /etc/ldap/schema/gofax.schema
include /etc/ldap/schema/goserver.schema
include /etc/ldap/schema/goto-mime.schema

Agregamos unos OU que va a usar GoSA con este ldiff:
# people, servidor.red
dn: ou=people,dc=servidor,dc=red
objectClass: organizationalUnit
ou: people

# groups, servidor.red
dn: ou=groups,dc=servidor,dc=red
objectClass: organizationalUnit
ou: groups

(Lo Agregamos con ldapadd o algo similar.)

Entramos en: http://servidor-web/gosa/setup.php
(Configuramos y obviamos el mensaje de error con el GoSA, el usuario se puede crear desde el Setup).

Esto crea un archivo gosa.conf, bajarlo y guardarlo en:
/etc/gosa

Cambiar los permisos
servidor:# chown root.www-data /etc/gosa/gosa.conf
servidor:# chmod 640 /etc/gosa/gosa.conf

LISTO! ahora entrar en http://servidor-web/gosa/ y empezar a usar.

NOTA: En este caso GoSA no está usando SSL por que está instalado en el mismo servidor y lo va a hacer por socket por lo que no es necesario, en caso de que tengamos el GoSA u otros servicios fuera del mismo servidor entonces se tendría que copiar los respectivos certificados y decirle al servicio que use SSL para comunicarse con LDAP.

Cualquier comentario lo pueden dejar en este blog o mandarme un correo a koshrf at gmail dot com

Venezuela en el Debconf7

Junio 19th, 2007

seraph1 en el debconf

Originally uploaded by koshrf.

Por estas cosas a veces es mala idea tomarse fotos con cartelitos… siempre hay alguien con malas intenciones! (Cortesía de Azrael).

Mas fotos de gente en el debconf:
https://gallery.debconf.org/mugshots

Cumpleaños de Richzendy - Fag Party

Mayo 27th, 2007


Grupo Completo

Originally uploaded by koshrf.

El día viernes celebramos el cumpleaños de Richzendy en el León junto con un grupo de amigos Linuxeros… después de ciertas birras a algunos se les empezó a mojar la canoa y tuvimos que recoger temprano por que la lluvia nos espantó :-(

Aquí les dejo las fotos… el próximo viernes estamos organizando una reunión ubuntera!

Les dejo los datos de la próxima reunión:
Fecha: 1ero de Junio de 2007 (Viernes)
Lugar: Caracas, La castellana - El León
Hora: 7.30pm - (hasta …)
Tema a tratar: Es la cerveza una expresión Linuxera? Mitos y Realidades.
Entrada GRATIS! (Las cervezas no).
P.D: Vengan comidos, la comida es cara en el sitio y las pizzas dejan mucho que desear :-(

Flisol2007 - Fotos

Mayo 12th, 2007

Flisol2007

Originally uploaded by koshrf.

Para los interesados en ver las Fotos del Flisol, acá les dejo algunas de las que tomó Carlos Pineda (y que yo le chulee :P ).
http://flickr.com/photos/koshrf/sets/72157600205893358/

Gracias al INCE por todo el apoya.

Beryl + XGL + Ubuntu 6.10

Abril 19th, 2007

Bueno ya sé que hoy salio Ubuntu 7.04, de hecho ya lo estoy bajando y la actualización son 10+horas en mi mocho enlace de Superporquería de 256KB.

Anyway… nunca había probado realmente Beryl en X por lo que hace unos días me decidí a instalarlo y he de comentar que es impresionante, y de cierta forma estoy trabajando mas eficientemente, o por lo menos eso creo yo. Me imagino que ya otros habrán explicado como instalar Beryl etc etc etc etc so, yo no voy a explicar eso, solo voy a dejar el enlace para los que quieren intentar con Ubuntu:

http://www.guia-ubuntu.org/index.php?title=Xgl_y_Beryl

Depaso… yo solo uso Ubuntu en las laptops, de resto full Debian. Y en realidad solo lo uso por que me divierte verle la cara a un compañero de trabajo (que no le gusta Ubuntu) cada vez que trabajo en la laptop :-)