Поиск по сайту:

Как установить альтернативу Turtl Server Evernote на CentOS 7


На этой странице

  1. Предпосылки
  2. Что мы будем делать
  3. Шаг 1. Установите средства разработки
  4. Шаг 2. Установите Libuv на CentOS 7
  5. Шаг 3. Установите и настройте RethinkDB
  6. Шаг 4. Установите Common Lisp
  7. Шаг 5. Установите Quicklisp
  8. Шаг 6. Загрузите и установите сервер Turtl
  9. Шаг 7. Запуск Turtl Server как службы
  10. Шаг 8. Установите и настройте Apache/httpd в качестве обратного прокси-сервера для Turtl
  11. Шаг 9. Тестирование
  12. Справочник

Turtl — это безопасная и зашифрованная альтернатива Evernote. Это приложение с открытым исходным кодом, которое позволяет делать заметки, добавлять веб-сайты в закладки, хранить документы, делиться паролями с коллегами и т. д. Turtl позволяет вам контролировать все ваши данные в частном месте. Исходный код клиента turtl и серверного приложения turtl доступен на github — вы можете развернуть его вручную на своем сервере.

В этом руководстве мы пошагово покажем вам, как установить и настроить сервер Turtl на CentOS 7. Сервер Turtl написан на Common Lisp, поэтому нам необходимо установить Common Lisp и QuickLisp в системе. В этом руководстве будут рассмотрены некоторые темы, включая установку Libuv в системе CentOS 7 и установку RethinkDB для хранилища данных turtl.

Предпосылки

  • СентОС 7
  • Привилегии root

Что мы будем делать

  1. Установить средства разработки
  2. Установите Libuv на CentOS 7
  3. Установка и настройка RethinkDB
  4. Установить Common Lisp
  5. Установить Quicklisp
  6. Загрузите и установите сервер Turtl
  7. Запуск Turtl Server как службы
  8. Установите и настройте Apache в качестве обратного прокси-сервера для Turtl.
  9. Тестирование

Шаг 1 — Установите средства разработки

Для этого руководства нам нужны пакеты средств разработки, установленные в системе CentOS.

Установите средства разработки с помощью приведенной ниже команды yum.

sudo yum group install "Development Tools"

Дождитесь установки всех пакетов средств разработки.

Шаг 2 — Установите Libuv на CentOS 7

Libuv — это многоплатформенная библиотека поддержки, ориентированная на асинхронный ввод-вывод. Эта библиотека нужна серверу Turtl, и мы установим эту библиотеку вручную.

Прежде чем вручную устанавливать Libuv в систему, давайте установим openssl и openssl-devel.

yum -y install openssl openssl-devel

Теперь перейдите в каталог /usr/local/src и загрузите файл libuv.targz с помощью wget.

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 из собственного репозитория.

Добавьте репозиторий RethinkDB для CentOS 7 в систему.

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

И создайте новый служебный файл для RethinkDB с помощью редактора vim.

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 и загрузите Clozure Common Lisp для 86/64-разрядной версии Linux с помощью команды wget.

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 и скопируйте bin-файл ccl64 в каталог /usr/bin.

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

Теперь проверьте установку Clozure Common Lisp, выполнив команду ccl64.

ccl64

И убедитесь, что вы получите результат, как показано ниже.

Общий лисп Clozure теперь установлен. И если вы хотите выйти из оболочки ccl, введите команду quit.

(quit)

Шаг 5 — Установите Quicklisp

Quicklisp — это менеджер библиотек для Common Lisp. Нам нужно, чтобы Quicklisp был установлен в системе, потому что turtl загружает все свои зависимости через систему Quicklisp.

Перед установкой Quicklisp добавьте нового пользователя для установки turtl.

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

Теперь войдите в систему как пользователь turtl.

su - turtl

Загрузите файлы quicklisp.lisp и asdf.lisp с помощью команды wget/curl.

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

Теперь загрузите quicklisp.lisp с помощью команды ccl64, как показано ниже.

ccl64 --load quicklisp.lisp

И вы получите командную строку оболочки ccl. Установите Quicklisp, используя приведенную ниже команду.

(quicklisp-quickstart:install)

Команда загрузит все зависимости для Quicklisp. А после завершения добавьте файл инициализации Quicklisp и загрузите asdf.lisp.

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

По завершении выйдите из оболочки ccl.

(quit)

И удалите файлы quicklisp.lisp и asdf.lisp.

rm -f asdf.lisp quicklisp.lisp

Квиклисп установлен.

Шаг 6 — Скачайте и установите Turtl Server

На этом этапе мы установим Turtl под пользователем turtl, которого мы создали сверху.

Войдите в систему как пользователь turtl и клонируйте исходный код turtl с помощью git.

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

Перейдите в каталог API и создайте новый файл launch.lisp с помощью vim.

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.

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"

Сохранить и выйти.

После завершения всех настроек запустите сервер turtl с помощью команды ccl64.

ccl64

Команда установит API сервера Turtl, и когда она будет завершена, вы получите результат, как показано ниже.

Нажмите Ctrl + c и введите (quit), чтобы выйти.

Шаг 7 — Запуск Turtl Server как службы

API сервера Turtl был установлен под пользователем turtl. И для этого урока мы будем запускать turtl как сервис.

Перейдите в каталог /lib/systemd/system и создайте новый файл turtl.service с помощью vim.

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 и запустите службу turtl с помощью команды systemctl.

systemctl daemon-reload
systemctl start turtl

Добавьте службу turtl во время загрузки и проверьте статус службы turtl.

systemctl enable turtl
systemctl status turtl

Вы должны получить результат, как показано ниже.

Служба turtl теперь работает как служба в системе CentOS 7.

Шаг 8. Установите и настройте Apache/httpd в качестве обратного прокси для Turtl

В этом руководстве мы запустим сервер Turtl под обратным прокси-сервером Apache/httpd. Сервер Turtl теперь работает под локальным IP 127.0.0.1 с портом 8181, и теперь мы установим веб-сервер Apache2 и настроим его как обратный прокси-сервер для сервера Turtl.

Установите apache2 со всеми зависимостями, используя приведенную ниже команду yum.

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

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 был установлен в системе CentOS 7 и действует как обратный прокси-сервер для приложения Turtl через порт 8181.

Проверьте это с помощью приведенной ниже команды netstat.

netstat -plntu

Шаг 9 — Тестирование

Загрузите клиентское приложение turtl и откройте его.

Нажмите на ссылку Создать учетную запись.

Теперь нажмите кнопку «Я запомню свой логин».

Введите свой адрес электронной почты с паролем и доменное имя вашего сервера Turtl.

И нажмите кнопку Присоединиться.

Теперь вы получите новое окно — нажмите кнопку «Пропустить этот шаг».

И вы получите пустую приборную панель черепахи. Здесь вы можете добавить новую заметку, пароль, файлы, закладки и т. д.

Установка сервера Turtl в системе CentOS 7 успешно завершена.

Ссылка

  • https://community.nethserver.org/