Cambiar Permisos en Linux

En AWS LightSail, si queremos subir archivos desde SFTP vamos a tener que cambiar algunos permisos. Se hace de esta forma:

sudo chown bitnami DIRECTORIO
sudo chmod +w DIRECTORIO

Para restablecer los permisos originales una vez que hayamos añadido o modificado archivos a través de SFTP, tenemos que hacerlo así:

sudo chown daemon:daemon DIRECTORIO
sudo chmod 0775 DIRECTORIO

Es importante limitar dichos permisos para evitar problemas de seguridad.

Mis Plugins preferidos en WordPress

Llevo ya 12 años utilizando WordPress y he hecho tantas instalaciones y migraciones que lo conozco como si fuera mi propia casa. Durante todo este tiempo he probado cientos de plugins y esta es la lista de los mejores y más indispensables:

      • All-in-One WP Migration. Probablemente el único plugin que funciona perfectamente cuando tienes que migrar tu WP entre hostings o símplemente si quieres hacer una copia de seguridad con todo (a diferencia de las herramientas nativas de importar/exportar que no copian plugins ni configuraciones ni algunos medios).
      • Akismet Anti-Spam. Imprescindible para detener los comentarios de spam en nuestros posts.
      • Jetpack by WordPress. Incluye varios servicios importantes para que tu sitio web funcione perfectamente. Se incluyen estadísticas, compartición en redes sociales, mejora de rendimiento, botones de Me Gusta, seguridad, etc.
      • WP Offload SES Lite. Se utiliza para conectar WP a AWS Simple Email Service para permitir el envío y recepción de correos. Esta es una alternativa mucho mejor que tener instalado nuestro propio servidor de email para evitar problemas de seguridad.
      • WooCommerce. Es algo más que un plugin. Es el comercio electrónico que más crece ahora mismo. Está repleto de funcionalidades y frente a otros productos como Magento o Prestashop es mucho más fácil de configurar y está nativamente integrado con WP por lo que solo necesitarás una única plataforma para tener tu web, tu eCommerce y tu blog.
      • Login with Ajax. Se utiliza para añadir un widget de login en la librería de widgets de tu sitio. Después de su activación, puedes añadirlo en una de las barras laterales o símplemente para reemplazar la página estándar de login de WP. Tiene un funcionamiento sencillo y limpio.
      • WP User Frontend. Es perfecto para crear formularios y convertir sus datos en posts o páginas. Tiene muchas opciones de configuración y es muy potente y fiable.
      • Site Kit by Google. Sin duda, este es el mejor plugin que puedes instalar para conectar Google Analytics en WordPress. Es mucho mejor que otras opciones, como MonsterInsights, en los cuales cedes el control de tu cuenta de Analytics a empresas externas. Site Kit, además, no solo viene con Analytics sino que también integra Search Console, AdSense y PageSpeed Insights.

Habrás notado que no he añadido nada relacionado con SEO y es que soy un gran amante del posicionamiento natural a base de interacciones, comentarios y actualización de contenido. Las cosas más imprescindibles como los mapas XML ya los genera automáticamente Jetpack.

Cambiar la URL en WordPress con SSH y VIM

Dejando de lado todo el proceso de creación de la URL, configuración de las Hosted Zones y cambios de DNS que es bastante trivial, especialmente si sabes hacerlo, uno de los puntos donde podemos quedar parados es en la página de configuración de WordPress a la hora de cambiar las direcciones. El problema suele ser que no es posible hacerlo desde la propia página y tenemos que ir a cambiar los parámetros al archivo wp-config.php.

Este paso es especialmente crítico cuando añadimos un certificado SSL para securizar nuestra página porque aunque parezca que funciona bien y que aparece el candado junto a la URL en nuestro navegador, el cambio no estará perfectamente finalizado hasta que tengamos las URLs actualizadas en wp-config.php mostrando https en vez de http.

Si disponemos de una conexión SSH, como en mi caso donde utilizo Lightsail de AWS en una instancia de Linux, podemos hacer el cambio usando el editor VIM y realizando los siguientes pasos:

      • Conectar a la cónsola de Linux con SSH
      • Ir al directorio apps/wordpress/htdocs/
      • Abrir el archivo con vim wp-config.php
      • Localizar las líneas define(‘WP_SITEURL’, ‘http://’ . $SERVER[‘HTTPHOST’] . ‘/‘); y define(‘WP_HOME’, ‘http://’ . $SERVER[‘HTTPHOST’] . ‘/‘);
      • Cambiar el texto en rojo con las nuevas URLs o símplemente añadir S al http si hemos instalado un certificado SSL
      • No olvidarse de añadir / al final de la URL.
      • Una vez realizado el cambio, tenemos que pulsar la tecla ESC y después teclear :wq para grabar y salir.
      • Finalmente cerramos la sesión SSH y ya debería estar hecho el cambio.

Si no queremos utilizar VIM, otra opción es hacerlo a través de FTP, accediendo al archivo y modificándo el archivo.

Automatizar luces con Alexa

Continúo automatizando cosas con Alexa y esta vez, más allá de controlar enchufes como explicaba en este post, lo que necesitaba era poder encender las dos luces de la terraza a la vez (están separadas unos 8 metros) y teniendo en cuenta que no tienen interruptores sino simplemente un cable que sale de la pared con corriente.

Lo que he hecho es utilizar un Sonoff TH10 directamente instalado en una de las cajas de empalmes de la pared, escondido a la vista y protegido de las inclemencias meteorológicas. El plan es no solamente controlar una de las luces sino también poder monitorizar la temperatura exterior. Para esto, he pasado el cable de la sonda desde la caja hacia el exterior, siguiendo la guía de los cables preexistentes.

Sonoff TH10 en la caja de empalmes

En la otra caja he instalado un Sonoff Mini DIY, un mini interruptor controlado también por wifi de tan solo 4 x 4 x 2 cms que se puede poner en cualquier lado de forma muy discreta.

La forma de conectar ambos Sonoffs es muy similar: «L In» y «N In» se conectan a la regleta con corriente eléctrica mientras que «L Out» y «N» se conectan a la lámpara, foco o lo que queramos encender. Una de las novedades más interesantes del Sonoff Mini DIY es que permite conectar un interruptor a S1-S2 para poder encender y apagar luces a través de wifi o del interruptor manual. En el siguiente esquema se muestra la forma de conectar dos interruptores conmutados.

Una vez que tenemos los dos Sonoffs conectados en las dos cajas de empalmes, ya solamente tenemos que activarlos en la aplicación eWeLink y posteriormente instalar en nuestra aplicación Alexa el skill «eWeLink Smart Home«. Y ya está, así de fácil.

Alexa detectará automáticamente todos los dispositivos adicionales que conectemos a eWeLink y podremos crear rutinas como «Alexa, enciende todas las luces» o «Alexa, enciende la luz izquierda de la terraza».

Grabar vídeo en Windows 10

Nunca fue tan fácil grabar vídeo con Microsoft Windows 10. De forma nativa, el sistema operativo viene con una función avanzada para grabar nuestra pantalla en forma de «pantallazo» o símplemente como vídeo.

Para activarla basta con pulsar el icono de Windows más la letra G (Windows+G).

La funcionalidad forma parte de la barra de juegos de Windows (Xbox) ya fue la funcionalidad fue inicialmente concebida para jugadores.

Al hacerlo, se abre automáticamente un cuadro de diálogo que muestra la hora junto a varios botones de acceso rápido entre los que encontramos el de «Capturar», que una vez pulsado abre el cuadro que se ve en la imagen en la parte superior derecha, y que permite capturar la pantalla o iniciar la grabación con el tercer icono (el de la bolita blanca).

El Nuevo Tejado de Turch

Finalmente, llegó el momento de renovar el tejado de la casa de Turch, nuestra tortuga, que vive desterrada en nuestra terraza y que precisa de iluminación artificial ultravioleta (simulando el sol) y mantener una temperatura estable por encima de 22 grados para que no se nos congele.

Con una sierra de calar, he serrado un trozo de madera con el tamaño de su terrario y le he hecho dos agujeros, uno para la bombilla de calor y el otro para los ultravioletas. Por debajo de la tapa he puesto un medidor de temperatura WIFI para saber en todo momento como va el calorcito dentro de su casa.

Las dos bombillas están conectadas a enchufes WIFI y controladas a través de Alexa. La luz ultravioleta se enciende al amanecer y se apaga al anochecer automáticamente gracias a las «Rutinas» del asistente de Amazon.

Además, con una bisagra, he hecho una especie de tapa con su tirador para poder abrir fácilmente al terrario cada día para ponerle la comida (hojas de lechuga variadas).

El resultado es bastante bueno y la temperatura se ha incrementado en unos 6-8 grados de media. Turch parece estar bastante satisfecha.

Scripts Básicos en Bitnami

El título, para ser preciso, debería ser algo así como «Comandos y scripts básicos para Bitnami si utilizas Lightsail en Amazon Web Services cuando instalas blueprints , por ejemplo, de WordPress o Magento» pero obviamente era muy largo. Sin embargo, y en términos generales, estos scripts también funcionarán fuera de AWS para otros proveedores de hosting que utilicen Bitnami.

Yo diría que los 3 comandos que tenemos que tener más a mano cuando realizamos la instalación de una de sus más de 130 aplicaciones que tienen en catálogo son los siguientes:

Recuperar usuario y contraseña después de la primera instalación cat ./bitnami_credentials
Instalar certificado SSLsudo /opt/bitnami/bncert-tool
Eliminar el banner inferior derecho de Bitnami de nuestras instalacionessudo /opt/bitnami/apps/APPNAME/bnconfig.disabled –disable_banner 1

Donde APPNAME se tiene que sustituir por el directorio donde está instalada nuestra aplicación. Generalmente será WordPress, Magento, etc…

En algunas instalaciones puede ser «bnconfig» en vez de «bnconfig.disabled».

Cada uno de ellos puede requerir algunos pasos o preguntas pero en general su ejecución es bastante sencilla.

Hosted Zones en Route 53

Cuando registras dominios con AWS y quieres vincularlos a instancias de EC2 o Lightsail, tienes que crear «Hosted Zones» utilizando Route 53. Una Hosted Zone tiene diferentes «Record Sets» y hay que ser cuidadoso para crearlos bien, especialmente en lo referente a los prefijos «www.» u otros.

En mi caso, estos son los Record Sets que tengo creados:

Una mala configuración puede hacer que nuestra web funcione mal e incluso que deje de funcionar si instalamos un certificado SSL y redirigimos tráfico de «www.» al dominio simple.

No hace falta decir que la IP, en mi caso la 3.127.33.7, tiene que ser fija.

YAM YM-101

Hace unos días monté en el techo de mi comedor un foco de luz que se alimenta de la lámpara principal y que se enciende y apaga utilizando un mando a distancia y el interruptor inalámbrico YAM YM-101 que me ha costado unos 8€ en Amazon y que viene con ese mando.

El montaje es muy sencillo: uno de los cables negros y el azul se tienen que conectar al foco mientras que el otro negro y el rojo a los dos polos de corriente de 220V o en mi caso a los dos cables de la otra lámpara. El cable blanco funciona como antena y no se tiene que conectar.

Aunque aun no he conseguido entender porqué el mando a distancia tiene tantos botones, el encendido y apagado funciona perfectamente con dos de ellos y el único aspecto mejorable es que cuando recibe electricidad, su estado inicial es encendido y no apagado. Es decir, cuando enciendo la lámpara principal, el foco también se enciende y tengo que apagarlo con el mando si no lo quiero mantener encendido.

Una recomendación importante es que no intentes seguir las instrucciones que aparecen impresas en el YM-101 porque he sido incapaz de entender el inglés en que está escrito todo y que lo he releído bastantes veces. Si alguien es capaz de descifrarlo, quizás arroje luz sobre el funcionamiento de todos los botones del mando.

Migrar WordPress de Bluehost a AWS Lightsail

Como comentaba en mi último post, hace unos días terminé de migrar mi blog en WordPress de Bluehost a AWS Lightsail.

Aunque no es tan simple como un «siguiente-siguiente-siguiente», siguiendo algunos detalles clave, se puede completar en unas pocas horas. Estos son los pasos a seguir:

      • Crear una instancia en Lightsail, por ejemplo en Linux, y seleccionar la instalación de WordPress.
      • Una vez creada la instancia, crear una IP fija en vez de la IP dinámica que se asigna por defecto.
      • En Bluehost, instalar el plugin «All-in-One WP Migration«. Lo utilizaremos para realizar una copia de todos los posts, archivos, imágenes, configuraciones, plugins, etc.
      • Crear una copia del contenido de WordPress en Bluehost utilizando el plugin anterior. El archivo tenemos que guardarlo en nuestro ordenador.
      • Ir al WordPress que hemos instalado en Lightsail e instalar «All-in-One WP Migration».
      • Asegurar que hemos creado en el WP de Lightsail los usuarios que utilizaremos posteriormente.
      • Importar el archivo de copia que hemos guardado en nuestro ordenador anteriormente. Probablemente tengamos que descargarnos una extensión del plugin (gratuita) para poder importar archivos grandes.
      • Comprobar con la IP fija de la instancia de Lightsail que todo funciona correctamente, tanto a nivel de lectura como de administrador de WP.
      • Iniciar la migración del dominio desde Bluehost utilizando Route53. Este paso puede durar algunos días.
      • Mientras esperamos que Bluehost autorice el movimiento del dominio, crear las zonas DNS que queramos utilizar en Route53.
      • Una vez que ha finalizado el movimiento del dominio, tenemos que instalar un certificado de seguridad para habilitar HTTPS. Se puede hacer fácilmente a través de un script de Bitnami. Es gratuito.

Y ya está. Algunos de los pasos son algo complejos pero hay mucha información a través de Bitnami por lo que no es excesivamente complicado. Los dos pasos más delicados son la exportación e importación de datos de WP y la transferencia del dominio.