如何在CentOS 7上安装Turtl Server Evernote Alternative

如何在CentOS 7上安装Turtl Server Evernote Alternative

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

在本教程中,我们将逐步向您展示如何在CentOS 7上安装和配置Turtl服务器。Turtl服务器使用Common Lisp编写,因此我们需要在系统上安装Common Lisp和QuickLisp。 本教程将介绍一些主题,包括在CentOS 7系统上安装Libuv以及为turtl数据存储安装RethinkDB。

先决条件

  • CentOS 7
  • 根特权

我们将要做什么

  1. 安装开发工具
  2. 在CentOS 7上安装Libuv
  3. 安装和配置RethinkDB
  4. 安装Common Lisp
  5. 安装Quicklisp
  6. 下载并安装Turtl服务器
  7. 运行Turtl服务器即服务
  8. 安装并配置Apache作为Turtl的反向代理
  9. 测试

第1步 - 安装开发工具

对于本指南,我们需要安装在CentOS系统上的'开发工具'软件包。

使用下面的yum命令安装'开发工具'。

sudo yum group install "Development Tools"

等待所有'开发工具'软件包的安装。

第2步 - 在CentOS 7上安装Libuv

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

在手动安装'Libuv'之前,让我们安装openssl和openssl-devel。

yum -y install openssl openssl-devel

现在进入'/ usr / local / src'目录并使用wget下载libuv.targz文件。

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 -f libuv-v1.9.1.tar.gz

转到'libuv'目录。

cd libuv-v1.9.1/

运行下面的所有命令,使用开发工具安装Libuv。

sh autogen.sh
./configure
make
make install

完成后,运行以下命令。

sudo ldconfig

Libuv库已安装在CentOS 7系统上。

第3步 - 安装和配置RethinkDB

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

在这一步中,我们将从它自己的存储库安装RethinkDB。

将CentOS 7的RethinkDB存储库添加到系统中。

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

RethinkDB存储库已被添加,现在按照以下方式使用yum命令进行安装。

sudo yum -y install rethinkdb

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

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

并使用vim编辑器为RethinkDB创建新的服务文件。

cd /etc/systemd/system
vim rethinkdb.service

在那里粘贴以下配置。

# 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

现在重新加载systemd系统并启动RethinkDB服务。

systemctl daemon-reload
systemctl start rethinkdb

RethinkDB现已安装并在CentOS 7系统上运行。

使用以下命令检查它。

systemctl status rethinkdb
netstat -plntu

你应该得到如下结果。

第4步 - 安装Common Lisp

Common Lisp(CL)是Lisp编程语言的一种方言。 它是Lisp家族的成员。 在这一步中,我们将手动安装'Clozure Common Lisp'到CentOS系统。

转至'/ 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

提取'Clozure 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 / bin'目录。

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

现在通过运行'ccl64'命令验证'Clozure 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

Quiclisp已安装。

第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'并输入'(quit)'退出。

第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/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服务现在在CentOS 7系统上作为服务运行。

第8步 - 安装并配置Apache / httpd作为Turtl的反向代理

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

使用下面的yum命令安装具有所有依赖项的apache2。

yum -y install httpd mod_proxy_html

安装完成后,为Turtl添加新的虚拟主机文件。

转至'/etc/httpd/conf.d'目录并创建一个新的虚拟主机文件'turtl.conf'。

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

在那里粘贴以下虚拟主机配置。

<VirtualHost *:80>

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

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>

保存并退出。

现在检查Apache配置并确保没有错误。

apachectl configtest

现在,重新启动httpd服务并使其每次在系统启动时启动。

systemctl restart httpd
systemctl enable httpd

Apache2 / httpd Web服务器已安装在CentOS 7系统上,它在端口8181上充当Turtl应用程序的反向代理。

使用下面的netstat命令检查它。

netstat -plntu

第9步 - 测试

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

点击“创建帐户”链接。

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

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

然后点击“加入”按钮。

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

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

CentOS 7系统上的Turtl服务器安装已成功完成。

参考

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

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

支付宝扫一扫打赏

微信扫一扫打赏