Wie man Turtl Server – Evernote Alternative – auf Ubuntu 16.04 installiert

Turtl ist eine sichere und verschlüsselte Evernote-Alternative. Es handelt sich um eine Open-Source-Anwendung, mit der Sie Notizen machen, Lesezeichen auf Websites setzen, Dokumente speichern und Passwörter mit Ihren Mitarbeitern teilen können. Turtl ermöglicht es Ihnen, die Kontrolle über alle Ihre Daten im privaten Bereich zu übernehmen. Der Quellcode der Turtl-Client- und Turtl-Server-Anwendung ist auf dem Github verfügbar, und Sie können ihn manuell auf Ihrem Server bereitstellen.

In diesem Tutorial zeigen wir Ihnen Schritt für Schritt, wie Sie den Turtl-Server unter Ubuntu 16.04 installieren und konfigurieren. Der Turtl-Server ist in Common Lisp geschrieben, daher müssen wir Common Lisp und QuickLisp auf dem System installieren. Dieses Tutorial behandelt auch Dinge wie die Installation von Libuv auf einem Ubuntu-System und die Installation von RethinkDB für den Turtl-Datenspeicher.

Voraussetzungen

  • Ubuntu 16.04
  • Root-Privilegien

Was wir tun werden

  1. Abhängigkeiten installieren
  2. Libuv auf Ubuntu 16.04 installieren
  3. Installieren und Konfigurieren von RethinkDB
  4. Gemeinsames Lispeln installieren
  5. Quicklisp installieren
  6. Turtl Server herunterladen und installieren
  7. Turtl Server als Dienst ausführen
  8. Apache als Reverse-Proxy für Turtl installieren und konfigurieren
  9. Prüfung

Schritt 1 – Abhängigkeiten installieren

Aktualisieren Sie Ihr Ubuntu-Server-Repository und aktualisieren Sie dann das System.

sudo apt update
sudo apt upgrade

Installieren Sie nun einige erforderliche Pakete – einschließlich git, wget und automake – mit dem unten stehenden apt-Befehl.

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

Schritt 2 – Libuv auf Ubuntu 16.04 installieren

Libuv ist eine Multiplattform-Unterstützungsbibliothek, die sich auf asynchrone E/A konzentriert. Diese Bibliothek wird vom Turtl-Server benötigt, und wir werden sie manuell installieren.

Gehen Sie in das Verzeichnis ‚/usr/local/src‘ und laden Sie die komprimierte Libuv-Datei mit wget herunter.

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

Extrahieren Sie die Datei libuv.tar.gz und entfernen Sie sie.

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

Gehen Sie zum Verzeichnis libuv.

cd libuv-v1.9.1

Bauen Sie jetzt die Libuv-Bibliothek mit Autotools auf – führen Sie alle unten stehenden Befehle aus.

sh autogen.sh
./configure
make
make install

Und wenn sie abgeschlossen ist, erhalten Sie das Ergebnis wie unten dargestellt.

Libuv bauen

Die Libuv-Bibliothek wurde dem System im Verzeichnis ‚/usr/local/lib‘ hinzugefügt.

Schritt 3 – RethinkDB installieren

RethinkDB ist eine quelloffene und verteilte dokumentorientierte Datenbank, und der Datenspeicher des Turtl-Servers verwendet RethinkDB.

In diesem Schritt werden wir RethinkDB aus einem eigenen, offiziellen Repository installieren.

Fügen Sie dem System das RethinkDB-Repository hinzu.

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

Laden Sie den Schlüssel herunter und fügen Sie ihn hinzu.

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

Aktualisieren Sie das Ubuntu-Repository und installieren Sie es mit den unten stehenden apt-Befehlen.

sudo apt update
sudo apt install rethinkdb -y

RethinkDB installieren

Kopieren Sie nach Abschluss der Installation die Standardkonfiguration in das Verzeichnis ‚/etc/rethinkdb/instances.d‘.

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

Und starten Sie den überdachten Dienst neu.

systemctl restart rethinkdb
systemctl enable rethinkdb

RethinkDB wurde auf dem Ubuntu-System installiert – überprüfen Sie es mit dem folgenden Befehl.

netstat -plntu

Prüfen Sie, ob RethinkDB aktiv ist

Schritt 4 – Gemeinsames Lispeln installieren (CL)

Common Lisp (CL) ist ein Dialekt der Programmiersprache Lisp – es ist ein Mitglied der Lisp-Familie.

In diesem Schritt werden wir ‚Clozure Common Lisp‘ manuell auf dem Ubuntu-System installieren.

Gehen Sie in das Verzeichnis ‚/usr/local/src‘ und laden Sie ‚Clozure Common Lisp‘ für Linux 86/64-bit mit dem wget Befehl herunter.

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

Extrahieren Sie die komprimierte Datei ‚Common Lisp‘ und entfernen Sie sie.

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

Und Sie erhalten das ‚ccl‘-Verzeichnis. Wechseln Sie in das ‚ccl‘-Verzeichnis und kopieren Sie die ‚ccl64‘-Bin-Datei in das ‚/usr/local/bin‘-Verzeichnis.

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

Überprüfen Sie nun die Installation von ‚Common Lisp‘, indem Sie den Befehl ‚ccl64‘ ausführen.

ccl64

Und stellen Sie sicher, dass Sie das Ergebnis wie unten beschrieben erhalten.

Gemeinsames Lispeln installieren

Clozure Common lispelt“ wurde jetzt installiert. Und wenn Sie die ‚ccl‘-Shell verlassen wollen, geben Sie den Befehl quit wie unten beschrieben ein.

(quit)

Schritt 5 – Quicklisp installieren

Quicklisp ist ein Bibliotheksleiter für Common Lisp. Wir brauchen ‚Quicklisp‘ auf dem System installiert, weil Turtl alle seine Abhängigkeiten über das Quicklisp-System lädt.

Bevor Sie Quicklisp installieren, fügen Sie bitte einen neuen Benutzer für die Turtl-Installation hinzu.

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

Melden Sie sich jetzt als ‚Turtl‘-Benutzer an.

su - turtl

Laden Sie die Dateien ‚quicklisp.lisp‘ und ‚asdf.lisp‘ mit wget/curl-Befehlen wie folgt herunter.

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

Quicklisp installieren

Laden Sie nun ‚quicklisp.lisp‘ mit dem ‚ccl64‘-Befehl wie unten gezeigt.

ccl64 --load quicklisp.lisp

Und Sie erhalten die ‚ccl‘-Shell-Kommandozeile. Installieren Sie Quicklisp mit dem folgenden Befehl.

(quicklisp-quickstart:install)

Quicklisp installieren

Der Befehl lädt alle Abhängigkeiten für Quicklisp herunter. Und nachdem es fertig ist, fügen Sie die Quicklisp-‚init‘-Datei hinzu und laden Sie ‚asdf.lisp‘.

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

Wenn sie abgeschlossen ist, verlassen Sie die ‚ccl‘-Shell.

(quit)

Und entfernen Sie die Dateien ‚quicklisp.lisp‘ und ‚asdf.lisp‘.

rm -f asdf.lisp quicklisp.lisp

Quicklisp wurde auf dem System unter dem Benutzer ‚turtl‘ installiert.

Quicklisp wurde auf dem System unter dem Benutzer 'turtl' installiert.

Schritt 6 – Herunterladen und Installieren von turtl

In diesem Schritt werden wir Turtl über den bereits erstellten ‚Turtl‘-Benutzer installieren.

Melden Sie sich als ‚Turtl‘-Benutzer an und klonen Sie den Turtl-Quellcode mit git.

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

Gehen Sie in das ‚api‘-Verzeichnis und erstellen Sie eine neue Datei namens ‚launch.lisp‘ mit vim.

cd /home/turtl/api
vim launch.lisp

Fügen Sie dort die folgende Konfiguration ein.

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

Speichern und beenden.

Als nächstes müssen wir einige Abhängigkeiten für Turtl installieren. Gehen Sie zum Verzeichnis quicklisp und klonen Sie alle Abhängigkeiten.

cd ~/quicklisp/local-projects

Laden Sie alle Abhängigkeiten herunter, indem Sie die folgenden Befehle ausführen.

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

Und bearbeiten Sie die ccl-Init-Datei.

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

Gehen Sie zum Ende und fügen Sie dort die folgende Konfiguration ein.

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

Speichern und beenden.

Kopieren Sie nun die Standard-Turtl-Konfiguration ‚config.lisp‘ und editieren Sie sie mit vim.

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

Fügen Sie in der ‚Server-Bind‘-Zeile die IP-Adresse des lokalen Hosts wie unten gezeigt hinzu.

defvar *server-bind* "127.0.0.1"

Speichern und beenden.

Nachdem die gesamte Konfiguration abgeschlossen ist, starten Sie den Turtl-Server mit dem Befehl ‚ccl64‘.

ccl64

Der Befehl installiert die Turtl-Server-API, und wenn er fertig ist, erhalten Sie das Ergebnis wie unten dargestellt.

Schildkröte installieren

Drücken Sie ‚Strg + c‘ zum Verlassen.

Der Turtl-Server läuft jetzt unter der lokalen IP-Adresse „127.0.0.1“ mit Port „8181“.

Öffnen Sie ein neues Terminal Ihres Servers und überprüfen Sie es dann mit dem unten stehenden Befehl netstat.

netstat -plntu

Und Sie sollten das Ergebnis wie unten dargestellt erhalten.

Schildkröteninstallation prüfen

Schritt 7 – Turtl als Service betreiben

Die Turtl-Server-API wurde durch den Benutzer ‚turtl‘ installiert. Und für dieses Tutorium werden wir Turtl als Dienstleistung anbieten.

Gehen Sie in das Verzeichnis ‚/lib/systemd/system‘ und erzeugen Sie eine neue ‚turtl.service‘-Datei mit vim.

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

Fügen Sie dort die folgende Schildkrötendienst-Konfiguration ein.

[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

Speichern und beenden.

Laden Sie nun systemd neu und starten Sie den Turtl-Dienst mit dem systemctl-Befehl.

systemctl daemon-reload
systemctl start turtl

Turtl als Dienstleistung betreiben

Ermöglichen Sie den Start des Turtl-Dienstes bei jedem Systemstart und überprüfen Sie den Status des Turtl-Dienstes.

systemctl enable turtl
systemctl status turtl

Sie sollten das Ergebnis wie unten dargestellt erhalten.

Schildkrötendienst aktivieren

Der Turtl-Dienst läuft jetzt als Dienst auf dem Ubuntu-System.

Schritt 8 – Konfigurieren Sie den Apache Reverse-Proxy für Turtl

In diesem Tutorial werden wir den Turtl-Server unter dem Reverse-Proxy-Server Apache/httpd laufen lassen. Der Turtl-Server läuft unter der lokalen IP ‚127.0.0.1‘ mit Port ‚8181‘, und jetzt werden wir den Apache2-Webserver installieren und als Reverse-Proxy für den Turtl-Server konfigurieren.

Installieren Sie apache2 mit allen Abhängigkeiten mit Hilfe des folgenden apt-Befehls.

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

Nachdem die Installation abgeschlossen ist, aktivieren Sie einige benötigte Plugins, indem Sie die folgenden Befehle ausführen.

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

Starten Sie jetzt den Apache2-Webserver neu und ermöglichen Sie ihm, jederzeit beim Hochfahren zu starten.

systemctl restart apache2
systemctl enable apache2

Fügen Sie als nächstes einen neuen virtuellen Turtl-Host hinzu, indem Sie eine neue Konfigurationsdatei ‚turtl.conf‘ unter dem Verzeichnis ’sites-available‘ erstellen.

Gehen Sie in das Verzeichnis ‚/etc/apache2/sites-available‘ und erstellen Sie eine neue cconfiguration ‚turtl.conf‘ mit vim.

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

Fügen Sie die Konfiguration des virtuellen Hosts unten ein.

<VirtualHost *:80>

ServerName turtl.hakase-labs.co
ServerAdmin hakase@hakase-labs.co

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>

Speichern und beenden.

Aktivieren Sie nun den virtuellen Turtl-Host und überprüfen Sie die Konfiguration.

a2ensite turtl
apachectl configtest

Stellen Sie sicher, dass Sie keine Fehler erhalten, und starten Sie dann den apache2-Webserver neu.

systemctl restart apache2

Überprüfen Sie den Service mit dem Befehl netstat.

netstat -plntu

Und stellen Sie sicher, dass Sie den Apache-Webserver auf Port 80 und den Turtl-API-Server auf der ‚127.0.0.1‘ mit Port ‚8181‘ erhalten.

Schritt 9 – Prüfung

Laden Sie die Turtl-Client-Anwendung herunter und öffnen Sie sie.

Klicken Sie auf ‚Konto erstellen‘.

Konto in Schildkröte erstellen

Klicken Sie nun auf die Schaltfläche ‚Ich werde mich an meine Anmeldung erinnern‘.

Anmeldung merken

Geben Sie Ihre E-Mail-Adresse mit Passwort und Ihren Turtl-Server-Domainnamen ein.

Kennwort festlegen

Und klicken Sie auf die Schaltfläche ‚Beitreten‘.

Nun erhalten Sie das neue Fenster – klicken Sie auf die Schaltfläche ‚Diesen Schritt überspringen‘.

Klicken Sie auf die Schaltfläche "Verbinden".

Und Sie erhalten das leere Schildkröten-Armaturenbrett. Sie können neue Notiz, Passwort, Dateien, Lesezeichen usw. hinzufügen.

Turtl-Armaturenbrett

Die Installation des Turtl-Servers unter Ubuntu 16.04 wurde erfolgreich abgeschlossen.

Referenz

Das könnte Dich auch interessieren …