jueves, agosto 27, 2009

FreeBSD + Wordpress

Requerimientos:

FreeBSD instalado
Apache22 instalado

Instalacion:

1) Instalar wordpress mediante los ports
# whereis wordpress
wordpress: /usr/ports/german/wordpress (el resultado apunta a otro lugar)
# cd /usr/ports/www/wordpress
# make install clean

instalara automaticamente php5-gd, con opciones por defecto
php5-gd 5.2.10
[X] T1LIB
[X] TRUETYPE
[ ] JIS

2) Crear la entrada en /usr/local/etc/apache22/httpd.conf

# Modificacion para WORDPRESS inicio
<Directory /usr/local/www/data/wordpress>
Order deny,allow
Deny from all
#Allow from 127.0.0.1
Allow from all
</Directory>

Alias /wordpress /usr/local/www/data/wordpress/
# Modificacion para WORDPRESS fin

3) Re-iniciamos apache22
# /usr/local/etc/rc.d/apache22 restart

4) Configurar los datos de la DB en wordpress
# cd /usr/local/www/data/wordpress
# cp wp-config-sample.php wp-config.php
# edit wp-config.php

Colocamos los datos correctos:
define('DB_NAME', 'wordpress');^M
define('DB_USER', 'admin');^M
define('DB_PASSWORD', 'MICLAVE');^M
define('DB_HOST', 'localhost');^M
define('DB_CHARSET', 'utf8');^M
define('DB_COLLATE', '');^M

Nota:
MICLAVE se debe cambiar por la clave correcta

5) Creamos la DB en PHP
$ mysqladmin -uroot create wordpress

6) Garantizando acceso a la database
$ mysql -uroot -e"GRANT ALL ON wordpress.* TO admin@localhost IDENTIFIED BY 'MICLAVE'" wordpress

Nota:
MICLAVE se debe cambiar por la clave correcta

7) Probar que la cosa funciona
Debemos ingresar con el navegador a http://IPSERVIDOR/wordpress

Nota:
Al tratar de subir alguna imagen, da un error de escritura en /usr/local/www/data/wordpress/wp-content
Para solucionar esto, le damos permiso total al folder
# chmod -R 777 wp-content

miércoles, julio 08, 2009

FreeBSD + Icecast2 + Theora

STREAMING SERVER

Requerimientos:
FreeBSD 7.2 instalado

Guias:

http://www.icecast.org/docs.php
http://www.oddsock.org/guides/video.php
http://www.acooke.org/cute/SettingupR0.html

Instalacion:

1) Instalar icecast2
# whereis icecast2
icecast2: /usr/ports/audio/icecast2
# cd /usr/ports/audio/icecast2
# make install clean

2) Instalar ffmpeg2theora
# whereis ffmpeg2theora
ffmpeg2theora: /usr/ports/multimedia/ffmpeg2theora
# cd /usr/ports/multimedia/ffmpeg2theora
# make install clean

3) Instalar ezstream
# whereis ezstream
ezstream: /usr/ports/audio/ezstream
# cd /usr/ports/audio/ezstream
# make install clean

Archivos de configuracion:

cp /usr/local/etc/icecast.xml.sample /usr/local/etc/icecast.xml

Crear una carpeta que tendra los videos
# mkdir /usr/home/hd3/streaming/

Crear el archivo con el listado de los videos y su orden
/usr/home/hd3/streaming/playlist.m3u
en este archivo podemos poner los videos por ejemplo:
# cat playlist.m3u
/usr/home/hd3/streaming/telesursoflibre.mpg

Copiar el archivo de
# cp /usr/local/share/examples/ezstream/ezstream_reencode_theora.xml /usr/local/etc/

# mkdir /var/log/icecast
# touch /var/log/icecast/access.log
# touch /var/log/icecast/error.log
# chmod -R 777 /var/log/icecast/

Iniciar el streaming

$ /usr/local/bin/icecast -c /usr/local/etc/icecast.xml >/dev/null 2>&1 &

$ /usr/local/bin/ezstream -c /usr/local/etc/ezstream_reencode_theora.xml >/dev/null 2>&1 &

Pararlo

killall ffmpeg2theora
killall ezstream
killall icecast

Probar que envia

http://192.168.1.1:8000/theora.ogg

Ajustar la resolucion para el streaming

En el archivo /usr/local/etc/ezstream_reencode_theora.xml
hay 2 lineas que tienen estos valores:
ffmpeg2theora -x 192 -y 128 -a 0 -v 4 --title "@M@" -o - "@T@"
se cambian para que queden asi:
ffmpeg2theora -x 384 -y 256 -a 0 -v 4 --title "@M@" -o - "@T@"

Aqui los archivos de configuracion

Nota:
Como los archivos son en un formato XML, el navegador muestra mal el contenido, de click derecho sobre los links y luego Save link as...
Guardelos en su disco y luego los abre con un editor.
icecast.xml

ezstream_reencode_theora.xml

Para hacer relay de alguna emisora, por ejemplo de www.di.fm

Trance Channel - D I G I T A L L Y - I M P O R T E D
en el archivo http://www.di.fm/mp3/trance.pls

vemos esta linea para conectar
http://scfire-ntc-aa06.stream.aol.com:80/stream/1003

entonces en el archivo de Icecast2 ponemos esto:

<relay>
<server>scfire-ntc-aa06.stream.aol.com</server>
<port>80</port>
<mount>/stream/1003</mount>
<local-mount>/different2.ogg</local-mount>
<on-demand>0</on-demand>

<relay-shoutcast-metadata>0</relay-shoutcast-metadata>
</relay>

Y listo, para escuchar, usamos esta direccion:
http://192.168.1.1:8000/different2.ogg.m3u

Nota 2:

El archivo ezstream_reencode_theora.xml es en caso de querer usar archivos en formatos .mpg , si podemos usar directamente archivos de video en formato .ogv debemos usar el archivo ezstream_vorbis.xml con lo que nos ahorraremos procesador ya que no se requiere hacer el reencode, para esto:

# cp /usr/local/share/examples/ezstream_vorbis.xml /usr/local/etc/

Nota:
En este caso el ezstream se debe iniciar con el archivo .xml correcto, en este caso seria:

$ /usr/local/bin/ezstream -c /usr/local/etc/ezstream_vorbis.xml >/dev/null 2>&1 &

Crear el archivo con el listado de los videos .ogv y su orden
/usr/home/hd3/streaming/playlist.m3u
en este archivo podemos poner los videos en formato .ogv por ejemplo:
# cat playlist.m3u
/usr/home/hd3/streaming/otrovideo.ogv

Para verificar que funciona, abrimos en VLC, esta direccion:
http://192.168.1.1:8000/http://alpha:8000/vorbis.ogg.m3u

viernes, julio 03, 2009

FreeBSD + NAGIOS

Requerimientos:

FreeBSD instalado
Apache2 instalado

Instalacion:

1) Instalar nagios
# whereis nagios
nagios: /usr/ports/net-mgmt/nagios
# cd /usr/ports/net-mgmt/nagios
# make install clean

Al finalizar la instalacion te mostrara las lineas que debes poner en el archivo /usr/local/etc/apache22/httpd.conf

<Directory /usr/local/www/nagios>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>

<Directory /usr/local/www/nagios/cgi-bin>
Options ExecCGI
</Directory>

ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/
Alias /nagios/ /usr/local/www/nagios/

2) Hacer que inicie con el sistema colocando en /etc/rc.conf
nagios_enable="YES"

Nota:
Nagios por defecto requiere autenticacion, se puede desactivar temporalmente si cambiamos en
/usr/local/etc/nagios/cgi.cfg
la linea original
use_authentication=1
Por esta otra
use_authentication=0

Y asi podemos hacer pruebas temporalmente para poder ver los contenidos CGI mediante el navegador, pero no es buena idea dejarlo asi.

3) Activando la autenticacion para nagios
En las lineas que nos recomienda la instalacion de nagios para el http.conf le adicionaremos otras de modo que quede asi:

# Modificacion para NAGIOS inicio

<Directory /usr/local/www/nagios>
Order deny,allow
Deny from all
#Allow from 127.0.0.1
Allow from all
# Autenticacion inicio
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users
Require valid-user
# Autenticacion fin
</Directory>

<Directory /usr/local/www/nagios/cgi-bin>
Options ExecCGI
# Autenticacion inicio
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users
Require valid-user
# Autenticacion fin
</Directory>

ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/
Alias /nagios/ /usr/local/www/nagios/

# Modificacion para NAGIOS fin

Y ya si podemos dejar la linea original como recomiendan para cgi.cfg "use_authentication=1"

4) Creando el password
Crear el archivo htpasswd.users
# touch /usr/local/etc/nagios/htpasswd.users
Ponerle la clave
# htpasswd -c /usr/local/etc/nagios/htpasswd.users nagiosadmin
New password: ******
Re-type new password: ******
Adding password for user nagiosadmin

5) Re-iniciar el apache
# /usr/local/etc/rc.d/apache22 restart
Ya al tratar de ingresar con el navegador a:
http://miservidor/nagios/
nos debera pedir el usuario (nagiosadmin) y la clave (miclavesecreta)

6) Configurando los equipos dentro de nagios
Bueno, esto no sera una guia completa, ya que hay muchas posibilidades.

Nagios se inicia con el comando
# /usr/local/etc/rc.d/nagios start

Pero seguramente no nos iniciara hasta que le dejemos los archivos que requiere, es que vienene con nombres como

Los que estan en /usr/local/etc/nagios/
cgi.cfg-sample
nagios.cfg-sample
resource.cfg-sample

Los que estan en /usr/local/etc/nagios/objects/
commands.cfg-sample
contacts.cfg-sample
localhost.cfg-sample
printer.cfg-sample
switch.cfg-sample
templates.cfg-sample
timeperiods.cfg-sample
windows.cfg-sample

Bueno, en ambos casos solo hay que compiar cada uno de los archivos dentro de sus respectivos folders con los nombres sin el "-sample" y luego editarlos segun se requiera.

Luego inticiamos nagios nuevamente y vemos si arranca sin errores.

Para chequear luego de hacer algun cambio en los archivos podemos usar este comando y si todo esta bien, lo re-iniciamos
# /usr/local/bin/nagios -v /usr/local/etc/nagios/nagios.cfg

martes, junio 23, 2009

FreeBSD + Squid + Sarg

Ya tenemos instalado FreeBSD

Ya tenemos instalado Squid

Instalacion de SARG

# whereis sarg
sarg: /usr/ports/www/sarg
# cd /usr/ports/www/sarg
# make install clean

Configuracion de SARG

# edit /usr/local/etc/sarg/sarg.conf

language English
access_log /usr/local/squid/logs/access.log
graphs yes
graph_days_bytes_bar_color orange
title "Squid User Access Reports"
font_face Tahoma,Verdana,Arial
header_color darkblue
header_bgcolor blanchedalmond
font_size 9px
header_font_size 9px
title_font_size 11px
background_color white
text_bgcolor lavender
title_color green
logo_image none
logo_text ""
image_size 80 45
background_image none
temporary_dir /tmp
output_dir /usr/local/www/apache22/data/squid-reports
output_email none
resolve_ip yes
user_ip yes
topuser_sort_field BYTES reverse
user_sort_field BYTES reverse
date_format u
remove_temp_files yes
index yes
index_tree file
overwrite_report yes
topsites_num 100
long_url no

Para ver las opciones de un archivo sin los comentarios
# egrep -v '#|^ *$' /usr/local/etc/sarg/sarg.conf

Generar el reporte
# /usr/local/bin/sarg

Para ver el reporte hay que entrar a:
http://miequipo/squid-reports/

Aqui se puede ver un ejemplo de los datos que genera
http://sarg.sourceforge.net/squid-reports/index.html

miércoles, junio 17, 2009

FreeBSD + PHPMailer

Para poder hacen envios de correos desde PHP, se puede utilizar

# cd /usr/ports/mail/phpmailer
# make install clean

(OJO A ESTO)
You need to adjust php's include_path to contain `/usr/local/share/phpmailer'!
For example, insert
include_path = ".:/usr/local/share/phpmailer"
into `/usr/local/etc/php.ini'.
===> Registering installation for phpmailer-2.0.2

Listo, instalo la version 2.0.2

Le pondre la linea que dicen en el /usr/local/etc/php.ini'
UPS! busco y en FreeBSD no existe el php.ini, lo que encuentro es
/usr/local/etc/php.ini-dist y una nota sobre el php.ini dentro que
dice:

;;;;;;;;;;;;;;;;;;;
; About php.ini ;
;;;;;;;;;;;;;;;;;;;
; This file controls many aspects of PHP's behavior. In order for PHP to
; read it, it must be named 'php.ini'. PHP looks for it in the current
; working directory, in the path designated by the environment variable
; PHPRC, and in the path that was defined in compile time (in that order).
; Under Windows, the compile-time path is the Windows directory. The
; path in which the php.ini file is looked for can be overridden using
; the -c argument in command line mode.

Bueno, no entiendo bien, pero ya que en este archivo fue donde se
activo la linea

default_charset = "iso-8859-1"

Supongo que es donde se controla al PHP y por esto le metere la linea
:/usr/local/share/phpmailer

Hago copia del archivo por si me lo tiro
# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini-dist-
20-04-2009

Listo a editar el archivo tranquilo

Veo que el archivo /usr/local/etc/php.ini-dist esta estructurado por
sectores y en la parte donde dice Paths and Directories, justo al
final lo meto, queda asi:

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; Activamos PHP Mailer el port es /usr/ports/mail/phpmailer
include_path = ".:/usr/local/share/phpmailer"

NOTA:
Hay que re-iniciar algo al cambiar o poner cosas en el
/usr/local/etc/php.ini-dist ???

Ahora a configurarlo:

Para saber que y donde quedo instalado phpmailer, uso:

alpha# find . -name "phpmailer"
./usr/local/share/doc/phpmailer
./usr/local/share/examples/phpmailer
./usr/local/share/phpmailer
./usr/local/www/glpi/lib/phpmailer
./usr/ports/mail/phpmailer
./usr/home/hd1/apps/GLPI/glpi-0.70.1a/glpi/lib/phpmailer
./usr/home/hd1/apps/GLPI/glpi-0.70/glpi/lib/phpmailer
alpha#

Vamos a ver los examples...

# ls /usr/local/share/examples/phpmailer/
contents.html pop3_before_smtp_test.php
test_sendmail.php
images test_gmail.php test_smtp.php
index.html test_mail.php
alpha#

Supongo que este port /usr/ports/security/php5-
openssl/ hara
lo mismo para PHP con OpenSSL

Instalandolo:

# cd /usr/ports/security/php5-openssl
# make install clean
...

Libraries have been installed in:
/usr/ports/security/php5-openssl/work/php-5.2.9/ext/openssl/modules

FreeBSD + Samba + ClamAV

Requerimientos:
Tener instalado y funcionando FreeBSD
Tener instalado y funcionando Samba 3.0

Instrucciones:

Instalar el port clamav
# cd /usr/ports/security/clamav
# make install clean

Editar el archivo de configuracion
# edit /usr/local/etc/clamd.conf

Y cambiar las lineas:

LocalSocket /var/run/clamav/clamd.sock
por
LocalSocket /var/run/clamav/clamd

User vscan
por
User vscan root

Instalar el port sama-vscan
# cd /usr/ports/security/samba-vscan
# make install clean

Editar el archivo de configuracion
# edit /usr/local/etc/samba-vscan/vscan-clamav.conf

Y cambiar las lineas:

infected file action = nothing
por
infected file action = quarantine

quarantine directory = /tmp
por
quarantine directory = /usr/home/hd1/infected

Cargar el clamav al iniciar el sistema con unas lineas en /etc/rc.conf

# Activamos ClamAV (antivirus para Samba)
clamav_freshclam_enable="YES"
clamav_clamd_enable="YES"

Activar en le archivo de samba el escaneo

# edit /usr/local/etc/smb.conf

Y colocar en los shares que queramos las siguientes lineas:

# Antivirus ClamAV + Samba-vscan y recycle
vfs objects = vscan-clamav
vscan-clamav: config-file = /usr/local/etc/samba-vscan/vscan-clamav.conf

Re-iniciar samba
# /usr/local/etc/rc.d/samba restart

Para probar que funciona clamav, se pueden bajar unos archivos supuestamente infectados de
http://svn.clamav.net/svn/clamav-devel/trunk/contrib/test/

y tratar de compiarlos en uno de los shares protejidos

Nota:
samba-vscam solo funciona con samba 3.0, con las versiones superiores, como 3.3 ó 3.4 no funciona.

sábado, mayo 02, 2009

FreeBSD + vsftpd standalone

1) Instalar el port /usr/ports/ftp/vsftpd
# cd /usr/ports/ftp/vsftpd
# make install clean

2) En el archivo /etc/rc.conf agregar las lineas:

# Activamos vsftpd en modo "standalone" mode (osea, sin inetd)
vsftpd_enable="YES"

3) Editar o crear el archivo /usr/local/etc/vsftpd.conf
# edit /usr/local/etc/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=777
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Bienvenido al servidor FTP de Telemedellin.
chroot_local_user=YES
secure_chroot_dir=/usr/local/
share/vsftpd/empty
listen=YES
background=YES
pasv_enable=YES
pasv_promiscuous=YES
pasv_min_port=49152
pasv_max_port=65535

4) Editar o crear el archivo /usr/local/etc/rc.d/vsftpd con este contenido:
datos del script tomados de aqui

# edit /usr/local/etc/rc.d/vsftpd

#!/bin/sh
#
# $FreeBSD: ports/ftp/vsftpd/files/vsftpd.sh.in,v 1.7 2006/02/20 20:47:01 dougb Exp $
#

# PROVIDE: vsftpd
# REQUIRE: DAEMON

# Add the following line to /etc/rc.conf to enable `vsftpd':
#
# vsftpd_enable="YES"
# vsftpd_flags="/some/path/conf.file" # Not required
#

. "/etc/rc.subr"

name="vsftpd"
rcvar=`set_rcvar`

load_rc_config "$name"
: ${vsftpd_enable:="NO"}
: ${vsftpd_flags:=""}

command="/usr/local/libexec/$name"
required_files="/usr/local/etc/$name.conf"
start_precmd="vsftpd_check"

vsftpd_check()
{
if grep -q "^ftp[ ]" /etc/inetd.conf ${required_files}
then
err 1 "ftp is already activated in /etc/inetd.conf"
fi
if ! egrep -q -i -E "^listen.*=.*YES$" ${required_files}
then
err 1 "vsftpd script need "listen=YES" on config file"
fi
if ! egrep -q -i -E "^background.*=.*YES$" ${required_files}
then
err 1 "vsftpd script need "background=YES" on config file"
fi
}

run_rc_command "$1"
5) Darle permisos de ejecucion

# chmod +x /usr/local/etc/rc.d/vsftpd

6) Iniciarlo manualmente

# /usr/local/etc/rc.d/vsftpd start
Starting vsftpd.

7) Para verificar que esta corriendo

# /usr/local/etc/rc.d/vsftpd status
vsftpd is running as pid 1428.

miércoles, marzo 18, 2009

FreeBSD 7.1 + RAID0 - Striping

Bueno, hoy tengo que montar un monstruo en almacenamiento, sera un RAID0 por software, los datos no son criticos y el limitante es el factor dinero...

Informacion de los discos

6 HITACHI de 1TB SATA II

La organizacion

/dev/ad0 de 1TB FreeBSD 7.1 amd64

/ 1G
swap 4G
/var 4G
/tmp 1G
/usr 20G
/home 873G

5 SATAs 1TB cada uno para el raid0 por sofware
/dev/ad1
/dev/ad2
/dev/ad3
/dev/ad10
/dev/ad8

1) Instalar FreeBSD 7.1
(ya sabemos como, asi que no lo explicare, solo decir que se instala lo basico [X] 6 Kernel deve...)

2) Configurar los discos
Segun el manual http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/geom-striping.html

Solo modifico unas cosas en mi caso

Creating a stripe of unformatted ATA disks

  1. Load the geom_stripe.ko module:

    # kldload geom_stripe
  2. Ensure that a suitable mount point exists. If this volume will become a root partition, then temporarily use another mount point such as /mnt:

    # mkdir /mnt
  3. Determine the device names for the disks which will be striped, and create the new stripe device. For example, to stripe two unused and unpartitioned ATA disks, for example /dev/ad2 and /dev/ad3:

    # gstripe label -v st0 /dev/ad1 /dev/ad2 /dev/ad3 /dev/ad10 /dev/ad8
    Metadata value stored on /dev/ad1.
    Metadata value stored on /dev/ad2.
    Metadata value stored on /dev/ad3.
    Metadata value stored on /dev/ad10.
    Metadata value stored on /dev/ad8.
    Done.
  4. Write a standard label, also known as a partition table, on the new volume and install the default bootstrap code:

    (Esta parte la omito, ya que bsdlabel no trabaja con mas de 4TB)
    # bsdlabel -wB /dev/stripe/st0
  5. This process should have created two other devices in the /dev/stripe directory in addition to the st0 device. Those include st0a and st0c. At this point a file system may be created on the st0a device with the newfs utility:

    (Como omiti bsdlabel, el siguiente comando es sin la a al final)
    # newfs -U /dev/stripe/st0

    Many numbers will glide across the screen, and after a few seconds, the process will be complete. The volume has been created and is ready to be mounted.

To manually mount the created disk stripe:

# mount /dev/stripe/st0 /mnt

To mount this striped file system automatically during the boot process, place the volume information in /etc/fstab file. For this purpose, a permanent mount point, named stripe, is created:

# mkdir /home/stripe
# echo "/dev/stripe/st0 /stripe ufs rw 2 2" \
>> /etc/fstab

The geom_stripe.ko module must also be automatically loaded during system initialization, by adding a line to /boot/loader.conf:

# echo 'geom_stripe_load="YES"' >> /boot/loader.conf

Update:
Si queremos hacer RAID0 con ZFS...
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/filesystems-zfs.html
http://wiki.freebsd.org/ZFSQuickStartGuide

(desmontar el stripe)
# umount /stripe

(deshacer el stripe)
# gstripe unload /dev/stripe/st0
# gstripe clear -v /dev/ad1
# gstripe clear -v /dev/ad2
# gstripe clear -v /dev/ad3
# gstripe clear -v /dev/ad6
# gstripe clear -v /dev/ad8

(quitar la linea del fstab)
#/dev/stripe/st0 /stripe ufs rw 2 2

20.2.2.1 Single Disk Pool
# zpool create tank ad1 ad2 ad3 ad6 ad8

# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 989M 419M 491M 46% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1g 873G 40K 803G 0% /home
/dev/ad0s1e 989M 12K 910M 0% /tmp
/dev/ad0s1f 19G 2.3G 16G 13% /usr
/dev/ad0s1d 3.9G 34M 3.5G 1% /var
tank 4.5T 128K 4.5T 0% /tank

# zfs create tank/data

# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 989M 419M 491M 46% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1g 873G 40K 803G 0% /home
/dev/ad0s1e 989M 12K 910M 0% /tmp
/dev/ad0s1f 19G 2.3G 16G 13% /usr
/dev/ad0s1d 3.9G 34M 3.5G 1% /var
tank 4.5T 128K 4.5T 0% /tank
tank/data 4.5T 128K 4.5T 0% /tank/data

(para eliminar el ZFS)
# zfs destroy /tank/data

(para eliminar el pool)
# zpool destroy /tank

Nota con ZFS tambien se puede hacer un RAID5 (lo denomina "raidz")
Para RAID5
# zpool create storage raidz ad1 ad2 ad3 ad6 ad8

En este caso la unidad sera mas pequeña

bueno, parece que todo quedo listo...