GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Turtl Server - Evernote Alternative - en Ubuntu 16.04

Turtl es una alternativa segura y encriptada de Evernote. Es una aplicación de código abierto que le permite tomar notas, marcar sitios web, almacenar documentos, compartir contraseñas con sus compañeros de trabajo. Turtl le permite tomar el control de todos sus datos en el lugar privado. El código fuente de la aplicación turtl client y turtl server está disponible en github, y puede implementarlo manualmente en su servidor.

En este tutorial, le mostraremos paso a paso cómo instalar y configurar el servidor Turtl en Ubuntu 16.04. El servidor Turtl está escrito en Common Lisp, por lo que debemos instalar Common Lisp y QuickLisp en el sistema. Este tutorial también cubrirá cosas como la instalación de Libuv en un sistema Ubuntu y la instalación de RethinkDB para el almacén de datos de Turtl.

Requisitos previos

  • Ubuntu 16.04
  • Privilegios de raíz

Qué haremos

  1. Instalar dependencias
  2. Instalar Libuv en Ubuntu 16.04
  3. Instalar y configurar RethinkDB
  4. Instalar Common Lisp
  5. Instalar Quicklisp
  6. Descargar e instalar el servidor Turtl
  7. Ejecutar Turtl Server como servicio
  8. Instalar y configurar Apache como proxy inverso para Turtl
  9. Pruebas

Paso 1 - Instalar dependencias

Actualice el repositorio de su servidor Ubuntu, luego actualice el sistema.

sudo apt update
sudo apt upgrade

Ahora instale algunos paquetes requeridos, incluidos git, wget y automake, usando el comando apt a continuación.

sudo apt install wget curl libtool subversion make automake git -y

Paso 2:instalar Libuv en Ubuntu 16.04

Libuv es una biblioteca de soporte multiplataforma enfocada en E/S asíncrona. El servidor de Turtl necesita esta biblioteca y la instalaremos manualmente.

Vaya al directorio '/usr/local/src' y descargue el archivo comprimido Libuv usando wget.

cd /usr/local/src
wget http://dist.libuv.org/dist/v1.9.1/libuv-v1.9.1.tar.gz

Extraiga el archivo libuv.tar.gz y elimínelo.

tar -xf libuv-v1.9.1.tar.gz
rm libuv-v1.9.1.tar.gz

Vaya al directorio libuv.

cd libuv-v1.9.1

Ahora cree la biblioteca Libuv con autotools:ejecute todos los comandos a continuación.

sh autogen.sh
./configure
make
make install

Y cuando esté completo, obtendrá el resultado como se muestra a continuación.

La biblioteca Libuv se ha agregado al sistema en el directorio '/usr/local/lib'.

Paso 3:instalar RethinkDB

RethinkDB es una base de datos orientada a documentos distribuida y de código abierto, y el almacén de datos del servidor Turtl utiliza RethinkDB.

En este paso, instalaremos RethinkDB desde su propio repositorio oficial.

Agregue el repositorio RethinkDB al sistema.

echo "deb http://download.rethinkdb.com/apt $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list

Descargue y agregue la clave.

wget -qO- https://download.rethinkdb.com/apt/pubkey.gpg | sudo apt-key add -

Actualice el repositorio de Ubuntu e instálelo usando los comandos apt a continuación.

sudo apt update
sudo apt install rethinkdb -y

Una vez completada la instalación, copie la configuración predeterminada en el directorio '/etc/rethinkdb/instances.d'.

cp /etc/rethinkdb/default.conf.sample /etc/rethinkdb/instances.d/default.conf

Y reinicie el servicio rethinkdb.

systemctl restart rethinkdb
systemctl enable rethinkdb

RethinkDB se ha instalado en el sistema Ubuntu; verifíquelo con el siguiente comando.

netstat -plntu

Paso 4:instalar Common Lisp (CL)

Common Lisp (CL) es un dialecto del lenguaje de programación Lisp, es un miembro de la familia Lisp.

En este paso, instalaremos manualmente 'Clozure Common Lisp' en el sistema Ubuntu.

Vaya al directorio '/usr/local/src' y descargue 'Clozure Common Lisp' para Linux 86/64-bit usando el comando wget.

cd /usr/local/src
wget https://github.com/Clozure/ccl/releases/download/v1.11.5/ccl-1.11.5-linuxx86.tar.gz

Extraiga el archivo comprimido 'Common Lisp' y elimínelo.

tar -xf ccl-1.11.5-linuxx86.tar.gz
rm -f ccl-1.11.5-linuxx86.tar.gz

Y obtendrá el directorio 'ccl'. Vaya al directorio 'ccl' y copie el archivo bin 'ccl64' en el directorio '/usr/local/bin'.

cd /usr/local/src/ccl
sudo cp scripts/ccl64 /usr/local/bin/

Ahora verifique la instalación de 'Common Lisp' ejecutando el comando 'ccl64'.

ccl64

Y asegúrese de obtener el resultado que se muestra a continuación.

'Clozure Common lisp' ahora ha sido instalado. Y si desea salir del shell 'ccl', escriba el comando de salida como se muestra a continuación.

(quit)

Paso 5:instalar Quicklisp

Quicklisp es un administrador de bibliotecas para Common Lisp. Necesitamos 'Quicklisp' instalado en el sistema porque Turtl carga todas sus dependencias a través del sistema Quicklisp.

Antes de instalar Quicklisp, agregue un nuevo usuario para la instalación de turtl.

useradd -m -s /bin/bash turtl
passwd turtl

Ahora inicie sesión como usuario 'turtl'.

su - turtl

Descargue los archivos 'quicklisp.lisp' y 'asdf.lisp' usando los comandos wget/curl de la siguiente manera.

wget https://common-lisp.net/project/asdf/asdf.lisp
curl -O https://beta.quicklisp.org/quicklisp.lisp

Ahora cargue 'quicklisp.lisp' usando el comando 'ccl64' como se muestra a continuación.

ccl64 --load quicklisp.lisp

Y obtendrá la línea de comando de shell 'ccl'. Instale Quicklisp usando el siguiente comando.

(quicklisp-quickstart:install)

El comando descargará todas las dependencias para Quicklisp. Y una vez que esté completo, agregue el archivo 'init' de Quicklisp y cargue 'asdf.lisp'.

(ql:add-to-init-file)
(load (compile-file "asdf.lisp"))

Cuando esté completo, salga del shell 'ccl'.

(quit)

Y elimine los archivos 'quicklisp.lisp' y 'asdf.lisp'.

rm -f asdf.lisp quicklisp.lisp

Quicklisp se ha instalado en el sistema con el usuario 'turtl'.

Paso 6:descarga e instalación de turtl

En este paso, instalaremos Turtl a través del usuario 'turtl' que ya hemos creado.

Inicie sesión como usuario 'turtl' y clone el código fuente de turtl usando git.

su - turtl
git clone https://github.com/turtl/api.git

Vaya al directorio 'api' y cree un nuevo archivo llamado 'launch.lisp' usando vim.

cd /home/turtl/api
vim launch.lisp

Pegue la siguiente configuración allí.

(pushnew "./" asdf:*central-registry* :test #'equal)
(load "start")

Guardar y salir.

A continuación, necesitamos instalar algunas dependencias para turtl. Vaya al directorio quicklisp y clone todas las dependencias.

cd ~/quicklisp/local-projects

Descargue todas las dependencias ejecutando los comandos a continuación.

git clone git://github.com/orthecreedence/cl-hash-util
git clone git://github.com/orthecreedence/vom
git clone git://github.com/orthecreedence/cl-async
git clone git://github.com/orthecreedence/cffi
git clone git://github.com/orthecreedence/wookie
git clone git://github.com/orthecreedence/cl-rethinkdb
git clone git://github.com/orthecreedence/cl-libuv
git clone git://github.com/orthecreedence/drakma-async
git clone https://github.com/Inaimathi/cl-cwd.git

Y edite el archivo de inicio de CCL.

vim /home/turtl/.ccl-init.lisp

Vaya al final y pegue la siguiente configuración allí.

(cwd "/home/turtl/api")
(load "/home/turtl/api/launch")

Guardar y salir.

Ahora copie la configuración predeterminada de turtl 'config.lisp y edítela usando vim.

cp /home/turtl/api/config/config.default.lisp /home/turtl/api/config/config.lisp
vim /home/turtl/api/config/config.lisp

En la línea 'server-bind', agregue la dirección IP del host local como se muestra a continuación.

defvar *server-bind* "127.0.0.1"

Guardar y salir.

Una vez completada toda la configuración, inicie el servidor turtl con el comando 'ccl64'.

ccl64

El comando instalará la API del servidor Turtl y, cuando esté completa, obtendrá el resultado que se muestra a continuación.

Presione 'Ctrl + c' para salir.

El servidor Turtl ahora se ejecuta bajo la dirección IP local "127.0.0.1" con el puerto "8181".

Abra una nueva terminal de su servidor, luego compruébelo usando el comando netstat a continuación.

netstat -plntu

Y deberías obtener el resultado como se muestra a continuación.

Paso 7:ejecutar Turtl como servicio

La API del servidor Turtl se ha instalado a través del usuario 'turtl'. Y para este tutorial, ejecutaremos turtl como un servicio.

Vaya al directorio '/lib/systemd/system' y cree un nuevo archivo 'turtl.service' usando vim.

cd /lib/systemd/system/
vim turtl.service

Pegue la siguiente configuración del servicio turtl allí.

[Unit]
Description=turtl_service
After=network.target mysql.service postgresql.service

[Service]
User=turtl
ExecStart=/usr/local/bin/ccl64
Restart=always

[Install]
WantedBy=multi-user.target

Guardar y salir.

Ahora recarga systemd e inicia el servicio turtl usando el comando systemctl.

systemctl daemon-reload
systemctl start turtl

Habilite el servicio turtl para que se inicie cada vez que se inicie el sistema y verifique el estado del servicio turtl.

systemctl enable turtl
systemctl status turtl

Debería obtener el resultado como se muestra a continuación.

El servicio turtl ahora se ejecuta como un servicio en el sistema Ubuntu.

Paso 8:configurar el proxy inverso de Apache para Turtl

En este tutorial, ejecutaremos el servidor Turtl bajo el servidor proxy inverso Apache/httpd. El servidor Turtl se ejecuta en la IP local '127.0.0.1' con el puerto '8181', y ahora instalaremos el servidor web Apache2 y lo configuraremos como un proxy inverso para el servidor Turtl.

Instale apache2 con todas las dependencias usando el comando apt a continuación.

sudo apt install -y apache2 apache2-utils apache2-bin libxml2-dev

Una vez completada la instalación, habilite algunos complementos necesarios ejecutando los siguientes comandos.

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_ajp
sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2enmod headers
sudo a2enmod proxy_balancer
sudo a2enmod proxy_connect
sudo a2enmod proxy_html
sudo a2enmod xml2enc

Ahora reinicie el servidor web Apache2 y habilítelo para que se inicie siempre en el momento del arranque.

systemctl restart apache2
systemctl enable apache2

A continuación, agregue un nuevo host virtual turtl creando un nuevo archivo de configuración 'turtl.conf' en el directorio 'sitios disponibles'.

Vaya al directorio '/etc/apache2/sites-available' y cree una nueva configuración 'turtl.conf' usando vim.

cd /etc/apache2/sites-available/
vim turtl.conf

Pegue la configuración del host virtual a continuación.

<VirtualHost *:80>

ServerName turtl.hakase-labs.co
ServerAdmin [email protected]

ProxyPreserveHost On
ProxyRequests off
ProxyPass / http://127.0.0.1:8181/ Keepalive=On timeout=1600
ProxyPassReverse / http://127.0.0.1:8181/

LogLevel info

CustomLog ${APACHE_LOG_DIR}/turtl.log combined

</VirtualHost>

Guardar y salir.

Ahora active el host virtual turtl y verifique la configuración.

a2ensite turtl
apachectl configtest

Asegúrese de que no obtenga ningún error, luego reinicie el servidor web apache2.

systemctl restart apache2

Verifique el servicio usando el comando netstat.

netstat -plntu

Y asegúrese de obtener el servidor web Apache en el puerto 80 y el servidor API de Turtl en el '127.0.0.1' con el puerto '8181'.

Paso 9 - Prueba

Descarga la aplicación cliente turtl y ábrela.

Haga clic en 'Crear una cuenta'.

Ahora haga clic en el botón 'Recordaré mi inicio de sesión'.

Escriba su dirección de correo electrónico con contraseña y el nombre de dominio de su servidor Turtl.

Y haga clic en el botón 'Unirse'.

Ahora obtendrá la nueva ventana:haga clic en el botón 'omitir este paso'.

Y obtendrá el panel de control de tortugas en blanco. Puede agregar una nueva nota, contraseña, archivos, marcadores, etc.

La instalación del servidor Turtl en Ubuntu 16.04 se completó con éxito.


Ubuntu
  1. Cómo instalar MySQL en Ubuntu 18.04

  2. Cómo instalar el servidor de Minecraft en Ubuntu 18.04

  3. Cómo instalar Nginx en Ubuntu 20.04

  4. Cómo instalar MariaDB en Ubuntu 20.04

  5. Cómo instalar Zimbra 8.6 en el servidor Ubuntu 14.04

Cómo instalar el servidor Ubuntu 20.04 LTS

Cómo instalar Cockpit en Ubuntu 20.04

Cómo instalar el servidor VNC en Ubuntu 20.04

Cómo instalar el servidor HTTrack en Ubuntu 20.04

Cómo instalar Plex Media Server en Ubuntu 16.04 Server/Desktop

Cómo instalar el servidor RethinkDB en Ubuntu 20.04 LTS Focal fossa