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
- Abhängigkeiten installieren
- Libuv auf Ubuntu 16.04 installieren
- Installieren und Konfigurieren von RethinkDB
- Gemeinsames Lispeln installieren
- Quicklisp installieren
- Turtl Server herunterladen und installieren
- Turtl Server als Dienst ausführen
- Apache als Reverse-Proxy für Turtl installieren und konfigurieren
- 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.
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
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
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.
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
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)
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.
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.
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.
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
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.
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‘.
Klicken Sie nun auf die Schaltfläche ‚Ich werde mich an meine Anmeldung erinnern‘.
Geben Sie Ihre E-Mail-Adresse mit Passwort und Ihren Turtl-Server-Domainnamen ein.
Und klicken Sie auf die Schaltfläche ‚Beitreten‘.
Nun erhalten Sie das neue Fenster – klicken Sie auf die Schaltfläche ‚Diesen Schritt überspringen‘.
Und Sie erhalten das leere Schildkröten-Armaturenbrett. Sie können neue Notiz, Passwort, Dateien, Lesezeichen usw. hinzufügen.
Die Installation des Turtl-Servers unter Ubuntu 16.04 wurde erfolgreich abgeschlossen.