viernes, 17 de setiembre de 2010

Queda Prohibido!

Queda prohibido llorar sin aprender,
levantarte un día sin saber que hacer,
tener miedo a tus recuerdos.

Queda prohibido no sonreír a los problemas,
no luchar por lo que quieres,
abandonarlo todo por miedo,
no convertir en realidad tus sueños.

Queda prohibido no demostrar tu amor,
hacer que alguien pague tus deudas y el mal humor.

Queda prohibido dejar a tus amigos,
no intentar comprender lo que vivieron juntos,
llamarles solo cuando los necesitas.

Queda prohibido no ser tú ante la gente,
fingir ante las personas que no te importan,
hacerte el gracioso con tal de que te recuerden,
olvidar a toda la gente que te quiere.

Queda prohibido no hacer las cosas por ti mismo,
tener miedo a la vida y a sus compromisos,
no vivir cada día como si fuera un ultimo suspiro.

Queda prohibido echar a alguien de menos sin alegrarte,
olvidar sus ojos, su risa,
todo porque sus caminos han dejado de abrazarse,
olvidar su pasado y pagarlo con su presente.

Queda prohibido no intentar comprender a las personas,
pensar que sus vidas valen mas que la tuya,
no saber que cada uno tiene su camino y su dicha.

Queda prohibido no crear tu historia,
no tener un momento para la gente que te necesita,
no comprender que lo que la vida te da, también te lo quita.

Queda prohibido no buscar tu felicidad,
no vivir tu vida con una actitud positiva,
no pensar en que podemos ser mejores,
no sentir que sin ti este mundo no sería igual.

Atribuido a Pablo Neruda, aunque esto es cada vez más incierto..

martes, 14 de octubre de 2008

Habilitar tarjeta de red y de sonido en OpenSolaris

Despues de instalar OpenSolaris me encontré que no se habían detectado las tarjetas de red y la de sonido...

Toca configurarlas a mano...

Tarjeta de sonido.
1- Descargamos driver desde Open Sound System.
2- Instalamos.
pkgadd -d oss-solaris-v4.0-1016-i386.pkg
3- Listo tarjeta de sonido.

Tarjeta de red (broadcom).

1- Descargamos driver desde Free Nic Drivers for Solaris.
2- Compilamos
gunzip -c bfe-2.6.0a.tar.gz |tar xf -
cd bfe-2.6.0a
rm obj Makefile
ln -s Makefile.amd64_suncc Makefile
ln -s amd64 obj
rm Makefile.config
ln -s Makefile.config_gld3 Makefile.config
/usr/ccs/bin/make


3- Instalamos

/usr/ccs/bin/make install
./adddrv.sh
modload obj/bfe
devfsadm -i bfe
ifconfig bfe0 plumb

4- Listo Tarjeta de RED

Recordar reiniciar OpenSolaris
init 6

jueves, 11 de octubre de 2007

Curso de Ruby on Rails, presentaciones, videos y tutoriales...

Hace poco tuve la oportunidad de brindar un curso sobre introducción a la programación con ruby, para finalizar con ruby on rails..

Aqui les dejo el enlace al grupo de discusión creado con los participantes del curso, en este grupo se han subido presentaciones, videos y tutoriales sobre ruby.

El grupo se llama ror_nicaragua y esta alojado en google groups.

El objetivo final del grupo es trabajar sobre ruby on rails para proyectos web.

Por lo pronto se han subido las siguientes presentaciones.

Intro-parte-1.odp
Intro-parte-2.odp
Ruby.odp

Y se tienen lo siguientes videos.

creacion_proyecto_desde_consola.avi
creacion_proyecto_desde_netbeans.avi

El enlace para efectos de dar seguimiento a los archivos que se vamos subiendo es:

ror_nicaragua/files

En las discuciones del grupo podrán encontrar información sobre instalación de ruby, de rails, de driver de BD y otros...

Recientemente se subio codigo para programar en shell...

miércoles, 10 de octubre de 2007

Instalando mis prográmas indispensables en Solaris...

Navengado y navegando encontré una comunidad open solaris (blastwave) que se encargan de crear paquetes para solaris y ofrecen una manera de gestionarlos al estilo apt de debian.

En resumen para instalar paquetes de esta comunidad en tu solaris procedes de la siguiente forma:

pkgadd -d http://www.blastwave.org/pkg_get.pkg

Esto te crea el directorio /opt/csw y ahí se instala el pkg-get, para efectos de utilizarlo sin tener que hacer la refencia completa al binario tienes que editar tus variables de entorno como root (/etc/default/login ahí buscar PATH y agregar /opt/csw/bin)

Esto te instalara el programa pkg-get el cual puedes utilizar de forma similar al apt-get...

Por ejemplo si deseas instalar el programa wget solo tienes que hacer

pkg-get -i wget

El programa como tal se conecta al internet y procede a bajar el wget y si se tiene requerimientos de dependencias pues las resuelve y procede a instalarlas...

Yo por lo pronto ya he instalado mi vim, mplayer, fileutils (ls a colores :D), xchm y otros mas...

En fín es una gran utilidad y si te intereza estar actualizado con tus paquetes solo tienes que hacer.

pkg-get -u

Esto te actualizara todos los paqutes que instalaste con esta aplicación...

Migrando a Solaris Express Developer Edition

Me ha tocado aprender Solaris y la verdad que me ha sorprendido su facilidad... Lo primero que tengo que decir es mas facil de lo que imaginaba... Realmente es un mito eso de que es dificil instalar solaris.

Lo he instalado en mi portatil HP Pavilion zv6000, en la instalación ha reconocido prácticamente todos los dispositivos, solo falta por que funcione el wireless y la tarjeta 5 en 1, aunque estos dos no funcionan a la primera, en linux para la tarjeta wireless existe una solución, en solaris aún busco una así que si sabes una dejame tu comentario.

Lo bueno es lo facil de instalar, lo malo es lo dilatado del proceso de arranque... son mas de 160 servicios que arranca... Así que lo primero que pensé tendré que recortar algunas cosas...

La parte de los servicios se gestiona por medio SMF, para sabilitar los servicios se utiliza el comando svcadm disable y para hablitar svcadm enable. El concepto de smf esta muy bueno pues los servicios los administra como objetos.

Los servicios que he desabilitado con los respectivos comandos son los siguientes:

svcadm disable svc:/network/ipsec/ipsecalgs:default
svcadm disable svc:/network/ipsec/policy:default
svcadm disable svc:/network/routing-setup:default
svcadm disable svc:/network/routing/ndp:default
svcadm disable svc:/network/shares/group:default
svcadm disable svc:/network/shares/group:zfs
svcadm disable svc:/network/ssh:default
svcadm disable svc:/network/smtp:sendmail
svcadm disable svc:/network/rpc/cde-ttdbserver:tcp
svcadm disable svc:/network/security/ktkt_warn:default
svcadm disable svc:/network/routing/route:default
svcadm disable svc:/network/rpc/cde-ttdbserver:tcp
svcadm disable svc:/network/rpc/cde-calendar-manager:default
svcadm disable svc:/network/rpc-100235_1/rpc_ticotsord:default
svcadm disable svc:/application/opengl/ogl-select:default
svcadm disable svc:/application/cde-printinfo:default
svcadm disable svc:/application/print/ppd-cache-update:default

#ADM SMC
svcadm disable svc:/application/management/wbem:default

Al desabilitar este ultimo nos quedaremos sin la consola de administración de solaris (smc). Pero almenos yo no la utilizo nuca, y son recursos valiosos que podría liberar, en un dado caso querer utilizarla pues habilitar el servicio vía el siguiente comando.

svcadm enable svc:/application/management/wbem:default

Por lo pronto ahora mi sistema en ves de consumir 50% de memoria utilizada ha pasado a iniciar con un 36%... ya es algo :D.

En lo personal me gusta mas el login de gnome pues sé como modificarlo por lo tanto para desabilitar el login de CDE se procede de la siguiente forma (Cuidado esto matara tu sesión gráfica)

svcadm disable svc:/application/graphical-login/cde-login:default

Ya en la interfaz de comando logearse con su usuario root e ingresar este otro comando.

svcadm enable svc:/application/graphical-login/gdm:default

Con esto ya iniciara de nuevo el servidor gráfico, pero en esta ocación con el gdm de gnome.

En esta primera vista lo que puedo decir...

Me hace falta mi vim querido, solo esta el vi...
Me hace falta mis ls con colores... no se que sucede con este... :(
La administración de paquetes aún como que no le entro, extraño mi apt-get de debian :D... Tema pendiente...
Extraño monton de cosas que era común utilizar con debian como son mi wget, screen, iproute, iptables, ruby, gcc, k3b, mplayer, htop, kmail, poder descargar mis torrents :D, en fín muchas cosas me hacen falta...

Ya los mantendré informado sobre mi camino en solaris...

viernes, 5 de octubre de 2007

Un codigo de clase de ruby...



class Song
attr_reader :name, :artist, :duration, :play
attr_writer :name, :artist, :duration

def initialize(name, artist, duration)
@name = name
@artist = artist
@duration = duration
@play = false
end

def to_s
"Song: #@name--#@artist (#@duration)"
end

def reproducir
puts @play = true
end

def detener
puts @play = false
end

def prot
puts "Evento Protegido..."
end

def privado
puts "Evento Privado..."
end

public :reproducir, :detener
protected :prot
private :privado
end
song = Song.new("Corazón espinado", "mana", 260)
puts song.to_s
puts song.name
puts song.name = "Como duele"
puts song.name
puts song.reproducir
puts song.detener

lunes, 10 de setiembre de 2007

Mi Servidor de Correo perfecto tipo ISP ( debian etch 4.0, postfix, dovecot, mysql, amavis, spamassassin, Squirrelmail y clamav

Actualizado y probado al 12 de Octubre del 2007.

Este tutorial esta basado en el excelente tutorial publicado en workaround.

Paso 1- Instalación de los paquetes necesarios
$> aptitude install postfix-mysql
$>
aptitude install mysql-server-5.0
$> aptitude install dovecot-pop3d
$> aptitude install dovecot-imapd
$> aptitude install amavisd-new
$> aptitude install spamassassin clamav-daemon cpio arj zoo nomarch lzop cabextract pax
$> aptitude install openssl
$> aptitude install squirrelmail
$> aptitude install libapache2-mod-php5 php5-mysql
$> aptitude install telnet
$> aptitude install mutt
$> aptitude install ruby ruby1.8-dev irb rdoc rubygems

Paso 2- Creación de la BD que gestionara las cuentas de correo electrónico.

$> mysqladmin password TuPasswordVaAqui
gt; mysqladmin password TuPasswordVaAqui
gt; mysqladmin password TuPasswordVaAqui
gt; mysqladmin password TuPasswordVaAqui
gt; mysqladmin password TuPasswordVaAqui
gt; mysqladmin password TuPasswordVaAqui
$> mysqladmin -p create correo_production
gt; mysqladmin -p create correo_production
gt; mysqladmin -p create correo_production
gt; mysqladmin -p create correo_production
gt; mysqladmin -p create correo_production
gt; mysqladmin -p create correo_production
$> mysql -p
gt; mysql -p
gt; mysql -p
gt; mysql -p
gt; mysql -p
gt; mysql -p

cuando veas el prompt de mysql ingresa la siguiente sentencia SQL para crear
los privilegios necesarios del usuario que gestionara la BD.

mysql>
GRANT SELECT ON correo_production.*
TO adminuser@localhost IDENTIFIED BY 'PasswdDelUsuarioAdmin';
exit

Paso 3- Descargar y ejecutar la aplicación del correo electrónico.

Descargar la aplicación desde Aqui. e Instalar Rails

$> gem install -r rails -y
$> wget -c http://web-admin-email-server-isp-style.googlecode.com/files/correo_admin_v0.01-07091001.tar.bz2
$> tar xjf correo_v0.01-07090701.tar.bz2
$> cd correo

editar el fichero de configuracion y personalizar la parte de production, esta será la que utilizaremos.
$> vi config/database.yml

Al finalizar migraremos nuestro squema de BD de la aplicación hacia la BD con el siguiente comando.

$> rake db:migrate RAILS_ENV=production
gt; rake db:migrate RAILS_ENV=production
gt; rake db:migrate RAILS_ENV=production
gt; rake db:migrate RAILS_ENV=production
gt; rake db:migrate RAILS_ENV=production
gt; rake db:migrate RAILS_ENV=production

Paso 4- Configurar ficheros utilizados por postfix para interactuar con nuestra BD en MYSQL.

Crear el directorio mysql

$> mkdir /etc/postfix/mysql

Crear y editar el siguiente fichero

$> vi /etc/postfix/mysql/email2email.cf

Añadir lo siguiente.

user = root
password = YourPasswd
hosts = 127.0.0.1
dbname = correo_production
query = SELECT email FROM vista_usuarios WHERE email = '%s'

Guardar y salir.

Crear y editar el siguiente fichero

$> vi /etc/postfix/mysql/virtual_alias_maps.cf

Añadir lo siguiente

user = root
password = YourPasswd
hosts = 127.0.0.1
dbname = correo_production
query = SELECT destino FROM vista_alias WHERE email = '%s'


Crear y editar el siguiente fichero

$> vi /etc/postfix/mysql/virtual_lists_transport.cf

Añadir lo siguiente

user = root
password = YourPasswd
hosts = 127.0.0.1
dbname = correo_production
table = vista_listas
select_field = transport
where_field = domain


Crear y editar el siguiente fichero
$> vi /etc/postfix/mysql/virtual_mailbox_domains.cf

user = root
password = YourPasswd
hosts = 127.0.0.1
dbname = correo_production
query = SELECT 1 FROM dominios WHERE nombre='%s'


Crear y editar el siguiente fichero

$> vi /etc/postfix/mysql/virtual_mailbox_maps.cf

Añadir lo siguiente

user = root
password = YourPasswd
hosts = 127.0.0.1
dbname = correo_production
query = SELECT path FROM vista_usuarios WHERE email='%s'


Crear y editar el siguiente fichero

$> vi /etc/postfix/mysql/virtual_redirect_maps.cf

Añadir lo siguiente

user = root
password = YourPasswd
hosts = 127.0.0.1
dbname = correo_production
query = SELECT destino FROM vista_reenvios WHERE email = '%s'


Paso 5- Configurar postif para interactuar con la BD mysql

Añadir lo siguiente a nuestro /etc/postfix/main.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql/virtual_mailbox_domains.cf

virtual_mailbox_maps = mysql:/etc/postfix/mysql/virtual_mailbox_maps.cf

virtual_alias_maps = mysql:/etc/postfix/mysql/virtual_alias_maps.cf,
mysql:/etc/postfix/mysql/virtual_redirect_maps.cf,
mysql:/etc/postfix/mysql/email2email.cf

virtual_mailbox_base = /home/vmail/
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000

# SASL Config.
smtpd_sasl_type=dovecot
smtpd_sasl_path=private/auth
smtpd_sasl_auth_enable=yes

virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
content_filter=smtp-amavis:[127.0.0.1]:10024
receive_override_options=no_address_mappings

#mailman add
transport_maps = mysql:/etc/postfix/mysql/virtual_lists_transport.cf
relay_domains = PonAquiElDominioDeMailMan


Edita ahora master.cf y verfica si estas estas lineas, si no estan añadirlas...

mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}

dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}

smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20

127.0.0.1:10025 inet n - - - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks


Paso 6- Configurar dovecot
Les adjunto las opciones seleccionadas en mi archivo de configuración.

Editar /etc/dovecot/dovecot.conf

protocols = imap imaps pop3 pop3s
disable_plaintext_auth = no
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/home/vmail/%d/%n

namespace private {
separator = .
prefix = INBOX.
inbox = yes
}

mail_extra_groups = mail

protocol imap {
mail_plugins = quota imap_quota
}

protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
mail_plugins = quota
}

protocol lda {
log_path = /home/vmail/dovecot-deliver.log
postmaster_address = webadmin@ucc.edu.ni
auth_socket_path = /var/run/dovecot/auth-master
mail_plugins = cmusieve quota
global_script_path = /home/vmail/globalsieverc
}

auth default {
mechanisms = plain login digest-md5 cram-md5
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
userdb sql {
args = /etc/dovecot/dovecot-sql.conf
}

user = root
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = vmail
group = vmail
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}

plugin {
sieve = /home/vmail/%d/%n/sieve
trash = /etc/dovecot/trash.conf
}


Paso 7- Configuar el acceso a Dovecot a tu BD SQL.

Editar /etc/dovecot/dovecot-sql.conf y añadir lo siguiente

driver = mysql
connect = host=127.0.0.1 dbname=correo_production user=root password=tupasswordaqui
default_pass_scheme = PLAIN-MD5
password_query = select email as user, password from vista_usuarios where
email = '%u';
user_query = SELECT home, uid, gid, quota FROM vista_quotas WHERE email = '%u'

Paso 8- Arrancar tu aplicación.

$> /etc/init.d/postfix restart
$> /etc/init.d/dovecot restart
$> /etc/init.d/amavis restart
$> /etc/init.d/spamassassin restart
$> /etc/init.d/clamav-daemon restart
$> cd /opt/correo/
$> script/console production
>> dom = Dominio.new
>> dom.nombre = "test.com"
>> dom.save
>> adm = Usuario.new
>> adm.usuario = "UsuarioAdmin"
>> adm.nombre = "Nombre Completo del Usuario"
>> adm.admin = true
>> adm.dominio = dom
>> adm.password = "Tu Password Aqui"
>> adm.save
>> exit


Paso 9- Arrancar tu aplicación.

$> script/server -e production

En los mensajes que salen despues de ingresar este comando se puede visualizar el puerto
al que puedes conectarte para iniciar con la administración de las cuentas, normalmente el puerto
es el 3000 y te conectas utilizando firefox de la siguiente forma.

http://ipdetuservidor:3000

Este puerto lo puedes cambiar utilizando la instrucción

$> script/server -e production -p #puerto


Suerte.