GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar Turtl Server Evernote Alternative en CentOS 7

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 y más. Turtl le permite tomar el control de todos sus datos en un lugar privado. El código fuente de la aplicación turtl client y turtl server está disponible en github; puede implementarlo manualmente en su servidor.

En este tutorial, le mostraremos paso a paso cómo instalar y configurar el servidor Turtl en CentOS 7. El servidor Turtl está escrito en Common Lisp, por lo que debemos instalar Common Lisp y QuickLisp en el sistema. Este tutorial cubrirá algunos temas, incluida la instalación de Libuv en el sistema CentOS 7 y la instalación de RethinkDB para el almacén de datos turtl.

Requisitos

  • Cent OS 7
  • Privilegios de raíz

Lo que haremos

  1. Instalar herramientas de desarrollo
  2. Instalar Libuv en CentOS 7
  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 herramientas de desarrollo

Para esta guía, necesitamos los paquetes de 'Herramientas de desarrollo' instalados en el sistema CentOS.

Instale 'Herramientas de desarrollo' usando el comando yum a continuación.

sudo yum group install "Development Tools"

Espere a que se instalen todos los paquetes de 'Herramientas de desarrollo'.

Paso 2:instalar Libuv en CentOS 7

Libuv es una biblioteca de soporte multiplataforma enfocada en E/S asíncrona. Esta biblioteca es necesaria para Turtl Server y la instalaremos manualmente.

Antes de instalar manualmente 'Libuv' en el sistema, instalemos openssl y openssl-devel.

yum -y install openssl openssl-devel

Ahora vaya al directorio '/usr/local/src' y descargue el archivo libuv.targz usando wget.

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

Extraiga libuv.tar.gz y elimine el maestro.

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

Vaya al directorio 'libuv'.

cd libuv-v1.9.1/

Instale Libuv usando las herramientas de desarrollo ejecutando todos los comandos a continuación.

sh autogen.sh
./configure
make
make install

Cuando esté completo, ejecute el siguiente comando.

sudo ldconfig

La biblioteca Libuv se ha instalado en el sistema CentOS 7.

Paso 3:instalar y configurar RethinkDB

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

En este paso, instalaremos RethinkDB desde su propio repositorio.

Agregue el repositorio RethinkDB para CentOS 7 al sistema.

sudo wget http://download.rethinkdb.com/centos/7/`uname -m`/rethinkdb.repo \
          -O /etc/yum.repos.d/rethinkdb.repo

Se ha agregado el repositorio RethinkDB, ahora instálelo usando el comando yum de la siguiente manera.

sudo yum -y install rethinkdb

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 cree un nuevo archivo de servicio para RethinkDB usando el editor vim.

cd /etc/systemd/system
vim rethinkdb.service

Pegue la siguiente configuración allí.

# Automatically generated by systemd-sysv-generator

[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/init.d/rethinkdb
Description=LSB: This starts a set of rethinkdb server instances.
Before=multi-user.target
Before=multi-user.target
Before=multi-user.target
Before=graphical.target
Before=shutdown.target
After=remote-fs.target
Conflicts=shutdown.target

[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/etc/init.d/rethinkdb start
ExecStop=/etc/init.d/rethinkdb stop

Ahora vuelva a cargar el sistema systemd e inicie el servicio RethinkDB.

systemctl daemon-reload
systemctl start rethinkdb

RethinkDB ahora está instalado y ejecutándose en el sistema CentOS 7.

Compruébalo usando el siguiente comando.

systemctl status rethinkdb
netstat -plntu

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

Paso 4 - Instalar Common Lisp

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 CentOS.

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 'Clozure Common Lisp' y elimine el archivo maestro.

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/bin'.

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

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

ccl64

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

El 'Lisp común de Clozure' ahora está instalado. Y si desea salir del shell 'ccl', escriba el comando de salida.

(quit)

Paso 5:instalar Quicklisp

Quicklisp es un administrador de bibliotecas para Common Lisp. Necesitamos el '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 el comando wget/curl.

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

Se ha instalado Quiclisp.

Paso 6:descarga e instalación del servidor Turtl

En este paso, instalaremos Turtl bajo el usuario 'turtl' que hemos creado en la parte superior.

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 '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 todos 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 de la línea, pegue allí la siguiente configuración.

(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' y escriba '(salir)' para salir.

Paso 7:ejecutar Turtl Server como servicio

La API del servidor Turtl se ha instalado con el 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/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

Agregue el servicio turtl al tiempo de arranque 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 CentOS 7.

Paso 8:instalar y configurar Apache/httpd como proxy inverso para Turtl

En este tutorial, ejecutaremos el servidor Turtl bajo el servidor proxy inverso Apache/httpd. El servidor Turtl ahora se ejecuta bajo 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 utilizando el siguiente comando yum.

yum -y install httpd mod_proxy_html

Una vez completada la instalación, agregue un nuevo archivo de host virtual para Turtl.

Vaya al directorio '/etc/httpd/conf.d' y cree un nuevo archivo de host virtual 'turtl.conf'.

cd /etc/httpd/conf.d/
vim turtl.conf

Pegue la siguiente configuración de host virtual allí.

<VirtualHost *:80>

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

ProxyPreserveHost On
ProxyRequests off
RewriteEngine On

<Proxy http://localhost:8181>
Order deny,allow
Allow from all
</Proxy>

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

LogLevel info

CustomLog /var/log/httpd/turtl.log combined

</VirtualHost>

Guardar y salir.

Ahora verifique la configuración de Apache y asegúrese de que no haya ningún error.

apachectl configtest

Ahora, reinicie el servicio httpd y permita que se inicie cada vez que se inicie el sistema.

systemctl restart httpd
systemctl enable httpd

El servidor web Apache2/httpd se instaló en el sistema CentOS 7 y actúa como un proxy inverso para la aplicación Turtl en el puerto 8181.

Compruébalo usando el comando netstat a continuación.

netstat -plntu

Paso 9 - Prueba

Descarga la aplicación cliente turtl y ábrela.

Haga clic en el enlace '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á una nueva ventana:haga clic en el botón 'omitir este paso'.

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

La instalación del servidor Turtl en el sistema CentOS 7 se completó con éxito.


Cent OS
  1. Cómo instalar el servidor de Minecraft en CentOS 7

  2. Cómo instalar Nginx en CentOS 8

  3. Cómo instalar PostgreSQL en CentOS 8

  4. Cómo instalar el servidor Teamspeak 3 en CentOS 8

  5. Cómo instalar ProFTPD en CentOS 7

Cómo instalar Shoutcast Server en CentOS 8

Cómo instalar Lighttpd en CentOS

Cómo instalar VestaCP en CentOS 6

Cómo instalar el servidor VNC en CentOS 7

Cómo instalar el servidor de Minecraft en CentOS 6

Cómo instalar el servidor VNC en CentOS 6