WordPress Gutenberg poblemas con ngnix

Con las últimas versiones de wordpress, nos venía un gran cambio, uno que nadie esperaba. Tu ibas a tu panel de control con toda tranquilidad y le dabas a actualizar tu aburrida versión de wordpress, como el que actualiza el aburrido mundo de plugins que envuelve wordpress para esperar que acabara la aburrida actualización como siempre y pusiera que se había actualizado a la aburrida nueva versión de wordpres dentro de tu aburrida vida.

Insensato… eres un insensato joven padawan.. porque el puto potente Gutenberg te estaba esperando jadeando con desesperación tras la puerta de tu habitación, para que le dieras al dichoso botón de actualizar, para entrar como un pato mareado en una cacharrería irrumpiendo en tu cuarto y en tu vida. Gutenberg… está aquí.

Porque a los que dedicamos esfuerzo, tiempo y neuronas a escribir un blog al mundo, a pesar de que el mundo no se pare ni a mirar tu mísero escaparate que con tanto mimo preparas, tenemos nuestro corazoncito y que nos actualicen los themes, bueno está.. que nos actualicen los plugins, bueno está… Pero que nos toquen el editor. Ahí no!.. Ahí no!!! Ahí sr. wordpress te la has jugado.. el editor que tantos años nos ha acompañado.. eso ha sido como cuando tus padres de pequeño te rebozan pescado y te dicen que era pollo… ah! no! sr. wordpress, ahí te la has jugado y lo sabes.

Tanto es así, que en el momento cero, al ver el sudor frío y el pánico en la cara de los blogeros que se han actualizado, salió un plugin como un salvavidas caído desde el mismísimo cielo, para que nos agarrásemos bien fuerte y pudiéramos asumir que nos habían tocado el editor. Desde nuestras seguras cuevas, abrazando al plugin, vimos como nuestro viejo, estable, soso, pero tan amado editor de wordpress, había sido mancillado. Porque si son capaces de tocarnos el editor, ya no hay límite de tocamiento esperable.

Porque si te han tocado el editor, ya no sabes que esperar en cada actualización de wordpress, igual actualizas y el blog de linux se transforma ahora en un blog de cupcakes super cuqui lleno de colorido y de cosas cuquis, en vez de esta angosta cueva de tonos insulsos, adornados con textos y letras divagantes de una mente un tanto inquieta.

Pero pasado un tiempo, si algo nos caracteriza a la gente que usamos linux.. es que tenemos los huevos cuadrados, que tienden a salirse y ponerse encima de la mesa, haciendo cosas osadas en una tarde insulsa lluviosa.. como actualizar una nueva distribución, instalarte kde, o que se yo… probar de quitar el plugin de editor clásico de wordpress y poner el Gutenberg. Es hora de asomar el morro desde la comodidad de nuestro insulto editor y caminar hacia la luz. Sigue la luz mi joven padawan. La luz te ama. Te cegará al principio, pero si entornas un poco los ojos, podrás ver más allá.

Para los que tenemos algún blog en wordpress, no vas a tener problema, Gutenberg te ama, lo activas y listo. Vas a un entorno lleno de cosas preciosas de una edición amplia y novedosa, una vida llena de bloques de embarga, rápidamente te das cuenta que a lo mejor Gutenberg es bien. Y entonces, joven padawan, es cuando decides ponerlo en los blogs que tienes fuera de los servidores de wordpress.

Insensato.

Si tienes un maravilloso servidor nginx instalado, funcionando sobre php-fpm para servir las páginas en php, que sepas que tu felicidad es posible que acabe truncándose, con un “ande vas tu a instalar eso” y posiblemente te salga un error como este, cada vez que intentes escribir un post nuevo.

Básicamente, el error viene porque algo no le gusta. Y lo que concretamente no le gusta es una parte de la configuración de nginx. En el fichero de configuración de ese site, vas a las lineas

    location / {
            try_files $uri $uri/ /index.php;
    }

Y las cambias por:

   location / {
            try_files $uri $uri/ /index.php$is_args$args;  
    }

Reinicias tu flamante nginx y listo.. Un mundo de edición en bloques inunda tu mente.


Anuncios

Ubuntu y Snap

Hace tiempo que se escucha y se habla sobre snap, que para los que no sepan de que se trata es un sistema de empaquetado de apps, creado y diseñado por Canonical.

La diferencia principal entre el sistema de paquetes que usa ubuntu por defecto, con paquetes de extensión .deb y los snap, es que estos últimos dentro del empaquetado de la app, vienen incluida las dependencias que necesita para poder ejecutarse de modo autónomo.

Por lo tanto, un software instalado por snap, siempre que se haya empaquetado correctamente, debería de funcionar sin problemas de dependencias en cualquier sistema. Incluso después de actualizar el sistema (y por lo tanto las librerías que este utiliza) debería de seguir funcionando.

Esta es su principal virtud y problema. Virtud, porque estás apostando por un programa estable y funcional 100%, problema, porque no ocupará lo mismo un programa cuando usa librerías del sistema compartidos entre todos, que si cada programa viene con sus propias librerías, a parte del rendimiento.

El espacio extra que puede necesitar el sistema utilizando aplicaciones Snap, no es algo que nadie le de mucha importancia, estamos en unos tiempos en que el GB de disco suele ser barato y no nos preocupa mucho si un programa ocupa el doble, mientras tengamos estabilidad a la hora de poder ejecutarlo en cualquier momento.

No es así tanto el rendimiento, que hay muchos sitios donde se hace hincapié en una gran diferencia de rendimiento, por lo menos la primera vez que se ejecuta (en una sesión) una aplicación instalada por snap. No se si es la escusa a los que algunos se aferran frente a los cambios o frente a la imposición por las que a veces Canonical apuesta.

Da la sensación, que muchos están obcecados a que linux tenga que ejecutarse en una maquina escasa de recursos. Algunos no ven más allá de que Unity era un escritorio feo. Cuando Unity ha aportado (de manera más o menos acertada) una evolución, una necesidad de que no nos quedamos estancados en un linux arcaico, en buscar otras maneras de hacer las cosas.

Snap nació de esa necesidad. Da igual en que versión me estás ejecutando, no me importa. Me da igual si en una noche de locura te da por actualizar a la versión develop de Ubuntu. Las aplicaciones te va funcionar.

Para los que desarrollamos, nos encontramos con la tesitura de.. necesito php5, php6, php7 instalados en la misma máquina, necesitamos varias versiones de tomcat y jdk en la misma máquina, versiones de nodejs y unos cuantos eclipses. Porque tiene que ser todo eso un infierno de dependencias. Porque si quieres instalar un IDE, no te viene con todo lo necesario para ejecutarse, sea donde sea, no me cuentes rollos de dependencias, quiero ejecutarlo y que funcione, tengo una máquina potente, dámelo.

Vamos hacia un mundo de dockers. Un mundo virtualizado de máquinas en la nube que no vemos físicamente ni falta nos hace. Un mundo en entornos de desarrollo encapsulados y versionados al dedo. Snap, viene como anillo a ese dedo.

Instalando SNAP

¿Cómo instalar snap? desde un terminal, con un simple:

sudo apt install snapd

En este caso, ya lo tenemos listo y funcionalmente activo. Porque en las últimas versiones de Ubuntu (y por lo que se ha levantado tanto revuelo), te vienen varios elementos instalados a través de snap.

Comandos en SNAP

¿Cómo sabemos que paquetes tenemos instalados con snap?

snap list

En este caso, tenemos unos paquetes que vienen instalados por defecto, nos indican los nombre de paquete, versión, revisión, seguimiento, quien los controla. En este caso, todos del Sr. Canonical.

Vamos a instalar algo con snap

Primero de todo, es ver si hay algún paquete disponible para instalar, en este caso vamos a buscar si tenemos disponible vlc. Para ello utilizamos un:

snap find vlc

Entre los programas encontrados, vemos que está VLC media player, que es lo que buscamos. Concretamente la versión 3.0.6. Miremos más información sobre el paquete con:

snap info vlc

Podemos ver información sobre el paquete. En este caso, no nos informa de las dependencias que necesita el paquete, ya que ya las incorpora. Nos muestra las versiones disponibles en cada canal.

Si hacemos la instalación básica con snap, sería tal que así:

sudo snap install vlc

El se encarga de descargar todo y configurar el sistema para que encuentre correctamente todo.

Si lo lanzamos lo podemos ejecutar con normalidad.

Pero que pasaría si en vez de la versión estable, 3.0.6 nos gustaría probar y jugar un rato con la versión de desarrollo para ver cuales serían los avances y por donde va el desarrollo. Pues nos fijamos en el channel edge, van por la versión 4.0.0-dev-xxx, así que vamos a probar, desintalamos la versión que tenemos ahora con un:

sudo snap remove vlc

Y volvemos a instalar la aplicación, pero esta vez indicando que queremos la del canal edge. Así que vamos a ellos con un:

sudo snap install vlc --channel edge

Todo fino y sin problema alguno..

Y ahí lo tienes, sin mancillar las librerías del sistema. Sin comprometer la estabilidad del sistema.

Snap es una herramienta más que dispones ahí, para cuando la necesitas. Puedes usar tu sistema de paquetes normal .deb de toda la vida y complementarlo perfectamente con snap, donde este se queda corto, en necesidades concretas que snap se ajusta perfectamente a su cometido. Y eso, señores, es maravilloso, pese a quien le pese.