Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Script para monitorizar y reiniciar automáticamente el servidor de base de datos mysql en caso de fallo

Imago voragine.net
• Por
Hay programas que permiten monitorizar todo un sistema y reiniciar los servicios que se paran o fallan de manera inesperada, todo esto automáticamente. Es el caso de monit, un programa que se ejecuta en segundo plano (daemon) eficaz y que no consume muchos recursos. Sin embargo hay veces que es más rápido y ligero hacer un pequeño script de bash y ejecutarlo periódicamente con cron. Esto es exactamente lo que he hecho para monitorizar el servidor de base de datos de uno de mis servidores web y reiniciarlo en caso de que se pare.

Diferencias entre /etc/crontab y crontab -e: los usuarios en el sistema de tareas periódicas cron de Linux

Imago voragine.net
[actualizado el ] • Por
Cron es el demonio de Linux que se encarga de ejecutar tareas periódicamente. Estas tareas se pueden añadir al archivo /etc/crontab. Este archivo es el crontab general del sistema al que únicamente tiene acceso el usuario root. Además, cada usuario dispone de un crontab particular al que pueda añadir tareas ejecutando la orden crontab -e. A continuación se explican las diferencias entre ambos métodos.
Contexto

Cómo conectarse a un servidor VPN desde un cliente con Debian Jessie

Imago voragine.net
[actualizado el ] • Por Enlace permanente

Para conectarse a un servidor remoto usando el protocolo VPN desde un sistema Debian, versión Jessie, hay que instalar los paquetes openvpn y pptp-linux que añaden el demonio VPN y el protocolo «Point-to-Point Tunneling».

# apt-get install openvpn pptp-linux vpnc vpnc-scripts

Para poder configurar la conexión desde el network manager, el gestor de conexiones de red de gnome, hay que instalar otros dos paquetes:

# apt-get install network-manager-openvpn-gnome network-manager-pptp-gnome network-manager-vpnc-gnome

Después basta añadir la conexión siguiendo los pasos que nos marca el network manager y usando los datos del servidor al que nos queramos conectar. Conviene revisar las opciones avanzadas y únicamente marcar el protocolo de autenticación que use el servidor, si se dejan todos marcados openvpn elegirá el protocolo por nosotros y puede no ser el correcto, con lo que no conectará con el servidor.

Un aspecto a tener en cuenta es cómo se guarda la contraseña: la opción «guardar solo para este usuario» por alguna razón no funciona como yo esperaba (guardando la contraseña solo para el usuario activo del sistema) y me dio muchos errores de conexión hasta que lo descubrí. Para poder conectarme a una VPN tengo que seleccionar la opción guardar contraseña para todos los usuarios o no guardarla e introducirla cada vez que me conecto. Esta última opción es más segura.

Cómo configurar el autocompletado para git en su versión línea de comandos, en Linux claro

Imago voragine.net
[actualizado el ] • Por Enlace permanente

Personalmente uso git desde la línea de comandos. Me resulta lo más rápido: me basta dejar vim en segundo plano y commitear; también lo más ligero ya que no tengo que tener otro programa GUI abierto para git.

Para que el uso de git en línea de comandos sea aún más ágil es fundamental activar el autocompletado de comandos de git.

Para ello basta bajarse el script de bash que añade esta función al paquete básico de git, alojarlo en nuestro directorio personal o donde se quiera, y añadir la siguiente línea al archivo .bashrc ubicado en nuestra carpeta personal:

source ~/.git-completion.bash

La línea anterior añade el script de autocompletado a la configuración de bash del usuario. La ruta hasta el archivo descargado tiene que ser correcta. En el ejemplo anterior hemos guardado el script como oculto en la carpeta personal del usuario.

Instalar paquetes 32-bits en un Debian 64-bits, versión Wheezy o superior

Imago voragine.net
[actualizado el ] • Por Enlace permanente

Casi cualquier ordenador personal que puedas usar hoy tiene un procesador 64-bits. Esto incluye ordenadores producidos hace cinco, seis y quizás hasta diez años. Un ordenador con procesador de 64 bits puede hacer correr software de 64 bits y de 32 bits. Lo mismo ocurre con el software: un entorno de 64 bits acepta software de 32 bits, pero no a la inversa.

En un sistema Linux es fácil saber si nuestra máquina funciona con 32 ó 64 bits, tanto a nivel de hardware como de software.

Desde su versión 7, llamada Wheezy, Debian es multiarquitectura, y permite la instalación de programas de 32 y 64 bits simultáneamente. Si tenemos una instalación 64-bits, podemos activar el modo multiarquitectura:

su
dpkg --add-architecture i386
apt-get update

La siguiente sucesión de comandos, sugerida por alex.r.l.f en los comentarios (¡gracias!), evita problemas en algunos sistemas:

su
dpkg –add-architecture i386
apt-get update
apt-get dist-upgrade
apt-get -f install
apt-get clean

Actualizar Linux Debian Squeeze, o versión 6, a Wheezy, o versión 7

Imago voragine.net
[actualizado el ] • Por
Hace un mes que se ha liberado la nueva versión de Debian, Jessie, la número 8. Mientras tanto, yo me he dedicado a actualizar de la versión 6 a la 7: ya estoy más cerca de estar al día. Cuento aquí el procedimiento que he seguido para actualizar GNU/Linux Debian desde la versión 6, Squeeze, a la 7, Wheezy en mi portátil Lenovo Thinkpad X61S. El proceso es relativamente sencillo ya que se trata de una actualización de un sistema local; para una actualización de una máquina remota, las precauciones y la preparación del entorno de trabajo son mucho más complejas.

Qué hacer si WordPress no sale del modo mantenimiento

Mientras se lleva a cabo una actualización en WordPress se activa el modo mantenimiento. Si hay algún problema durante el proceso nuestra web puede quedar atrapada en modo mantenimiento. Lo sabremos porque al visitarla nos aparecerá el siguiente mensaje en lugar de la web: «No disponible por mantenimiento programado. Vuelve a comprobar el sitio en unos minutos.», o en inglés: «Briefly unavailable for scheduled maintenance. Check back in a minute.»

WordPress activa el modo mantenimiento generando un archivo llamado .maintenance en la raíz del árbol de carpetas. Para salir del modo mantenimiento lo único que hay que hacer es eliminarlo, vía FTP por ejemplo.

En cambio, para entrar en modo mantenimiento manualmente no basta con crear el archivo .maintenance.

32 ó 64 bits: ¿qué tipo de procesador CPU y Linux tengo?

¿Tengo un ordenador con un procesador de 32 o de 64 bits? En Linux, teclea lo siguiente en una terminal:

grep flags /proc/cpuinfo

Cada línea de la salida te está dando información de un procesador: si tienes un procesador de dos núcleos, verás dos líneas. Si la salida del comando incluye lm, el procesador es de 64 bits. Por ejemplo:

flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm ida tpr_shadow vnmi flexpriority
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm ida tpr_shadow vnmi flexpriority

¿Tengo una instalación de Linux de 32 o de 64 bits? De nuevo abrimos una terminal y tecleamos:

uname -m

Si la salida es x86_64, la instalación es de 64 bits; si es i386, i486, i586 o i686, la instalación es de 32.

Por último, el comando lscpu nos da las dos informaciones juntas. Al teclear lscpu nos fijamos en las dos líneas siguientes:

Architecture:          i686
CPU op-mode(s):        32-bit, 64-bit

En este caso, tenemos un sistema de 32 bits (i686) instalado en una máquina con un procesador de 64 bits.

Permitir incrustar servicios externos (embed) en el contenido de un post en WordPress Multisite: la capacidad unfiltered_html y los filtros kses

Imago voragine.net
• Por

Por seguridad WordPress Multisite desactiva la capacidad de incluir determinado código HTML para usuarios que no sean superadministradores (administradores de la red de sitios). Es una medida lógica para evitar que un usuario incluya código malicioso a través de la caja de contenido de un post. Sin embargo en redes de sitios controladas, con una comunidad de usuarios de confianza, puede tener sentido activar esta capacidad.

Lo que hace WordPress Multisite añadir los filtros KSES, que normalmente solo se aplican a colaboradores y autores, a los usuarios editores y administradores. También desactiva la capacidad unfiltered_html para editores y administradores.

El plugin Unfiltered MU elimina esta limitación. Para quien prefiera prescindir de plugin se puede incluir la activación en el theme que se esté usando.

Cómo eliminar el slug «blog» de la estructura de permalinks de WordPress Multisite

Imago voragine.net
[actualizado el ] • Por Enlace permanente

WorPress Multisite añade el slug «blog» a los permalinks del sitio principal bajo la configuración de subdirectorios, no de subdominios, y lo hace por una razón: para evitar conflictos al coincidir la URL de un contenido del sitio principal (el que está alojado en el dominio) y la URL de otro de los sitios del Multisite (los que están alojados en un subdirectorio).

Eliminar «blog» de los permalinks puede traer problemas: tenemos que estar atentos para que ningún slug de un post, etiqueta o categoría del sitio principal sea igual al slug de uno de los sitios.

Si aún así se necesita eliminar la palabra blog, se puede hacer de la siguiente manera:

  1. Ir a la sección Permalinks dentro de Ajustes del sitio principal. Elegir la opción Predeterminado.
  2. Ir a la sección Sitios dentro de Administrador de la red. Allí seleccionar la opción Editar del sitio principal.
  3. En la pestaña Ajustes modificar la opción Permalink Structure, Category Base y Tag Base.

Eso sí, si se actualiza en el sitio principal la estructura de permalinks, «blog» volverá a aparecer en ellos. Si se quiere actualizar por alguna razón (por ejemplo cuando añadimos un nuevo post type hay que actualizar los permalinks para que el nuevo post type funcione), habrá que repetir el procedimiento.