GNU/Linux

40 entradas

GNULinux

GNU/Linux: montando un sistema de despliegue manual con Git

Dejo aquí un pequeño howto o codekata para configurar un despliegue manual de una aplicación mediante Git. Con este codekata se instala el repositorio en un directorio, mientras que los ficheros de trabajo que finalmente corren la aplicación estarán en otro directorio diferente. Internamente los sistemas de despliegue automatizado usan configuraciones de este estilo para hacer lo que se llama Continuous Deployment (CD). Para este post sólo se trabaja la forma manual de hacer el despliegue. Que si quisieras, podrás automatizarlo añadiendo luego webhooks a tu repositorio, y recibir estos webhooks para lanzar este despliegue. Clonado del repositorio Suponiendo que queremos poner la aplicación y repositorio en el mismo directorio, vamos al directorio y podemos ejecutar lo siguiente: Si estamos en el directorio /ruta/al/directorio/ entonces se crearán los siguientes directorio: /ruta/al/directorio/el_repo/ /ruta/al/directorio/la_app/ No tienen que existir los directorios para que Git pueda crearlos. Comandos de despliegue machacando modificaciones

Logo de Wordpress

WordPress no publica los posts a la hora programada

Este es un howto con la solución, a un problema que me ha costado un poco resolver en un WordPress que administro. Se publicaban los posts en otra hora distinta a la programada. Además, si le daba a publicar inmediatamente, se quedaba como programado para publicar, y se publicaba dos horas más tarde. No he podido encontrar casi información por Internet, al final encontré el porqué pasaba esto, y aquí que estoy compartiéndolo por si alguien lo necesita también 😉

Probando web en el emulador de Android

GNU/Linux: aceleración hardware para el emulador de Android

Hoy traigo un pequeño howto para activar y disfrutar la aceleración hardware con el emulador de móviles Android. Parte del post también sirve para disfrutar de esta aceleración con otro software de virtualización como VirtualBox o VMWare. También traigo cómo tener disponible en el escritorio accesos directos a los móviles emulados que necesites. Así no hay que arrancar el Android Studio completo si estás programando webs, también podrás probar todo el Javascript que use funciones de dispositivos móviles como cámara, GPS, conectividad, etc.. y también sirve para probar PWAs! Este post contiene los pasos probados para GNU/Linux compatible con Debian, o derivados como Ubuntu, Ubuntu Mate, etc.

Wordpress multisite

WordPress multisite: una instalación, infinitos sitios web

Activar la opción de WordPress multisite te puede hacer muy eficiente a la hora de explotar esta herramienta profesionalmente. Por otro lado es brutalmente eficaz para mantener segura y estable a una red de sitios WordPress que tengas que mantener. Los clientes finales te lo agradecerán, ya que no tendrán que realizar tareas muy técnicas para asegurarse de que la web siga online. Y por otro lado no tendremos que recorrer cada sitio, uno a uno, para mantenerlos en buen estado. Puedes tener una única instalación de WordPress, pero con infinitas páginas web. Todos los websites se podrían administrar desde un panel de control principal. Y los usuarios podrían trabajar, o visitar cada sitio web, como si de sitios independientes se trataran. Una única instalación de WordPress que mantener actualizada, securizada, optimizada. Un sitio desde donde administrar los plugins y temas disponibles para toda la red de páginas web. Una sola instalación en un único servidor. Ahorrarás en costes de servidor, en costes de mantenimiento, menos problemas y más recursos para todos.

Raspberry Pi & GNU/Linux: montando un sistema embebido con una interfaz web

Ya hace tiempo que no escribo con tantos problemas que está habiendo con el COVID19.. así que aquí estoy de nuevo tratando de no perder las buenas costumbres. Aquí que traigo un codekata para la Raspberry Pi. Se trata de un tutorial para montar un sistema embebido con una interfaz web en una Raspberry Pi. Imaginemos por ejemplo que la Raspberry maneja una serie de relés que encienden y apagan dispositivos, se podrían manejar desde una web. O imaginemos quizá que esta Raspberry te pudiera hacer una encuesta desde una tableta, y en función a tus respuestas, iluminar el café, chocolate o perfume de la tienda que más te va a gustar. O quizá quieres montar una API REST para interactuar con varias Raspberry que tenemos conectadas en la red de tu casa o local, para hacer algo más complejo. Así se podría coordinar las tareas en red que le corresponda a cada Raspberry, desde alguna unidad central. Si te parece interesante, sigue leyendo que este es tu post.. 😉

GNU/Linux: optimizando servidores

AWS & GNU/Linux: optimizando aplicaciones web

Aquí estoy de nuevo dejando mi granito de arena en todo esto de la informática. Hoy traigo un howto para la optimización de servidores web. Simplemente, son unas propuestas de configuraciones totalmente estándar y disponibles en las documentaciones oficiales. Pero que mejoran mucho el rendimiento de aplicaciones web, hechas en lenguajes como HTML, CSS, Javascript, PHP, Java, Python, SQL, DQL.. Este post es para optimizar aplicaciones web del tipo WordPress, Prestashop, Magento, Drupal, Symfony.. etcétera. Es una visión general de cómo funcionan las cosas a bajo nivel. Digo a bajo nivel, porque están muy de moda las arquitecturas server-less, o los servidores auto-administrados, aunque también necesiten su optimización. Pero aquí nos remangaremos la camisa, y nos embarraremos hasta el cuello mientras que vamos investigando, aprendiendo y aplicando, para cada proyecto en concreto. Este es un post para los que nos gusta trabajar los servidores, para los que nos gusta ponernos manos a la obra, para experimentar nosotros mismos con los proyectos, rascando cada milisegundo para conseguir que todo vaya lo más rápido posible..

Python poniendo la radio

Raspberry Pi & GNU/Linux: poner la radio automáticamente con Python

Hoy dejo aquí un pequeño code-kata para poner la radio automáticamente con el lenguaje de programación Python. Lo he probado con GNU/Linux funcionando en una Raspberry Pi, que además de poner la radio hace otras cosas, pero eso es otra historia.. 😉 Para el que no conozca las Raspberry Pi, son pequeños ordenadores, de muy bajo coste, orientados a realizar sistemas embebidos, prototipos, o incluso sistemas informáticos completos en producción. Es decir, tenemos capacidad de procesamiento como con un ordenador, con RAM, CPU, almacenamiento en disco en forma de tarjeta MicroSD, USBs, HDMI, red wifi y ethernet, etcétera. Y funciona con apenas un cargador de móvil de microUSB..

Symfony, enviando muchos muchos emails

Symfony: cómo enviar muchos, muchos, muchos emails gratis

Ya estoy por aquí otra vez. Hoy traigo un code-kata muy divertido, también peligroso 😱 si lo ejecutas sin medida, o sin configurarlo bien 😀 Pero estos códigos fuentes pueden hacerte ahorrar mucho dinero, a tí o a la empresa donde trabajes 🤑 No es una tarea complicada, simplemente se trata de enviar muchos emails, muchos, del orden de miles o decenas de miles de emails al mes. Esta es una tarea tan antigua como programar el propio envío de los emails dentro de los servidores de correo electrónico. Es decir, en este post tienes el cómo hay que programar el envío de emails, lo más profesionalmente posible. No sólo en Symfony con PHP, sino también para otros lenguajes de programación, y en otro tipo de aplicaciones. En CMSs como Magento por ejemplo, esto ya viene incluso construido y listo para trabajar, simplemente hay que usarlo. Pero si lo estas construyendo tú mismo, este es tu post 😉

GNU/Linux Tux

GNU/Linux: lanzar un Shell Script si no está ejecutándose

Dejo aquí un pequeño truco para asegurarnos de que un programa continúa ejecutándose en un sistema GNU/Linux. En el caso de que dicho programa no se esté ejecutando entonces lo lanza de nuevo. Para configurar esto se puede hacer creando un servicio del sistema. Pero en este post he hecho un Shell Script para simplificar el trabajo. Es decir, en este post se configura una tarea programada de usuario, que comprueba y lanza un Shell Script si no está en ejecución.

Manejo de keypad en Raspberry con Python

Raspberry Pi: manejando un keypad desde Python

Estoy poniéndome al día en el lenguaje de programación Python. Sí.. jeje.. ahora con Python.. Hay que reciclarse, lo disfruto, y tenía en hoja de ruta a Python ya que está muy de moda. Recuerdo que coincidí en un trabajo con un compañero que decía que Python era sólo para los románticos. Pues si es para los románticos, yo me he enamorado 😀 Estoy haciendo mis primeros pinitos, y veo que es un gran lenguaje de programación.

Raspberry Pi, manejando un keypad de 4x4 botones

Raspberry Pi: manejando un keypad de 4×4 mediante Shell Script

Aquí traigo un pequeño code-kata en Shell Script para manejar un keypad conectado a una Raspberry Pi. Es un código fuente que configura, mediante el sistema de ficheros, el acceso a los PINs del GPIO. Este pequeño programa, se puede traducir a cualquier otro lenguaje de programación. Se puede traducir directamente, ya que el manejo del GPIO en la Raspberry Pi, mediante el sistema de ficheros, es compatible e independiente de cualquier lenguaje de programación.