如何在Ubuntu 16.04上安装Turtl Server  -  Evernote Alternative

如何在Ubuntu 16.04上安装Turtl Server - Evernote Alternative

Turtl是一个安全和加密的Evernote替代品。 这是一个开源应用程序,可以让你记笔记,书签网站,存储文件,与同事共享密码。 Turtl允许您在私人场所控制您的所有数据。 turtl客户端和turtl服务器应用程序的源代码在github上可用,您可以在您的服务器上手动部署它。

在本教程中,我们将逐步向您展示如何在Ubuntu 16.04上安装和配置Turtl服务器。 Turtl服务器是用Common Lisp编写的,所以我们需要在系统上安装Common Lisp和QuickLisp。 本教程还将介绍在Ubuntu系统上安装Libuv以及为Turtl数据存储安装RethinkDB等内容。

先决条件

  • Ubuntu 16.04
  • 根特权

我们将要做什么

  1. 安装依赖关系
  2. 在Ubuntu 16.04上安装Libuv
  3. 安装和配置RethinkDB
  4. 安装Common Lisp
  5. 安装Quicklisp
  6. 下载并安装Turtl服务器
  7. 运行Turtl服务器即服务
  8. 安装Apache并将其配置为Turtl的反向代理
  9. 测试

第1步 - 安装依赖关系

更新你的Ubuntu服务器库,然后更新系统。

sudo apt update
sudo apt upgrade

现在使用下面的apt命令安装一些必需的软件包,包括git,wget和automake。

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

第2步 - 在Ubuntu 16.04上安装Libuv

Libuv是专注于异步I / O的多平台支持库。 这个库是Turtl服务器所需要的,我们将手动安装它。

进入'/ usr / local / src'目录并使用wget下载Libuv压缩文件。

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

提取libuv.tar.gz文件并将其删除。

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

转到libuv目录。

cd libuv-v1.9.1

现在使用autotools构建Libuv库 - 运行下面的所有命令。

sh autogen.sh
./configure
make
make install

完成后,您将得到如下所示的结果。

Libuv库已被添加到系统的'/ usr / local / lib'目录中。

第3步 - 安装RethinkDB

RethinkDB是一个开源和分布式的面向文档的数据库,Turtl服务器数据存储使用RethinkDB。

在这一步中,我们将从它自己的官方仓库安装RethinkDB。

将RethinkDB存储库添加到系统。

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

下载并添加密钥。

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

更新Ubuntu存储库并使用下面的apt命令进行安装。

sudo apt update
sudo apt install rethinkdb -y

安装完成后,将默认配置复制到“/etc/rethinkdb/instances.d”目录中。

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

然后重新启动rethinkdb服务。

systemctl restart rethinkdb
systemctl enable rethinkdb

RethinkDB已经安装在Ubuntu系统上 - 使用下面的命令检查它。

netstat -plntu

第4步 - 安装Common Lisp(CL)

Common Lisp(CL)是Lisp编程语言的一种方言 - 它是Lisp家族的一员。

在这一步中,我们将在Ubuntu系统上手动安装“Clozure Common Lisp”。

转到“/ usr / local / src”目录,并使用wget命令下载适用于Linux 86/64位的“Clozure Common Lisp”。

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

提取“Common Lisp”压缩文件并将其删除。

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

你会得到'ccl'目录。 转到'ccl'目录并将'ccl64'bin文件复制到'/ usr / local / bin'目录。

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

现在通过运行“ccl64”命令来验证“Common Lisp”安装。

ccl64

并确保你得到如下结果。

现在已经安装了“Clozure Common Lisp”。 如果你想从'ccl'shell中退出,按如下所示输入quit命令。

(quit)

第5步 - 安装Quicklisp

Quicklisp是Common Lisp的图书馆经理。 我们需要在系统上安装“Quicklisp”,因为Turtl通过Quicklisp系统加载所有依赖项。

在安装Quicklisp之前,请为turtl安装添加一个新用户。

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

现在以“turtl”用户身份登录。

su - turtl

按以下方式使用wget / curl命令下载“quicklisp.lisp”和“asdf.lisp”文件。

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

现在使用'ccl64'命令加载'quicklisp.lisp',如下所示。

ccl64 --load quicklisp.lisp

你会得到'ccl'shell命令行。 使用下面的命令安装Quicklisp。

(quicklisp-quickstart:install)

该命令将下载Quicklisp的所有依赖项。 完成后,添加Quicklisp'init'文件并加载'asdf.lisp'。

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

完成后,退出“ccl”shell。

(quit)

并删除“quicklisp.lisp”和“asdf.lisp”文件。

rm -f asdf.lisp quicklisp.lisp

已经在“turtl”用户的系统上安装了Quicklisp。

第6步 - 下载并安装turtl

在这一步中,我们将通过我们已经创建的“turtl”用户来安装Turtl。

以“turtl”用户身份登录并使用git克隆turtl源代码。

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

转到'api'目录,使用vim创建一个名为'launch.lisp'的新文件。

cd /home/turtl/api
vim launch.lisp

在那里粘贴下面的配置。

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

保存并退出。

接下来,我们需要为turtl安装一些依赖项。 转到quicklisp目录并克隆所有依赖项。

cd ~/quicklisp/local-projects

通过运行下面的命令下载所有依赖关系。

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

并编辑ccl init文件。

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

转到最后,在那里粘贴下面的配置。

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

保存并退出。

现在复制默认的turtl配置config.lisp并使用vim进行编辑。

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

在“服务器绑定”行上,添加本地主机IP地址,如下所示。

defvar *server-bind* "127.0.0.1"

保存并退出。

完成所有配置后,使用'ccl64'命令启动turtl服务器。

ccl64

该命令将安装Turtl服务器API,完成后您将得到如下所示的结果。

按“Ctrl + C”退出。

Turtl服务器现在运行在本地IP地址为“127.0.0.1”的端口“8181”。

打开您的服务器的新终端,然后使用下面的netstat命令检查它。

netstat -plntu

你应该得到如下结果。

第7步 - 运行Turtl即服务

Turtl服务器API已经通过“turtl”用户安装。 对于本教程,我们将运行turtl作为服务。

进入“/ lib / systemd / system”目录,使用vim创建一个新的“turtl.service”文件。

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

在那里粘贴下面的turtl服务配置。

[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

保存并退出。

现在重新加载systemd并使用systemctl命令启动turtl服务。

systemctl daemon-reload
systemctl start turtl

启用turtl服务在系统启动时每次启动,并检查turtl服务状态。

systemctl enable turtl
systemctl status turtl

你应该得到如下结果。

turtl服务现在在Ubuntu系统上作为服务运行。

第8步 - 为Turtl配置Apache反向代理

在本教程中,我们将运行Apache / httpd反向代理服务器下的Turtl服务器。 Turtl服务器在本地IP“127.0.0.1”下运行,端口为“8181”,现在我们将安装Apache2 Web服务器并将其配置为Turtl服务器的反向代理。

使用下面的apt命令安装具有所有依赖关系的apache2。

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

安装完成后,通过运行以下命令来启用一些所需的插件。

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

现在重新启动Apache2 Web服务器并使其在启动时每次启动。

systemctl restart apache2
systemctl enable apache2

接下来,通过在“sites-available”目录下创建新的配置文件“turtl.conf”来添加一个新的turtl虚拟主机。

转到'/ etc / apache2 / sites-available'目录,并使用vim创建新的cconfiguration'turtl.conf'。

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

粘贴下面的虚拟主机配置。

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

保存并退出。

现在激活turtl虚拟主机并检查配置。

a2ensite turtl
apachectl configtest

确保你没有错误,然后重新启动apache2 web服务器。

systemctl restart apache2

使用netstat命令检查服务。

netstat -plntu

并确保您在端口80上获得Apache Web服务器,在端口为“8181”的“127.0.0.1”上获得Turtl API服务器。

第9步 - 测试

下载turtl客户端应用程序并打开它。

点击“创建帐户”。

现在点击“我将记住我的登录”按钮。

用密码和你的Turtl服务器域名输入你的电子邮件地址。

然后点击“加入”按钮。

现在,您将看到新窗口 - 点击“跳过此步骤”按钮。

你会得到空白的turtl仪表板。 您可以添加新的笔记,密码,文件,书签等

Ubuntu 16.04上的Turtl服务器安装已经成功完成。

参考

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏