GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Turtl Server - Alternative Evernote - sur Ubuntu 16.04

Turtl est une alternative Evernote sécurisée et cryptée. C'est une application open source qui vous permet de prendre des notes, de mettre en signet des sites Web, de stocker des documents et de partager des mots de passe avec vos collègues. Turtl vous permet de prendre le contrôle de toutes vos données dans le lieu privé. Le code source de l'application client turtl et serveur turtl est disponible sur le github, et vous pouvez le déployer manuellement sur votre serveur.

Dans ce tutoriel, nous allons vous montrer étape par étape comment installer et configurer le serveur Turtl sur Ubuntu 16.04. Le serveur Turtl est écrit en Common Lisp, nous devons donc installer Common Lisp et QuickLisp sur le système. Ce didacticiel couvrira également des éléments tels que l'installation de Libuv sur un système Ubuntu et l'installation de RethinkDB pour le magasin de données Turtl.

Prérequis

  • Ubuntu 16.04
  • Privilèges root

Ce que nous allons faire

  1. Installer les dépendances
  2. Installez Libuv sur Ubuntu 16.04
  3. Installer et configurer RethinkDB
  4. Installer Common Lisp
  5. Installer Quicklisp
  6. Télécharger et installer Turtl Server
  7. Exécuter Turtl Server en tant que service
  8. Installer et configurer Apache en tant que proxy inverse pour Turtl
  9. Test

Étape 1 - Installer les dépendances

Mettez à jour votre référentiel de serveur Ubuntu, puis mettez à jour le système.

sudo apt update
sudo apt upgrade

Installez maintenant certains packages requis - y compris git, wget et automake - à l'aide de la commande apt ci-dessous.

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

Étape 2 - Installer Libuv sur Ubuntu 16.04

Libuv est une bibliothèque de support multiplateforme axée sur les E/S asynchrones. Cette bibliothèque est nécessaire au serveur Turtl et nous l'installerons manuellement.

Allez dans le répertoire '/usr/local/src' et téléchargez le fichier compressé Libuv en utilisant wget.

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

Extrayez le fichier libuv.tar.gz et supprimez-le.

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

Allez dans le répertoire libuv.

cd libuv-v1.9.1

Construisez maintenant la bibliothèque Libuv avec les outils automatiques - exécutez toutes les commandes ci-dessous.

sh autogen.sh
./configure
make
make install

Et quand il sera terminé, vous obtiendrez le résultat comme indiqué ci-dessous.

La bibliothèque Libuv a été ajoutée au système dans le répertoire '/usr/local/lib'.

Étape 3 - Installer RethinkDB

RethinkDB est une base de données open source et distribuée orientée document, et le magasin de données du serveur Turtl utilise RethinkDB.

Dans cette étape, nous allons installer RethinkDB à partir de son propre référentiel officiel.

Ajoutez le référentiel RethinkDB au système.

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

Téléchargez et ajoutez la clé.

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

Mettez à jour le référentiel Ubuntu et installez-le à l'aide des commandes apt ci-dessous.

sudo apt update
sudo apt install rethinkdb -y

Une fois l'installation terminée, copiez la configuration par défaut dans le répertoire '/etc/rethinkdb/instances.d'.

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

Et redémarrez le service rethinkdb.

systemctl restart rethinkdb
systemctl enable rethinkdb

RethinkDB a été installé sur le système Ubuntu - vérifiez-le à l'aide de la commande ci-dessous.

netstat -plntu

Étape 4 - Installer Common Lisp (CL)

Common Lisp (CL) est un dialecte du langage de programmation Lisp - c'est un membre de la famille Lisp.

Dans cette étape, nous allons installer manuellement 'Clozure Common Lisp' sur le système Ubuntu.

Allez dans le répertoire '/usr/local/src' et téléchargez 'Clozure Common Lisp' pour Linux 86/64-bit en utilisant la commande wget.

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

Extrayez le fichier compressé "Common Lisp" et supprimez-le.

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

Et vous obtiendrez le répertoire 'ccl'. Allez dans le répertoire 'ccl' et copiez le fichier bin 'ccl64' dans le répertoire '/usr/local/bin'.

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

Vérifiez maintenant l'installation de 'Common Lisp' en exécutant la commande 'ccl64'.

ccl64

Et assurez-vous d'obtenir le résultat ci-dessous.

'Clozure Common lisp' est maintenant installé. Et si vous voulez quitter le shell 'ccl', tapez la commande quit comme ci-dessous.

(quit)

Étape 5 - Installer Quicklisp

Quicklisp est un gestionnaire de bibliothèque pour Common Lisp. Nous avons besoin que 'Quicklisp' soit installé sur le système car Turtl charge toutes ses dépendances via le système Quicklisp.

Avant d'installer Quicklisp, veuillez ajouter un nouvel utilisateur pour l'installation de turtl.

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

Connectez-vous maintenant en tant qu'utilisateur 'turtl'.

su - turtl

Téléchargez les fichiers 'quicklisp.lisp' et 'asdf.lisp' en utilisant les commandes wget/curl de la manière suivante.

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

Chargez maintenant 'quicklisp.lisp' en utilisant la commande 'ccl64' comme indiqué ci-dessous.

ccl64 --load quicklisp.lisp

Et vous obtiendrez la ligne de commande du shell 'ccl'. Installez Quicklisp en utilisant la commande ci-dessous.

(quicklisp-quickstart:install)

La commande téléchargera toutes les dépendances pour Quicklisp. Et une fois terminé, ajoutez le fichier 'init' Quicklisp et chargez 'asdf.lisp'.

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

Une fois terminé, quittez le shell 'ccl'.

(quit)

Et supprimez les fichiers 'quicklisp.lisp' et 'asdf.lisp'.

rm -f asdf.lisp quicklisp.lisp

Quicklisp a été installé sur le système sous l'utilisateur 'turtl'.

Étape 6 - Télécharger et installer turtl

Dans cette étape, nous allons installer Turtl via l'utilisateur 'turtl' que nous avons déjà créé.

Connectez-vous en tant qu'utilisateur "turtl" et clonez le code source de turtl à l'aide de git.

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

Allez dans le répertoire 'api' et créez un nouveau fichier appelé 'launch.lisp' en utilisant vim.

cd /home/turtl/api
vim launch.lisp

Collez-y la configuration suivante.

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

Enregistrez et quittez.

Ensuite, nous devons installer certaines dépendances pour turtl. Allez dans le répertoire quicklisp et clonez toutes les dépendances.

cd ~/quicklisp/local-projects

Téléchargez toutes les dépendances en exécutant les commandes ci-dessous.

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

Et éditez le fichier ccl init.

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

Allez à la fin et collez-y la configuration suivante.

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

Enregistrez et quittez.

Copiez maintenant la configuration par défaut de turtl 'config.lisp et modifiez-la à l'aide de vim.

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

Sur la ligne 'server-bind', ajoutez l'adresse IP localhost comme indiqué ci-dessous.

defvar *server-bind* "127.0.0.1"

Enregistrez et quittez.

Une fois toute la configuration terminée, démarrez le serveur turtl à l'aide de la commande 'ccl64'.

ccl64

La commande installera l'API du serveur Turtl, et quand elle sera terminée, vous obtiendrez le résultat comme indiqué ci-dessous.

Appuyez sur 'Ctrl + c' pour quitter.

Le serveur Turtl fonctionne maintenant sous l'adresse IP locale "127.0.0.1" avec le port "8181".

Ouvrez un nouveau terminal de votre serveur, puis vérifiez-le à l'aide de la commande netstat ci-dessous.

netstat -plntu

Et vous devriez obtenir le résultat ci-dessous.

Étape 7 - Exécuter Turtl en tant que service

L'API du serveur Turtl a été installée via l'utilisateur 'turtl'. Et pour ce tutoriel, nous exécuterons turtl en tant que service.

Allez dans le répertoire '/lib/systemd/system' et créez un nouveau fichier 'turtl.service' en utilisant vim.

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

Collez-y la configuration de service turtl suivante.

[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

Enregistrez et quittez.

Maintenant, rechargez systemd et démarrez le service turtl à l'aide de la commande systemctl.

systemctl daemon-reload
systemctl start turtl

Activez le service turtl pour qu'il se lance à chaque démarrage du système et vérifiez l'état du service turtl.

systemctl enable turtl
systemctl status turtl

Vous devriez obtenir le résultat ci-dessous.

Le service turtl fonctionne maintenant en tant que service sur le système Ubuntu.

Étape 8 - Configurer le proxy inverse Apache pour Turtl

Dans ce didacticiel, nous allons exécuter le serveur Turtl sous le serveur proxy inverse Apache/httpd. Le serveur Turtl fonctionne sous l'IP locale '127.0.0.1' avec le port '8181', et maintenant nous allons installer le serveur web Apache2 et le configurer comme proxy inverse pour le serveur Turtl.

Installez apache2 avec toutes les dépendances à l'aide de la commande apt ci-dessous.

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

Une fois l'installation terminée, activez certains plugins nécessaires en exécutant les commandes suivantes.

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

Redémarrez maintenant le serveur Web Apache2 et activez-le pour qu'il se lance à chaque fois au démarrage.

systemctl restart apache2
systemctl enable apache2

Ensuite, ajoutez un nouvel hôte virtuel turtl en créant un nouveau fichier de configuration 'turtl.conf' sous le répertoire 'sites-available'.

Allez dans le répertoire '/etc/apache2/sites-available' et créez une nouvelle cconfiguration 'turtl.conf' en utilisant vim.

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

Collez la configuration de l'hôte virtuel ci-dessous.

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

Enregistrez et quittez.

Activez maintenant l'hôte virtuel turtl et vérifiez la configuration.

a2ensite turtl
apachectl configtest

Assurez-vous que vous n'obtenez aucune erreur, puis redémarrez le serveur Web apache2.

systemctl restart apache2

Vérifiez le service à l'aide de la commande netstat.

netstat -plntu

Et assurez-vous d'avoir le serveur Web Apache sur le port 80 et le serveur API Turtl sur le '127.0.0.1' avec le port '8181'.

Étape 9 - Tester

Téléchargez l'application client turtl et ouvrez-la.

Cliquez sur 'Créer un compte'.

Cliquez maintenant sur le bouton "Je me souviendrai de mon identifiant".

Tapez votre adresse e-mail avec mot de passe et le nom de domaine de votre serveur Turtl.

Et cliquez sur le bouton "Rejoindre".

Vous obtiendrez maintenant la nouvelle fenêtre - cliquez sur le bouton "ignorer cette étape".

Et vous obtiendrez le tableau de bord turtl vierge. Vous pouvez ajouter une nouvelle note, un mot de passe, des fichiers, un signet, etc.

L'installation du serveur Turtl sur Ubuntu 16.04 s'est terminée avec succès.


Ubuntu
  1. Comment installer MySQL sur Ubuntu 18.04

  2. Comment installer le serveur Minecraft sur Ubuntu 18.04

  3. Comment installer Nginx sur Ubuntu 20.04

  4. Comment installer MariaDB sur Ubuntu 20.04

  5. Comment installer Zimbra 8.6 sur le serveur Ubuntu 14.04

Comment installer le serveur Ubuntu 20.04 LTS

Comment installer Cockpit sur Ubuntu 20.04

Comment installer le serveur VNC sur Ubuntu 20.04

Comment installer le serveur HTTrack sur Ubuntu 20.04

Comment installer Plex Media Server sur un serveur/bureau Ubuntu 16.04

Comment installer le serveur RethinkDB sur Ubuntu 20.04 LTS Focal fossa