Bloqueo de Gnome Panel


Muchas veces, en equipos que cumplen tareas especiales, es necesario bloquear el panel de gnome a fin de que los usuarios no agreguen o eliminen applets.

Ejecutamos:

$ gconf-editor

y allí, modificamos la siguiente opción:

apps -> panel -> global -> locked_down

Si está tildada esta opción, el panel quedará bloqueado.

Qmail Server: Actualización de Antivirus Clamav por RPM


Para los que tengan un servidor de mail qmail con escaneo de correo por clamav via qmail-scanner, acá va un pequeño ayuda memoria para aquellas ocasiones en que debemos actualizar la versión del antivirus. Esto es algo que debemos revisar cada cierto tiempo, dado que el antivirus puede quedar obsoleto por falta de actualización.

Primero descargamos los RPM de nuestra versión de sistema operativo. Puede ser desde acá:

http://pkgs.repoforge.org/clamav/

Para una instalación eh RHEL 4 de 32 bits, necesitaremos los siguientes paquetes:

clamav-0.97.7-1.el4.rf.i386.rpm

clamav-db-0.97.7-1.el4.rf.i386.rpm

clamav-devel-0.97.7-1.el4.rf.i386.rpm

clamd-0.97.7-1.el4.rf.i386.rpm

Una vez que los tenemos descargados, procedemos:

1) Detenemos qmail y clamd:

# qmailctl stop
# service clamd stop

2) Desinstalamos la version de clamav que tengamos instalada:

2.1) Verificamos las versiones instaladas:

# rpm -qa |grep clam
clamav-devel-0.96.2-2.el4.rf
clamd-0.96.2-2.el4.rf
clamav-db-0.96.2-2.el4.rf
clamav-0.96.2-2.el4.rf

2.2) Desinstalamos:

# rpm -e --nodeps clamd-0.96.2-2.el4.rf 
# rpm -e --nodeps clamav-devel-0.96.2-2.el4.rf
# rpm -e --nodeps clamav-db-0.96.2-2.el4.rf
# rpm -e --nodeps clamav-0.96.2-2.el4.rf

3) Instalamos la nueva versión

# rpm -ivh clamd-0.96.2-2.el4.rf clamav-db-0.96.2-2.el4.rf clamav-0.96.2-2.el4.rf clamd-0.96.2-2.el4.rf

4) Ahora, editamos el /etc/clamd.conf y en la linea donde dice:

User clamav

modificamos por

User qscand

5) Ahora, editamos el /etc/freshclam.conf y en la linea donde dice:

DatabaseOwner clamav

modificamos por

DatabaseOwner qscand

Esto es para que utilice el usuario del qmail-scanner para el antivirus. Ojo con algunas instalaciones de Qmailrocks que sugerían utilizar el clamdscan para escanear y consumen enormes cantidades de recursos en el servidor. Gracias JSimpson por esta info.

6) Luego, verificamos los permisos en los archivos que puedan existir de versiones anteriores:

# chown -R qscand:qscand /var/lib/clamav
# chown -R qscand:qscand /var/run/clamav
# chown -R qscand:qscand /var/log/clamav

7) Iniciamos nuevamente los servicios:

# service clamd start 
# qmailctl start

That’s All Folks !

GRUB 2 Cambiando configuración / Change Settings


En Fedora 18, si tenemos instalado el boot dual en un equipo, seguramente nos planteemos como ampliar el tiempo de delay antes del booteo o cuál es el sitema operativo que arranca por defecto.

1) Editamos el archivo de configuración de grub2 en /etc/default/grub

GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=”Windows7(loader) on /dev/sda1
GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora/swap nomodeset rd.md=0 rd.dm=0 $([ -x /usr/sbin/rhcrashkernel-param ] && /usr/sbin/rhcrashkernel-param || :) vconsole.keymap=fr rd.luks=0 rd.lvm.lv=fedora/root rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_THEME="/boot/grub2/themes/system/theme.txt"

2) Para que el cambio tenga efecto, debemos ejecutar:

# grub2-mkconfig -o /boot/grub2/grub.cfg

Con este comando podremos ver todas las entradas disponibles para booteo:

# grep ^menuentry /boot/grub2/grub.cfg | cut -d "'" -f2

Con este comando podremos ver cuál es la entrada seteada en este momento por defecto:

# grub2-editenv list

Y alternativamente, podríamos utilizar este comando para establecer una determinada entrada por default para booteo:

# grub2-set-default <menu entry title>

Ojo que de todas maneras, deberemos ejecutar el comando del punto 2) para que el cambio tenga efecto.

Instalar Servidor SVN en Maquina Virtual Windows Azure / Visual SVN on Windows Azure Virtual Machine


Hace unos días descubrí un servicio de Microsoft para Emprendedores, (gracias Daniel Levi), llamado BizSpark,  que puede resultarnos muy útil en entornos de desarrollo, dado que nos proporciona software para desarrollo sin costo, hosting, entre otros beneficios.

Adicionalmente, obtenemos una cuenta de Windows Azure, donde podemos configurar una máquina virtual con buenos recursos a nuestra disposición y sin costo.

Sin embargo, no pasará mucho tiempo, antes de preguntarnos como hacemos para instalar un servidor svn en dicha cuenta, así que acá dejo una guía de configuración de un servidor svn en un servidor virtual Windows Azure (Gracias Marco Pasin – Microsoft SW Artchitect):

windowsazure_visualsvnquickstart

Enjoy !

C#: Añadir ToolTip Text a un botón / Set ToolTip for a Button


Instanciamos un objeto ToolTip y, dentro de un evento MouseHover, establecemos el texto que queremos que aparezca al pasar por arriba del botón:

System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();

public frmABMC() 
{
    InitializeComponent();
    this.btnCerrar.MouseHover += new EventHandler(btnCerrar_MouseHover);
}

void btnCerrar_MouseHover(object sender, EventArgs e)
{
    ToolTip1.SetToolTip(this.btnCerrar, "Cerrar");
}

Evolution no muestra correo entrante / Evolution not showing new emails


Esto es algo que suele suceder a menudo, mas aún en entornos configurados sobre nfs, o con frecuentes fallos de red.

Evolution, simplemente deja de mostrar los mensajes que arriban, no vemos ningún mensaje de error.

Como primera medida para solucionar este problema, podemos intentar una reconstrucción de las carpetas del evolution.

Si esto no da resultado, procederemos de la siguiente manera:

1) Cerramos el Evolution

2) Renombramos el archivo Inbox actualmente en uso:

$ cd /home/gsosa/.local/share/evolution/mail/local
$ mv Inbox Inbox.bak

3) Abrimos el Evolution: al no encontrar una carpeta Inbox, la creará nuevamente vacía.

4) En el Evolution vamos a Archivo –> Importar y seguimos los pasos para “importar un unico archivo”. Cuando lo solicite, seleccionamos el archivo previamente renombrado en el paso 2).

Con esto tendremos nuevamente operativa la bandeja de entrada (Inbox)

Posicionamiento de sitios web / Google Webmaster Tools


Seguramente, luego de crear un sitio web, colocarlo en un servidor de hosting, configurar un dominio, sus dns’s, entre otras tareas, nos encontremos ante la gran pregunta: cuando será indexado mi sitio por los buscadores ? Será indexado ?

No siempre vamos a tener la certeza de que nuestro sitio va a ser indexado inmediatamente, dado que eso depende de muchos factores, pero sí podemos hacer algo para que los buscadores se enteren de que el nuevo sitio existe y de que está disponible para indexar.

Para ello, debemos utilizar las webmaster tools. Todos los buscadores grandes tienen estas herramientas, que nos permitirán subir nuestro sitemap o mapa del sitio, administrar links a nuestro sitio, errores de rastreo, o definir que páginas pueden indexarse y cuales no.

Mapa del Sitio:

Uno de los puntos mas importantes son los mapas del sitio (sitemap). Debemos definir o cargar el mapa de nuestro sitio para facilitar la indexación. Esto se hace generando un archivo .xml con la estructura del sitio. Como hacemos eso ? Podemos hacerlo con, por ejemplo, el sitio xml-sitemaps, que genera el sitemap de la dirección que le indiquemos.

Una vez que lo tengamos, podemos cargarlo en las Webmaster Tools de un buscador determinado y así le daremos al buscador toda la estructura de nuestro sitio.

Google Webmaster Tools:

Para cargar nuestro sitemap.xml en Google, entramos a https://www.google.com/webmasters/tools/ (debemos tener una cuenta de google) y añadimos la dirección de nuestro sitio. Luego, en Optimización –> Sitemaps añadimos el nombre del xml que hemos creado. Tendremos que subirlo previamente a nuestro hosting también a fin de que google pueda leerlo.

Yahoo y Bing, comparten esta herramienta también: http://www.bing.com/toolbox/webmaster/

Espero que esta información sea de utilidad para todos aquellos que arrancan con la publicación de sitios y el posicionamiento web.

Añadir búsqueda en ComboBox / ComboBox Autocomplete


Dado que no es una opción que sea muy intuitiva para el usuario y que muchas veces es necesaria, acá va un ayuda memoria de como configurar la búsqueda o autocompletar cadenas a medida que se escribe dentro de un ComboBox:

Supongamos que ya tenemos cargado un ComboBox con los datos de clientes, debemos configurar, adicionalmente, 3 propiedades que harán posible esta funcionalidad, AutoCompleteCustomSource, AutoCompleteMode, AutoCompleteSource:

AutoCompleteCustomSource

Debemos definir una fuente de datos adicional que contenga todos los strings o cadenas donde se realizará la búsqueda. En este caso, llamamos a un método que nos devuelva todas las razones sociales de los clientes en una lista de strings.

this.clienteComboBox.AutoCompleteCustomSource.AddRange(new Clientes().getListaRazonSocial().ToArray());

AutoCompleteMode

Los modos mas utilizados son suggest y suggestappend, para completado sugerido o suger y añadir.

this.clienteComboBox.AutoCompleteMode = AutoCompleteMode.Suggest;

AutoCompleteSource

Definimos la fuente de datos cargada en el CustomSource.

this.clienteComboBox.AutoCompleteSource = AutoCompleteSource.CustomSource;

El resultado es algo así:

autocompletarComboBox

Vale aclarar que la propiedad DropDownStyle debe establecerse en DropDown en vez de DropDownList.

 

Deshabilitar SELinux / Turn Off SELinux


Seguramente en alguna ocasión, se habrán encontrado con algún problema de seguridad y se han preguntado como deshabilitar SELinux, a fin de descartarlo como fuente del problema.  Es que por línea de comandos, solo veremos la opción de colocarlo en modo:

Enforcing:

# setenforce 1

o en modo Permissive:

# setenforce 0

Pero para deshabilitarlo totalmente, al igual que si queremos hacer persistente el cambio de modo, debemos tocar el archivo /etc/sysconfig/selinux y allí modificar la línea

SELINUX=disabled