Últimas entradas

Sistemas

Cómo formatear e instalar Debian + OMV en un NAS WD My Cloud Home

Hace ya un tiempo adquirí un NAS de la marca Western Digital que encontré a muy buen precio en Amazon para sustituir un disco duro en red viejo que tenía también de la marca WD. En concreto, me hice con el WD My Cloud Home de 6TB que tenía muy buena pinta calidad-precio.

Como el disco viejo seguía funcionando, no prioricé la tarea de migración hasta hace unos días. Cuando por fin saco el dispositivo de la caja y lo pongo en marcha, me sorprende lo fácil que es todo. Aunque una cosa que no me convencía era que tenía que crearme una cuenta en mycloud.com. En seguida, desde una interfaz web, estoy en el disco.

Sin embargo, pronto me doy cuenta que… no es lo que quería. El My Cloud Home, definitivamente, está hecho para gente que quiere algo fácil y sin líos y a mí se me queda corto. Es todo tan fácil y sencillo, que en el MCH no puedes configurar absolutamente nada. Ni configurarle una IP estática, ni crear volúmenes samba, ni acceder a un panel avanzado. No intentes buscarlo, NO se puede.

Desesperado buscando soluciones y viendo que todo el mundo se queja de lo mismo (un ejemplo en Amazon), que no el My Cloud Home no es un NAS al uso como siempre hemos conocido, busco alternativas.

Finalmente, localizo un hilo muy interesante en la propia comunidad de Western Digital donde se enlaza con un foro ruso que deja algo de esperanza para este limitadísimo NAS. En ese enlace, una persona ha descubierto cómo está montado el Sistema Operativo en el disco duro del WD y ha conseguido compilar y formatear o flashear un SO con Debian y OpenMediaVault para la configuración del NAS.

La instalación es sencillísima y el resultado excelente. He pasado de tener un NAS que no me servía para absolutamente nada (incluso fomentan el uso de la app de WD para manejar los ficheros, cosa que no es aceptable), a tener un NAS completo. El sistema es incluso mejor que el anterior NAS que tenía, de Western Digital también.

(más…)

Sistemas

Corregir Kernel_Task con cpu +100% de forma continua en MacOS superior a BigSur

Poseo un MacBook Air de 2014 que jamás me dio un problema hasta que un buen día arrancó con los ventiladores a miles de revoluciones y el ordenador pasó prácticamente a ser inútil, ya que el uso de la CPU se mostraba continuamente por encima del 100%. Abriendo el Monitor de Actividad, puedes comprobara que el culpable de este problema es el kernel_task.

Si haces una búsqueda rápida en Google, comprobarás que siempre que un equipo de Mac tiene un problema físico, el kernel_task se dispara y los motivos son diversos. Desde problemas de refrigeración, corrupción del Sistema Operativo, de algún driver de terceros o, como en mi caso, algún fallo con la placa base.

Existen diferentes métodos para pasarle un test hardware al equipo que en este artículo no voy a tratar porque son fáciles de localizar en internet.

En mi caso, mi Macbook Air ha sufrido un fallo físico en los sensores de temperatura. Esto hace que el sistema, preventivamente y a pesar de que aparentemente el equipo no esté caliente, provoca que el kernel_task (proceso base del sistema operativo MacOS) empiece a comerse la CPU y provoque que los ventiladores se pongan a máximas revoluciones con el objeto de proteger el hardware.

Comprobé que instalando Windows, el sistema era completamente estable y lo planteé como solución definitiva. Sin embargo, prefiero manejarme con MacOS y empecé a investigar cómo podía solucionarlo. A modo resumen, localicé la forma: hay que desactivar (eliminar) una serie de drivers del sistema para que el kernel_task ignore los sensores de temperatura e instalar Macs Fan Control para delegar el control de los ventiladores en algún sensor de temperatura que continúe operativo.

En este artículo, os voy a enseñar a desactivar el driver IOPlatformPluginFamily.kext, responsable de poner preventivamente el kernel_task a una CPU superior a incluso 400%. Ya que con el cambio que ha provocado MacOS BigSur, el procedimiento clásico que se encuentra por internet, no es viable. MacOS, para protegerse, ahora monta el sistema operativo en Read Only y eso hace que eliminar el kext no sea suficiente, hay que hacer que persista el cambio.

(más…)

Desarrollo

Qué es y cómo implementar la Cache API de Service Worker

Si estás en pleno desarrollo de una webapp, app progresiva o web con necesidad de características y funcionamiento sin internet, puede que éste sea tu artículo. Voy a intentar explicar de forma clara y sencilla cómo hacer una webapp offline utilizando el Service Worker Cache API.

Muchas veces nos enfrentamos ante el reto de montar una aplicación web con capacidades offline o con el objetivo de que se ejecute sin conexión a internet. Esto puede ser para que la app sea completamente funcional sin internet encolando las operaciones para posteriormente sincronizar con el servidor, o para activarse un modo «offline» de mínimos (habiendo cacheado contenidos vistos anteriormente, tipo Twitter).

Si has llegado a este artículo, probablamente estés intentando implementar una webapp capaz de ejecutarse offline y estás buscando información sobre cómo cachear recursos en la memoria del navegador. Seguramente, como me pasó a mí, hayas buscando bibliografía sobre la Cache API porque la compatibilidad con el viejo sistema WebCache se está empezando a perder.

Los ejemplos y artículos que he visto por internet no terminan de explicar con palabras sencillas y tampoco cuentan los detalles a tener en cuenta para utilizar este sistema que probablemente todavía no hayas conseguido poner en marcha. Voy a intentar resumirlo y ponértelo fácil. (más…)

Sistemas

Instalar certificados autofirmados en Apache con candado verde

Si tienes un entorno de entornos de desarrollo y quieres hacer una que trabaje sobre HTTPS con un certificado autofirmado y que aparezca como «segura» (con candado) en el navegador (Google Chrome), habrás comprobado que ya no vale con instalar el certificado de la página en tu ordenador.

Google Chrome ahora verifica el CA del certificado. El típico procedimiento de generar un certificado autofirmado, sin CA, ya no vale. En este artículo, voy a mostrar el procedimiento para generar un certificado firmado por una Autoridad Certificadora Raíz que vamos a generar nosotros. Después, lo que haremos será instalar el certificado CA en el Sistema Operativo.

Antes de nada, aclarar que he seguido la respuesta de Oleg en este hilo de stackoverflow. Ya sabéis, stackoverflow es la biblioteca mundial de recursos y fragmentos de código donde encontramos el 99% de nuestras respuestas.

Empezamos.

(más…)

Desarrollo Sistemas

Plugins imprescindibles para una web básica en WordPress

Si bien es cierto que mi desempeño profesional está lejos de relacionarse con el desarrollo de webs en WordPress, cuento con una amplia experiencia en el campo web ya que es uno de mis hobbies, sigo muy de cerca este sector desde que apenas tenía 12 años y me gusta estar al día.

Por supuesto, esta entrada es subjetiva. Existen artículos mucho más completos que este. Pero recientemente me han pedido ayuda o he desarrollado la página web de alguna amistad y me han pedido consejos sobre qué plugins considero imprescindibles. Esta entrada no tiene otro objetivo que ese, hacerlo público y además, servirme a mí también como referencia.

Antes de nada, quiero remarcar lo importantísimo que es mantener un sitio web basado en WordPress actualizado. Tanto a nivel de plugins como del propio software de WordPress. Desde que esta herramienta adquirió popularidad para el desarrollo web, ha sido objeto de continuos ataques. Hackear un sitio WordPress no actualizado es muy sencillo. Con lo que recomiendo activar las actualizaciones automáticas y revisar periódicamente aquellos plugins o actualizaciones que no se ejecuten de forma automática.

A continuación, mi lista de plugins de WordPress que considero imprescindibles para instalar junto con la base.

(más…)

Desarrollo

Cómo crear y desarrollar una aplicación en IPS Community Suite

Siempre he estado muy ligado a la plataforma IPS Community Services desde que decidí dar el salto de phpBB3 a IPB (Invision Power Board) con el proyecto/comunidad FMSite.net en 2007. Desde entonces, ya que el software que proveían lo permitía, he desarrollado diferentes aplicaciones para amoldar y extender las funcionalidades de mi comunidad.

Durante los últimos años, en IPS han estado trabajando en la versión 4.0 de su software, que implicaba una reescritura desde cero del código y, por tanto, de la API y forma de creación de aplicaciones para la comunidad. Lo que implica que tendría que rehacer todo el código de las aplicaciones que desarrollé para mi proyecto.

Hace unas semanas me puse manos a la obra y he de decir que la creación de aplicaciones de terceros en la versión 4.0 de IPS ha mejorado sobremanera con respecto a la versión 3.4. El proceso se ha simplificado muchísimo y, aunque aún la documentación respecto a la plataforma escasea, he sido capaz de reprogramar las aplicaciones sin documentación.

Como no es fácil iniciarse, en esta entrada pretendo explicar una guía en castellano para crear una aplicación desde cero en la suite IPS.

(más…)

Desarrollo

Script para monitorizar carga CPU en un servidor Linux

Esta es la historia de hace unos meses, cuando migré un sitio web con mucha carga y visitantes simultáneos a un servidor más económico. Durante los primeras semanas teníamos problemas de carga de la web, sobre todo de madrugada, por tareas de mantenimiento, generación de backups, etc.

Por ello, consideré oportuno la necesidad de algún script que monitorizara la carga de CPU periódicamente con el objetivo de poder ver una gráfica y determinar qué puntos exactamente eran los críticos. De ésta forma, analizando el inicio de los momentos de mucha carga de CPU, podría casar la hora de comienzo con la tarea de CRONTAB del sistema.

En éste artículo voy a contar cómo montar un script muy muy sencillo que almacenará en un fichero, cada cinco minutos, la carga de CPU y desde un fichero PHP con el generador de gráficas highcharts de javascript pintaremos una gráfica con los datos recopilados. Gracias a esto, fui capaz de mover las tareas programadas a otros momentos y repartir la carga para que la web no fallase.

(más…)

Actualidad

Raspberry Pi B+: una revisión importante de la Raspberry Pi

La Raspberry Pi lleva algo más de dos años a la venta y es el producto estrella entre las placas de su formato habiendo alcanzado ya la cifra de tres millones de ventas. No sólo la calidad/precio de esta placa es algo que hace decantarse a la gente por ella sino la impresionante comunidad que tiene a sus espaldas.

La semana pasada, la página web oficial de la Raspberry Pi anunciaba una revisión del modelo B que han sacado a la venta con el nombre de Raspberry Pi modelo B+, y ya es posible adquirirla de forma inmediata.

Este «nuevo» modelo no es una revolución. Mantiene las mismas características hardware y especificaciones generales del modelo anterior pero experimenta un gran cambio en ajustes de formato y diseño, añadiendo entre otras cosas, dos puertos USB adicionales. El cambio visual es importante, se ha reducido su tamaño y se han modificado las posiciones de las entrada/salidas.

(más…)

Sistemas

Instalar MongoDB sobre una máquina con ARM con Linux

Hoy voy a mostrar cómo instalar paso a paso MongoDB en una máquina con procesador ARM. Estos comandos, y el repositorio que vamos a utilizar, están originalmente orientados a la Raspberry Pi, pero son compatibles con otros dispositivos con la misma arquitectura de procesador.

Pese a que MongoDB es exigente en hardware y recursos, llevo tiempo queriendo montar un entorno de desarrollo tal y como lo montaría en cualquier PC-servidor con Linux. Sin embargo, la arquitectura ARM aún no está tan extendida como para instalar cualquier servicio y no es sencillo recopilar información para preparar todo el entorno.

(más…)

Desarrollo

Instalar y ejecutar Node.js y npm en una máquina ARM con Linux

Instalar Node.js en un ARM con Linux, como bien podría ser una Raspberry Pi o un Utilite Pro, a través de la herramienta apt-get, instala la versión 0.6.12 que, a día de hoy, es una versión muy primitiva. Si queremos una versión posterior, no nos quedará más remedio que compilar el source code para nuestra máquina.

ARM es una arquitectura de procesadores que siempre ha ido ligada y está enfocada al bajo consumo por lo que su foco de ventas son los smartphones. Sin embargo, cada vez se están viendo más en otro tipo de dispositivos. Dispositivos económicos y de bajo consumo como pueden ser la Raspberry Pi o el Utilite Pro de Compulab, que dispongo.

Debido a que esto es una nueva tendencia, aún existen pocos Sistemas Operativos compatibles y pocos, también, los programas instalables. Al menos, la forma natural de instalación, aún no es tan sencilla como en los x86.

En esta entrada explicaré cómo hacer funcionar NodeJS en su versión v0.11.9 y la herramienta npm v1.3.15. Las siguientes líneas son compatibles para cualquier máquina ARM, ya sea una Raspberry Pi, un Utilite Pro, Cubox, CubieBoard…
(más…)