El esperado tutorial: Cómo instalar WriteFreely en una Raspberry pi 3 en 10 pasos

Actualización del 19/12/2018. Esto sirve sólo hasta la versión 0.5. La versión 0.6 requiere otros cambios debido al soporte para sqlite

Si, antes hice un post de prueba y prometí un tutorial.

Antes que nada quiero agradecer a los desarrolladores de Write.as por la ayuda ya que fue a ellos quienes consulté.

En el repositorio github de WriteFreely se ofrecen junto con el código fuente, los binarios para correr en linux, windows y macOS en arquitecturas de 64 bits y para el resto de las arquitecturas se tiene que compilar el código fuente. La cuestion es que compilar el código en una raspberry pi (arquitectura ARM) no es recomendable porque aunque se pueda instalar golang en una RPI 3, la compilación usa muchos recursos y toma mucho tiempo.

Entonces la alternativa es que en una máquina convencional se compilen las fuentes para la arquitectura y luego se pase el binario a la carpeta de la raspberry donde se va a hostear writefreely. Así que voy a comenzar.

  1. En la RPI ejecutar el comando cat /proc/cpuinfo. Es para saber la versión de la arquitectura que usa la RPI. Una RPI 3 B usa la arquitectura ARMv7

  2. Descargar en la RPI el último lanzamiento de writefreely para linux y extraer el tar.gz. No hacer nada más allí hasta después.

  3. En la máquina convencional (voy a usar una máquina con linux), tener instalado golang (se requiere la versión 1.10 o superior).

  4. Suponiendo que la variable de entorno GOPATH apunta a $HOME/go, crear la carpeta go en el home.

  5. Crear la carpeta bin en la carpeta go

  6. Aquí viene lo importante: ejecutar este comando en la carpeta go env GOARCH=arm GOARM=7 go get github.com/writeas/writefreely/cmd/writefreely. Con esto descargará las fuentes de writefreely y las compilará para la arquitectura ARMv7. Si la RPI usa otra versión, es solo cambiar la variable de entorno GOARM.

  7. Después de terminado, el ejecutable estará en la carpeta bin. Hay que mover el binario writefreely a la RPI, y reemplazar el binario writefreely que hay en la carpeta con el binario writefreely que recién compilaste.

  8. Se recomienda aplicar chmod 755 a ese nuevo binario writefreely

  9. Revisar que todo anda en orden ejecutando ./writefeely -v en la RPI. Si todo sale bien, te mostrará la versión de writefreely.

  10. Y listo, lo único que queda es seguir la guía de instalación.

Una cosa más. Este proceso se tiene que repetir cada vez que se quiera actualizar writefreely.