NachXs Blog

Linux, Servidores, Suse LinuxOctober 4, 2007 3:53 pm

Se acaba de liberar una nueva versión de este magnifico Sistema Linux, me refiero a OpenSuse10.3, que a mi parecer uno de los sistemas muy bien diseñados y estables que conozco (ademas de Debian), el cual tiene alguna novedades interesantes entre ella la versión de Gnome 2.20, la version estable de KDE(3.5.7), con opción a instalar la versión 4.0, ademas lo que nunca debe faltar, Compiz Fusion, algunas mejoras en la Virtualizacion, y otras mejoras.
Esta demas decirles que soy unos de las personas que usa OpenSuse tanto para desktop asi como para Servidores y siempre con buenos resultados.


cdboot_suse

Linux, Servidores, PostgreSQLAugust 22, 2007 3:25 pm

Hace poco he estado trabajando con la parte de replicacion en PostgreSQL, y la verdad me parecio no muy complicado trabajarlo con Slony-I, para lo que no conozcan Slony-I, es un sistema de replicacion que soporta conexiones de tipo maestro y multiples esclavos ya sean con conexiones en cascada o fileover (bases de datos en el mismo nivel). Estube revisando por la web algunos manuales con respecto a este tema y me tope con varios de ellos pero me quedo con dos links interesantes, en la cual en una se hace la configuracion sobre Linux y otra sobre windows. Para los interesados.

Linux, Servidores, Ubuntu, Suse LinuxJune 25, 2007 12:43 pm

Administrando un Servidor de Correo en Suse Linux, se me presento un pequeño problemita, lo que me temia, el espacio en disco :S, cada vez se agregaban mas usuarios por cuestiones de trabajo y poco a poco se iba quedando sin espacio. Pero bueno, por suerte en Linux todo se hace simple (con un poco de informacion claro esta) :P . Se adquirio un nuevo disco duro (120 Gb.) y la idea era montar un direcotrio (/var) a este nevo disco. Esta es una pequeña guia que realize para algunos que todavia no han realizado este tipo de trabajo y para los que ya lo hicieron, seria bueno alguna sugerencia.

  • Lo primero colocar el nuevo disco duro, en mi caso como /dev/hdb1
  • Luego verificamos com fdisk -l, para ver las particiones existentes y el nuevo disco colcado en la cual se vera que el disco todavia no presenta una tabla de particiones o algun tipo de formato.
  • Creamos la particion con fsdik
  • Formateamos la particion creada utilizando el comando mkfs.ext3 (esto es en mi caso, dependera del tipo de Sistema de Archivo que deseen)
  • Una vez formateada la particion, el siguiente paso es crear un directorio en /mnt, el cual lo llamaremos “disk_var”, para eso utilizamos el comando mkdir -p /mnt/disk_var. El motivo de la creacion de este directorio, es para montar el nuevo disco y poder copiar todo el contenido del directorio seleccionado anteriormente (/var)
  • Montamos el nuevo disco en /mnt/disk_var con el comando: mount -t ext3 /dev/hdb1 /mnt/disk_var
  • Una vez montado el disco, copiamos el contenido de /var a /mnt/disk_var con el comando: cp -dpRv /var/* /mnt/disk_var
  • Luego de terminado de copiar el contenido, renombramos el directorio /var por /var_bk (En caso de algun inconveniente :P ) y creamos uno nuevo con mkdir -p /var
  • Desmontamos el disco con el comando: umount /dev/hdb1
  • Luego nos tocaria configurar el archivo /etc/fstab para poder montar el nuevo disco a la hora de iniciar el sistema. Utilizamos un editor con el que mejor te acomodes (yo prefiero vi ) y agregamos la siguiente linea:
    /dev/hdb1 /var ext3 defaults 0 1
  • Guardamos y Reiniciamos

En lo posible trate de abreviar lo que hice, alguna sugerencia o comentarrio para mejorar esto, sera bienvenido.

Linux, Servidores, PostgreSQLJune 22, 2007 10:05 pm

En pocas palabras:
“Conserva el alto rendimiento sin sacrificar la estabilidad ni la integridad de los datos, osea simplemente funciona.”

Obtenido de EcuaLug

Servidores, Base de Datos, PostgreSQLJune 21, 2007 10:16 am

Uno de los pequeños inconvenientes que se me presento a la hora de usar PostgreSQL, fue el ir migrar mis Store Procedures, los cuales lo tengo en ASE (Adaptive Server Enterprise), esto con la finalidad de utilizar Power Builder para un proyecto que estoy desarrollando (por cuestiones de trabajo) y segun comentarios y experiencias con este gestor; es muy bueno y entonces decidi probarlo. En el proceso de aprendizaje tube que migrar algunos SP y de todas maneras me tube que aprender algo del Lenguaje procedural propio de PostgreSQL (PL/PgSQL) y la verdad me parecio muy interesante y no tan dicifil de manejar. Una forma simple de migrar un SP de ASE a PostgreSQL por ejemplo podriamos hacerlo de la siguiente forma:

Procediemiento Almacenado en ASE:

CREATE PROCEDURE dbo.sp_consult_contrib
@tipo char(3),
@valor varchar(100)

AS
BEGIN
  if @tipo = ‘RS’
  Begin
    Select num_ruc From snt$prin_contrib Where nom_rac_soc like @valor+’%’
  End
Else
Begin
    Select nom_rac_soc From snt$prin_contrib Where num_ruc = @valor
End
END

El Mismo Procediemiento en PostgreSQL:

CREATE OR REPLACE FUNCTION sp_consult_contrib(tipo char(3), valor varchar(100))
RETURNS varchar AS $$

DECLARE
  ruc char(11);
  razon varchar(100);
BEGIN
  IF tipo = ‘RS’ THEN
    Select num_ruc into ruc From snt$prin_contrib Where nom_rac_soc like valor || ‘%’;
    RETURN ruc;
  ELSE
    Select nom_rac_soc into razon From snt$prin_contrib Where num_ruc = valor;
    RETURN razon;
  END IF;
END;
$$ LANGUAGE plpgsql;

y la forma de llamarlo desde Power Builder seria mas o menos asi:

string ls_tipo, ls_valor, ls_val_proc
ls_tipo = ‘RUC’
ls_valor = ‘20809898121′
select * into :ls_val_proc from sp_consult_contrib(:ls_tipo,:ls_valor);

En este caso el valor devuelto se alamacena en ls_val_proc

Ahora estoy de proceso de migracion de otros SP, espero no se me complique la cosa pero asi como vamos me parece que todo va por buen camino :P

Linux, Servidores, Suse LinuxJanuary 12, 2007 9:48 pm

Esto es parte del archivo de configuracion de mi Postfix (main.cf) en cual en gran medida me ayudado a evitar gran cantidad de Spam, espero les sea de utilidad:

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_helo_required = yes
smtpd_helo_restrictions = reject_invalid_hostname
smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination,
reject_unauth_pipelining,
reject_non_fqdn_recipient,
reject_non_fqdn_sender,
reject_unknown_recipient_domain,
reject_unknown_sender_domain,
check_recipient_access pcre:/etc/postfix/recipient_checks.pcre,
check_helo_access pcre:/etc/postfix/helo_checks.pcre,
check_client_access pcre:/etc/postfix/client_checks.pcre,
reject_rbl_client list.dsbl.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client dul.dnsbl.sorbs.net
smtpd_sender_restrictions = reject_unknown_sender_domain
disable_vrfy_command = yes


Log

Linux, Servidores, Suse LinuxJanuary 7, 2007 3:06 am

Una de los principales fastidios o problemas por lo que se puede pasar al Administrar un Servidor de Correo, es combatir el siempre infaltable SPAM, a puntos que llega a ser un gran dolor de cabeza. En estas 2 ultimas semanas, el servidor que administro ha estado recibiendo gran cantidad de SPAM y la verdad si que es un fastidio total realmente, Estube revisando varias formas de evitar esto, aplique varias, pero siempre se llega a filtrar uno que otro por alli; pero logre reducirlo en gran cantidad. Actualmente el servidor que administro es un Suse Linux 10.1 que a su vez tiene instalado Postfix + Spamassassin + Amavis + Clamav. Una de las formas mas factibles que encontre de combatirlo, es utilizando el Filtro Bayesiano Anti-Spam, el cual consiste en analizar los correos basandose en probabilidades entrenando asi a tu Anti-Spam para identificar y determinar cuales son lo posibles correos Spam y cuales no lo son. La idea de esto es tener configurado tu Spamassassin (si no, lo encuentras aqui), y luego crear dos directorios spam_si y spam_no, en mi caso yo lo cree dentro de “/home/nachxs/mail” y luego mover el correo spam al directorio llamado spam_si y el correo que no es spam al directorio spam_no y luego hacer lo siguiente:

Entrenar para identificar Correo SPAM:
# sa-learn –spam –mbox /home/nachxs/mail/spam_si/
Learned tokens from 337 message(s) (337 message(s) examined)

Entrenar para identificar Correo que NO es SPAM:
# sa-learn –ham –mbox /home/nachxs/mail/spam_no/
Learned tokens from 200 message(s) (200 message(s) examined)

De esta manera entrenamos a nuestro Anti-Spam. La efectividad dependera de cuanto lo entrenes. Ahora solo nos queda mejorar esto y seguir buscando forma de evitar que siga llegando Spam.

Linux, Servidores, Suse Linux, JSPDecember 8, 2006 11:08 am

Continuando con el desarrollo de mi aplicación, comenze a implementar las sesiones para poder logear a mis usuarios de una manera mas formal :P . Aqui una forma práctica de como hacerlo. En el post anterior publique un método de validación que forma parte de la Clase UserValidate(), apuntando a una base de datos creada en ASE; para este caso utilizaremos ese método (Validate()).


Sesion
Creando la Sesión

Llamar_sesion
Llamando a la Sesión

Linux, Servidores, Suse LinuxNovember 28, 2006 10:14 am

Desde hace un par de dias me encamine en el desarrollo de un pequeño proyecto el cual consta de un sistema via web desarrollado sobre JSP (Java Server Page), utilizando como gestor de Base de Datos ASE (Adaptive Server Enterprise - Express Edition), el cual decidi utilizar por motivos de trabajo. Tenia una duda, al querer usar algun IDE de desarrollo, entre los cuales tenia a Eclipse o NetBeans, la verdad los dos IDE me parecieron muy buenos, pero al final decidi utilizar NetBeans, a mi parecer es mas completo (quizas tenga discrepancias con algunos) y porque ya viene integrado con el módulo de tomcat el cual voy ha utilizar, pero creo que eso queda al margen, total es desición de cada uno :P . En el transcurso del desarrollo, quise utilizar el driver de conexión propio de sybase (jdbc:sybase) pero se me presento un problemita, dado que no me reconocia la cadena de conexión, y solo podia utilizar el driver de conexión ODBC (jdbc:odbc), cosa que no la tenia en mente; busque la forma de realizar la conexión y al final di con la solucion, es tan simple como copiar y pegar. Solo tenemos que hacer lo siguiente; en el directorio de instalación de sybase (en mi caso: /opt/sybase) nos ubicamos dentro del directorio “/opt/sybase/jConnect-5_5/classes/” y ubicamos el archivo “jconn2.jar”, seleccionamos y copiamos el archivo y nos ubicamos dentro del directorio de NetBeans (en mi caso: /opt/netbeans) “/opt/netbeans-5.5/enterprise3/apache-tomcat-5.5.17/common/lib/” y pegamos alli el archivo, y luego solo nos queda reiniciar NetBeans para aplicar los cambios. Tan simple como esto no puede haber :P , aqui el método de la clase que escribi para realizar la conexión:

NetBeans

Linux, ServidoresOctober 18, 2006 3:54 am

Hace poco estube configurando SpamAssassin en un servidor de correo levantado en Suse Linux 10.1 con Postfix y me tope con esta pagina en donde te genera un archivo de configuracion de SpamAssassin (local.cf) la cual te lo genera de acuerdo a las opciones que quiera utilizar, quizas les pueda ser de utilidad; A mi me sirvio :)