Hace ya algún tiempo estuve buscando aplicaciones para notas y me encontré con Turtl Notes que actualmente es una aplicación que uso tanto en Android como en mis ordenadores. Esta aplicación me encanta y por eso estoy colaborando con la traducción en catalán y castellano. Aún así, uso el servidor que hay por defecto y hace ya algún tiempo estuve buscando como tener mi propio servidor de Turlt.

Requisitorios

Primero necesitamos instalar estos paquetes:

Instalación de libuv

Libuv es una librería que nos permitirá sincronizar los datos. Para instalar esta librería nos posicionamos en la siguiente ruta:

Nos descargamos la librería:

La descomprimimos:

Y ahora compilamos:

Instalación de RethinkDB

Ahora toca instalar RethinkDB, que es una base de datos a tiempo real para guardar las notas y demás información. Para instalar RethinkDB en Debian añadimos este repositorio:

Nos descargamos la llave pública y la añadimos:

Y actualizamos repositorios:

Finalmente instalamos RethinkDB:

Utilizaremos la configuración por defecto, así que copiaremos la configuración default:

Y reiniciamos el servicio:

Instalación Common Lisp

Common Lisp es un lenguaje, y tiene muchas implementaciones diferentes. Turtl funciona bien en CCL, nos posicionamos:

Y descargamos el paquete:

Copiamos los ficheros en la carpeta /usr/local/bin para poder ejecutar los scripts:

Iniciamos lisp con el comando:

Para salir:

Instalación de QuickLisp

QuickLisp es un administrador para la biblioteca de Common Lisp. Creamos un usuario no privilegiado para Turlt:

Descargamos dos paquetes, QuickLisp y ASDF:

Instalamos los paquetes:

Se iniciará una shell especifica para lisp, y desde allí instalaremos los paquetes:

Para salir:

Eliminamos los paquetes instalados:

Instalar Turtl Server

Ahora toca instalar la API de Turtl, nos lo descargamos de GitHub:

Creamos un fichero para escribir comandos de lisp:

Copia lo siguiente:

Salimos del usuario no privilegiado y volvemos al usuario root:

Ahora instalamos algunas dependencias  que faltan el QuickLisp (puede haber paquetes innecesarios en la lista, pero no lo tengo muy claro). Nos posicionamos:

Descargamos de GitHub:

Modificamos el fichero de inicialización de ccl:

Copiamos lo siguiente al final de todo:

Creamos un fichero de configuración para Turlt:

Lo editamos:

Configuramos los parámetros *site-url*, *admin-email* y *email-from*, con nuestra URL (o IP), y dos correos electrónicos.

Ahora es el momento de iniciar ccl con el usuario turtl, que debería de cargar y construir la API automáticamente:

Ejecutamos:

Aquí es cuando Turlt creará un esquema para la DB y lo lanzará. A partir de ahora deberías de poder acceder al servidor a través de un cliente con el server que has configurado anteriormente (algo así como http://turtl.tudominio.com:8181). Si lo intentas hacer en el navegador recibirás un error “Authentication failed.” ya que actualmente no hay una interfaz web.

Salimos haciendo Ctrl + C y salimos de Lisp. Ahora volvemos al usuario root:

Configuramos Turtl para que inicie al cargar:

Añade al final pero por encima del “exit 0” lo siguiente:

Reiniciamos y comprobamos que nuestro cliente se conecta a nuestro servidor de Turtl:

Yo he configurado una IP local, ya que todo esto lo estoy haciendo desde una maquina virtual, y mi configuración es la siguiente:

Creamos un usuario nuevo y podremos iniciar sesión sin problema:

 turtl-2 turtl-3
Configurando el cliente para utilizar nuestor servidor 
Iniciando sesión con nuevo usuario (que hemos registrado anteriormente)

Actualmente estamos usando HTTP, lo ideal sería utilizar HTTPS, por lo que se debería de configurar el servicio Turtl a través de Apache o Nginx para implementar HTTPS.

 

Fuentes:  Running TurtlLibuv DocumentationCommon-LispRethinkDB DocumentationQuickLisp Documentation | Guide – How To install Turlt | portallinux

¿Quién está en línea?

Hay 34557 invitados y ningún miembro en línea