Tres lecciones que aprender del caso Huawei

Creo que a estas alturas nadie es ajeno al caso Huawei. Es un ejemplo tan bueno de porqué debemos utilizar software libre que me voy a permitir reproducir aquí, en castellano, las tres lecciones que podemos aprender de todo esto según la FSFE (el original es de la Newsletter Digest de la FSFE, Vol 98, Issue 1).

  1. El software libre permite controlar la tecnología: cuanto más importante es la tecnología en nuestras vidas, más importante se torna el uso de software libre.

  2. La Unión Europea confía en exceso en proveedores extranjeros de tecnología: la Unión Europea y sus estados miembros deberían invertir en el desarrollo de software libre y enfocarse en apoyar organizaciones y negocios locales que fomentan el uso de software libre.

  3. El software libre otorga independencia económica a las empresas: la empresa que utiliza software propietario depende del proveedor de software y por tanto del gobierno del país que lo regula. La mejor estrategia para evitar esta dependencia es utilizar software libre en el mayor número de puntos de la cadena de suministro.

Podéis leer más aquí.

 

instalando mattermost en debian stretch

¡Me encanta el olor a software libre por las mañanas! Y más cuando una aplicación privativa que me gusta se vuelve un dolor de muelas por sus restricciones. Entonces es el momento de buscar alternativas de software libre.

mis requerimientos

  • open source
  • alternativa a slack
  • multiplataforma: linux, windows, android…
  • sin limitaciones en cuanto a mensajes, ficheros, etc…
  • instalable en un servidor que ya esté funcionando con otros servicios

el caso

Slack, la plataforma para facilitar el trabajo en equipo es una herramienta muy útil pero, cuando llevas un tiempo utilizándola en su versión gratuíta empiezan a aparecer los problemas, como no poder recuperar conversaciones porque has excedido el máximo y sólo te muestra las últimas diez mil. Y un día, sin saber cómo, te encuentras abriendo duckduckgo y buscando 'slack open source alternatives'. Y ahí es cuando descubres Mattermost.

las alternativas

Mattermost es una alternativa a slack pero de software libre, su misión es la misma, su interfaz es terriblemente similar y no tiene las limitaciones de aquella pero no es la única alternativa. Durante un tiempo barajé la opción de zulip pero tiene un requerimiento que choca frontalmente con los míos:

(Zulip Requirements)

Mis servidores son limitados y por eso trato de aglutinar en ellos servicios similares y, en este caso, ni quería ni podía utilizar una máquina para la mensajería.

La única desventaja que le vi a Mattermost es que utiliza nginx como proxy inverso y yo utilizo apache pero se puede cambiar fácilmente, como veremos.

instalación de mattermost

Todo el proceso descrito en esta entrada se ha obtenido de la documentación oficial de Mattermost.

creación de la base de datos

El servidor de bases de datos también está instalado y configurado por lo que únicamente tendremos que crear una base de datos y un usuario nuevos.

Estos datos de conexión se utilizarán más adelante al configurar el Driver de Mattermost.

Mattermos, al fin

Instalaremos Mattermost en /opt y apuntaremos el virtual host de apache2 a ese directorio.

la columna de una tabla es demasiado grande

Si falla y da este error, {"level":"error","ts":1557928148.6244338,"caller":"sqlstore/supplier.go:811","msg":"Failed to create index Error 1709: Index column size too large. The maximum column size is 767 bytes."}, cambiar configuración en mariadb:

apache2

Crear el subdominio matter.example.com apuntando al servidor donde lo vas a instalar. En mi caso, en dicho servidor ya hay un apache funcionando y no necesito instalar software adicional. En caso de utilizar, como recomienda Mattermost, nginx tendría dos servicios operando sobre el mismo puerto y eso no termina bien nunca.

A partir de esta modificación, apache no sólo funcionará como servidor web sino que también hará de proxy inverso para redirigir el tráfico al puerto que escucha Mattermos, el 8065.

Creamos el VirtualHost para Mattermost, en principio vacío y luego, tras solicitar el certificado a letsencrypt, con la configuración de proxy.

Tras ejecutar estos comandos tendremos un nuevo virtual host redirigiendo el tráfico al puerto de Mattermost, adornado con un bonito certificado de Let’s Encrypt.

Configuración de mattermost

Ahora sólo nos queda abrir el navegador en https://matter.example.com y configurar el usuario administrador. También es necesario configurar el servidor de correo según el apartado Configuring Mattermost Server.

 

[Truco] cambiar la contraseña de una partición cifrada en debian stretch

Se nos llena la boca (a mí el primero) diciendo que tenemos que cifrar los dispositivos de almacenamiento, sobre todo los portátiles y los discos duros externos, para luego tener una única contraseña durante toda la vida útil del dispositivo.

En mi trabajo no tengo instalado linux en la estación de trabajo por directrices de la empresa pero, en cambio, sí que tengo una máquina virtual con VirtualBox que utilizo como sistema operativo principal, tanto que tengo un montón de alarmas de vbox para que no le de tantos recursos :-D. La cuestión es que el volumen de esa máquina virtual está cifrado desde el momento en que instalé debian y, pasado cierto tiempo, toca cambiar la frase de paso.

Cambiar la contraseña de LUKS puede hacerse mediante gnome-disks (en el paquete gnome-disk-utility) o, más fácil, desde la consola.

Lo primero es saber sobre qué partición quieres actuar, porque se puede dar el caso de que tengas varias particiones cifradas, incluso con diferentes contraseñas (ese es un nivel de paranoia al que aún no he llegado).

Ese fichero es la base de datos de volúmenes cifrados y, en este caso, sólo hay una partición que manejar, sda5.

A continuación, ejecutamos el comando que cambia la frase de paso sobre la partición correcta:

Cuando dentro de unos meses vuelva a cambiar la contraseña, ya no tendré que buscar más que aquí :-D.

 

[Short] FreshRSS: aloja tu propio servidor RSS

Como un soplo de aire fresco, llega FreshRSS un agregador de canales RSS libre y ligero donde mantener al día y sincronizados vuestros feed RSS. Es compatible tanto con Apache como con Ngnix, así que debería funcionar sin problema aunque vayáis un poco justos de hardware (RasPi calling!). El funcionamiento es simple, instalas un servidor web (guía aquí -de momento sólo está en inglés-) y accedes a él desde cualquier dispositivo, bien vía web o desde la aplicación android (la podéis encontrar en F-droid pero ojo que aún está en versión alpha).

Aquí podéis indagar un poco sobre el funcionamiento de la aplicación y aquí se explica como programar cron para que actualice los feeds automáticamente cada cierto tiempo.

Happy hacking!

 

[Truco] Convierte un vídeo en imágenes con ffmpeg

¿Pulsaste el botón de vídeo en lugar del de la foto en aquel lugar y momento difícilmente repetible? ¿Te gustaría tener una de las escenas icónicas de tu película favorita de fondo de pantalla? Con ffmpeg es muy sencillo. Imaginemos que necesitamos extraer los primeros 30 segundos de un vídeo en fotogramas. Basta con teclear:

ffmpeg -ss 00:00 -i video.mp4 -t 00:30 fotograma%05d.png

En detalle:

  • -ss indica el inicio temporal a partir del cual empezar a extraer fotogramas.
  • -t el intervalo de tiempo en el que queremos extraerlos
  • %05d es una wildcard que sirve para añadir el número de fotograma con 5 dígitos al final del nombre de cada .png generado

Fácil ¿verdad? Esta es solo una pequeña muestra del potencial de ffmpeg, os invito a echar un vistazo más detallado a esta navaja suiza del multimedia. Aquí os dejo el enlace a la lista de formatos de vídeo soportados.

¡Que aproveche!

 

DataDetox: controla tu presencia on-line

De la mano del Tactical Technology Collective y la Fundación Mozilla llega esta fantástica iniciativa que busca concienciar sobre privacidad on-line. Decenas de aplicaciones y sitios web rastrean a diario nuestra actividad, preferencias de navegación y gustos en busca de un trocito del suculento pastel del Big Data.

¿Conoces tu huella digital? ¿Qué saben las redes de ti? ¿Y qué sabes tú de lo que las redes hacen con tus datos?

DataDetox nos invita a indagar en nuestra huella digital, descubrir cual es nuestra identidad on-line y prevenir la fuga masiva de datos a la que estamos expuestos.

8 días, menos de media hora al día ¿te atreves?

Ahí va el programa:

Día 0.- ¿Por qué Detox? Nos vamos preparando.

Día 1.- Descubrir. ¿Quién eres según otras personas?

Día 2.- Todo en un mismo lugar. ¿Cuánto te conoce Google?

Día 3.- Ser sociable. Desintoxicando tus cuentas en redes sociales.

Día 4.- Buscar&navegar. ¿Qué estás compartiendo a través de tu navegador?

Día 5.- Conectando. ¿Con quién habla tu móvil?

Día 6.- Limpieza. Hora de limpiar nuestras aplicaciones.

Día 7.- ¿Quién crees que eres? Porqué crear perfiles no se trata simplemente de mostrarte anuncios.

Día 8.- Creando un nuevo yo. Convierte tu “data detox” en un nuevo estilo de vida.

 

[truco] mariadb se va de paseo (MySQL server has gone away)

O dicho en el idioma de los errores de sistema, ERROR 2006 (HY000) at line 21232: MySQL server has gone away.

El lío

mariadb

mariadb

El error me apareció cuando intentaba importar la base de un wordpress en una instalación de MariaDB 10.1.37-0+deb9u1. Tengo que decir que el fichero SQL no es muy diferente al montón de importaciones que he hecho con MySQL, tiene un tamaño aproximado aunque sí que ha habido ficheros varios megas más grandes en el mismo servidor. Lo inusual del error, el que no fuese un error de sintaxis del fichero me hacía sospechar de la configuración de MariaDB.

La solución

Hay que aumentar una variable del sistema que se encarga del tamaño máximo del buffer donde se almacenan los paquetes, max_allowed_packet. Basta con añadir (o modificar) el valor y ponerlo a algo tremendo para que no falle, en este caso, 2 GB.

Tras aplicar el cambio, ya se puede importar sin problema volcados de wordpress o de lo que sea.

 

Tip: Escalar un documento PDF con GhostScript

Pongamos que lleváis tiempo maquetando un documento de unos cuantos cientos de páginas y que a la hora de imprimir decidís que en lugar del clásico A4, preferís hacerlo en un formato más manejable, por ejemplo B5. Pongamos también que la pereza os ha vencido y no habéis utilizado LaTex para editar vuestro documento. Y que además tiene decenas de imágenes y tablas con sus respectivas leyendas. Remaquetarlo son unas cuantas horas de ingrato trabajo extra ¿por qué no redimensionar el PDF directamente?

Ghostscript funciona la mar de bien en estos casos, y pasar de un A4 a un B5, respetando márgenes, interlineados y demás es tan sencillo como ejecutar:

gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dFIXEDMEDIA -sPAPERSIZE=isob5 -dPDFFitPage -sOUTPUTFILE=B5_file.pdf A4_file.pdf

Los curiosos podéis echar un vistazo al significado de cada parámetro en el man de gs.

Happy reformating!

 

WordPress Multisite, Let’s Encrypt Wildcard y dominios redirigidos

Inciso: Dabo, te lo dije, te advertí que no pararía hasta terminar sabiendo cómo hacer funcionar esto 🙂

Tengo varias web, varios WordPress y un puñado de dominios. Es, creo yo, lo habitual cuando te mueves por estas aguas y a cada proyecto, idea o viaje místico le asocias un dominio y un espacio en internet. La mayoría no llega a ningún sitio pero eso no es lo importante. Al final, te juntas con un puñado de webs en un WordPress Multisite, con varios dominios apuntando a varios de sus subdominios y con unas ganas locas de ponerles a todas un bonito certificado SSL patrocinado por Let’s Encrypt.

El escenario

example.com es el dominio principal de un WordPress Multisite que alberga una veintena de webs en su propio subdominio, loquesea.example.com y, algunas de ellas, además, tienen un dominio propio que apunta al subdominio. Así tenemos, por ejemplo, example1.com que apunta a ex1.example.com y example2.net que apunta a ex2net.example.com.

Y un día quieres que todos los dominios tengan su propio certificado de Let’s Encrypt y es un problema porque como todos los subdominios dependen del mismo dominio principal y Let’s Encrypt no soporta wildcards, no hay mucho que hacer.

Así que te planteas hacer que sea Apache (2.4) el que se coma el marrón y te pones a mirar cómo hacerlo. El VirtualHost ya tiene declarado el dominio y los subdominios y también cuenta con el certificado para si mismo. Y no encontré la forma de meterle el resto de certificados, ni declarando otros VirtualHosts para que cada dominio tuviese su certificado, ni de ninguna forma.

Al final lo dejas por un tiempo porque no, ni apache es la solución ni Let’s Encrypt soporta wildcards y ya estás bastante cansado de batallar con molinos multisite.

La solución

El 13 de marzo, con dos meses de retraso sobre la fecha previstas, Let’s Encrypt anuncia que soporta wildcards y empiezas con las pruebas.

Primero, el VirtualHost de apache debe reconocer todos y cada uno de los dominios y subdominios, incluídos los dominios asociados:

Luego, se invoca a cerbot con los parámetros adecuados:

Con el parámetro --manual deberemos añadir un registro TXT _acme-challenge con una clave al DNS de cada uno de los dominios especificados para que sean capaces de comprobar que realmente eres el propietario del dominio.

Los dominios a incluir en el certificado se especifican por separado, todos ellos, con un -d, incluyendo el wildcard para los subdominios de example.com.

Se cambia la declaración del certificado porque es un fichero diferente, se reinicia apache y esta parte está lista. Cada dominio y subdominio tiene un certificado nominal válido, firmado por Let’s Encrypt y se puede acceder a cada uno, por HTTP y HTTPS.

En WordPress es una buena idea activar el plugin Really Simple SSL que convierte todas las peticiones HTTP en HTTPS para que todo el contenido esté cifrado.

Bonus track: redirigir las peticiones HTTP a HTTPS

Añadir estas pocas líneas al VirtualHost de apache:

Sólo he necesitado un año y pico y que Let’s Encrypt admitiese los wildcard para poder tener los dominios funcionando a mi gusto. Y si, seguro que hay una docena (o más) de mejores formas de hacerlo pero, sinceramente, no he encontrado ninguna otra.

 

Preguntando a Richard Stallman en Oviedo sobre “Hurd” y la postura de la FSF respecto a Debian GNU/Linux

El pasado 24 de febrero, el equipazo humano de Hack Lab Pica Pica volvió a hacer posible (no sin grandes esfuerzos y un “justito” apoyo institucional según lo que pude ver ) que RMS estuviese en Oviedo tres años después de su primera conferencia en la ciudad.

Tras años escribiéndome con Alexis, uno de los integrantes de Pica Pica y gran impulsor del Software Libre, por fin pudimos ponernos cara en Palacio de Congresos “Ciudad de Oviedo”. Sobre la conferencia de RMS, la crónica de víctorhck de su intervención en 2015, sigue siendo perfectamente válida, en mi caso era la primera vez que le veía en directo y es una experiencia 100 % recomendable.

Sobre las fotos del post. Intenté hacer fotos decentes tanto para el post, como para pasárselas a Pica Pica y me llevé la EM1 para hacerlas con ayuda de Patri.  La licencia es la misma que la de la web, una CC, pero pediría por favor que si alguien las usa, respete la petición de RMS al comenzar su charla pidiendo no compartirlas en Facebook e Instagram.

Y es que, aún conociendo y siguiendo muchas de sus proclamas desde hace años, no es lo mismo cuando le ves a unos metros de ti y escuchas con plena atención. Vaya por delante que ni soy, ni tampoco pretendo ser tan coherente como él con la filosofía que promulga. Sólo él es Richard Stallman y podrás estar de acuerdo o no con sus ideas, pero nadie puede negar que es consecuente hasta límites inalcanzables para el resto con lo que proclama. En una Sociedad tan plagada de “falsos profetas”, RMS es esa excepción que confirma (afortunadamente) la regla.

Os dejo una galería con varias imágenes que hablan por si mismas..

El pase de diapositivas requiere JavaScript.

Conectó a tope con el público asistente con un estilo claro, cercano y sin rodeos. Fue muy interesante ver las reacciones de gente que nunca le había escuchado, o que no estaba al tanto de su nivel de activismo social.

Tras la conferencia llegó el momento de las preguntas y en mi caso, formulé dos. Intentaré reproducir mis preguntas y sus respuestas de la forma más exacta posible ya que hay matices que cuentan, con la objetividad por delante (creo que la gente de Pica Pica grabó la charla y quizás también las preguntas y respuestas. Si cuando te pases por aquí Alexis ves pertinente aclarar algo, no dudes en dejarlo en los comentarios, gracias de antemano;).

P: ¿En qué estado se encuentra el proyecto GNU/Hurd?

Me respondió que tras 6 años de un desarrollo intenso, el Linux Kernel era la mejor opción para acompañar a GNU, que era totalmente libre y que no veía problema.

P: ¿Cómo están actualmente las relaciones entre la FSF y Debian respecto a que siga sin estar en las distros recomendadas por la Free Software Foundation?

 

Leer más …