Turtl là một giải pháp thay thế Evernote an toàn và được mã hóa. Đây là một ứng dụng nguồn mở cho phép bạn ghi chú, đánh dấu trang web, lưu trữ tài liệu, chia sẻ mật khẩu với đồng nghiệp, v.v. Turtl cho phép bạn kiểm soát mọi dữ liệu của mình ở nơi riêng tư. Mã nguồn của ứng dụng máy khách turtl và máy chủ turtl có sẵn trên github - bạn có thể triển khai thủ công trên máy chủ của mình.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn từng bước cách cài đặt và cấu hình máy chủ Turtl trên CentOS 7. Máy chủ Turtl được viết bằng Common Lisp, vì vậy chúng ta cần cài đặt Common Lisp và QuickLisp trên hệ thống. Hướng dẫn này sẽ đề cập đến một số chủ đề bao gồm cài đặt Libuv trên hệ thống CentOS 7 và cài đặt RethinkDB cho kho dữ liệu turtl.
Cài đặt 'Development Tools' bằng lệnh yum bên dưới.
Chờ tất cả các gói 'Development Tools' cài đặt.
Trước khi cài đặt thủ công 'Libuv' vào hệ thống, hãy cài đặt openssl và openssl-devel.
Bây giờ hãy vào thư mục '/usr/local/src' và tải xuống tệp libuv.targz bằng wget.
Giải nén libuv.tar.gz và xóa tệp master.
Đi đến Thư mục 'libuv'.
Cài đặt Libuv bằng các công cụ phát triển bằng cách chạy tất cả các lệnh bên dưới.
Khi hoàn tất, hãy chạy lệnh sau.
Thư viện Libuv đã được cài đặt trên hệ thống CentOS 7.
Trong bước này, chúng tôi sẽ cài đặt RethinkDB từ kho lưu trữ riêng của nó.
Thêm kho lưu trữ RethinkDB cho CentOS 7 vào hệ thống.
Kho lưu trữ RethinkDB đã được thêm vào, bây giờ hãy cài đặt nó bằng lệnh yum theo cách sau.
Sau khi cài đặt hoàn tất, hãy sao chép cấu hình mặc định vào thư mục '/etc/rethinkdb/instances.d'.
Và tạo tệp dịch vụ mới cho RethinkDB bằng trình soạn thảo vim.
Dán cấu hình sau vào đó.
Bây giờ hãy tải lại hệ thống systemd và khởi động dịch vụ RethinkDB.
RethinkDB hiện đã được cài đặt và đang chạy trên hệ thống CentOS 7.
Kiểm tra bằng lệnh sau.
Và bạn sẽ nhận được kết quả như bên dưới.
Đi tới thư mục '/usr/local/src' và tải xuống 'Clozure Common Lisp' cho Linux 86/64-bit bằng lệnh wget.
Giải nén tệp nén 'Clozure Common Lisp' và xóa tệp chính.
Và bạn sẽ nhận được thư mục 'ccl'. Vào thư mục 'ccl' và sao chép tệp bin 'ccl64' vào thư mục '/usr/bin'.
Bây giờ hãy xác minh cài đặt 'Clozure Common Lisp' bằng cách chạy lệnh 'ccl64'.
Và đảm bảo bạn nhận được kết quả như bên dưới.
'Clozure Common lisp' hiện đã được cài đặt. Và nếu bạn muốn thoát khỏi shell 'ccl', hãy nhập lệnh quit.
Trước khi cài đặt Quicklisp, vui lòng thêm người dùng mới để cài đặt turtl.
Bây giờ hãy đăng nhập với tư cách là người dùng 'turtl'.
Tải xuống các tệp 'quicklisp.lisp' và 'asdf.lisp' bằng lệnh wget/curl.
Bây giờ hãy tải 'quicklisp.lisp' bằng lệnh 'ccl64' như bên dưới.
Và bạn sẽ nhận được dòng lệnh shell 'ccl'. Cài đặt Quicklisp bằng lệnh bên dưới.
Lệnh sẽ tải xuống tất cả các phụ thuộc cho Quicklisp. Sau khi hoàn tất, thêm tệp 'init' Quicklisp và tải 'asdf.lisp'.
Khi hoàn tất, thoát khỏi shell 'ccl'.
Và xóa các tệp 'quicklisp.lisp' và 'asdf.lisp'.
Quiclisp đã được cài đặt.
Đăng nhập với tư cách là người dùng 'turtl' và sao chép mã nguồn turtl bằng git.
Đi tới thư mục 'api' và tạo tệp mới 'launch.lisp' bằng vim.
Dán cấu hình sau vào đó.
Lưu và thoát.
Tiếp theo, chúng ta cần cài đặt một số phụ thuộc cho turtl. Đi đến thư mục quicklisp và sao chép tất cả các phụ thuộc.
Tải xuống tất cả các phụ thuộc bằng cách chạy tất cả các lệnh bên dưới.
Và chỉnh sửa tệp ccl init.
Đi đến cuối dòng, dán cấu hình sau vào đó.
Lưu và thoát.
Bây giờ hãy sao chép cấu hình turtl mặc định 'config.lisp' và chỉnh sửa nó bằng vim.
Trên dòng 'server-bind', hãy thêm địa chỉ IP localhost như bên dưới.
Lưu và thoát.
Sau khi hoàn tất mọi cấu hình, hãy khởi động máy chủ turtl bằng lệnh 'ccl64'.
Lệnh này sẽ cài đặt API máy chủ Turtl và khi hoàn tất, bạn sẽ nhận được kết quả như bên dưới.
Nhấn 'Ctrl + c' và nhập '(quit)' để thoát.
Đi đến thư mục '/lib/systemd/system' và tạo tệp 'turtl.service' mới bằng vim.
Dán cấu hình dịch vụ turtl sau vào đó.
Lưu và thoát.
Bây giờ hãy tải lại systemd và khởi động dịch vụ turtl bằng lệnh systemctl.
Thêm dịch vụ turtl vào thời gian khởi động và kiểm tra trạng thái dịch vụ turtl.
Bạn sẽ nhận được kết quả như bên dưới.
Dịch vụ turtl hiện đang chạy như một dịch vụ trên hệ thống CentOS 7.
Cài đặt apache2 với tất cả các phụ thuộc bằng lệnh yum bên dưới.
Sau khi cài đặt hoàn tất, hãy thêm tệp máy chủ ảo mới cho Turtl.
Đi tới thư mục '/etc/httpd/conf.d' và tạo tệp máy chủ ảo mới 'turtl.conf'.
Dán cấu hình máy chủ ảo sau vào đó.
Lưu và thoát.
Bây giờ hãy kiểm tra cấu hình Apache và đảm bảo không có lỗi nào.
Bây giờ, hãy khởi động lại dịch vụ httpd và cho phép nó khởi chạy mọi lúc khi khởi động hệ thống.
Máy chủ web Apache2/httpd đã được cài đặt trên hệ thống CentOS 7 và nó hoạt động như một proxy ngược cho ứng dụng Turtl trên cổng 8181.
Kiểm tra bằng lệnh netstat bên dưới.
Nhấp vào liên kết 'Tạo tài khoản'.
Bây giờ, hãy nhấp vào nút 'Tôi sẽ nhớ thông tin đăng nhập của mình'.
Nhập địa chỉ email cùng mật khẩu và tên miền máy chủ Turtl của bạn.
Và nhấp vào nút 'Tham gia'.
Bây giờ bạn sẽ thấy một cửa sổ mới - nhấp vào nút 'bỏ qua bước này'.
Và bạn sẽ thấy bảng điều khiển turtl trống. Tại đây, bạn có thể thêm ghi chú, mật khẩu, tệp, dấu trang, v.v. mới.
Quá trình cài đặt máy chủ Turtl trên hệ thống CentOS 7 đã hoàn tất thành công.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn từng bước cách cài đặt và cấu hình máy chủ Turtl trên CentOS 7. Máy chủ Turtl được viết bằng Common Lisp, vì vậy chúng ta cần cài đặt Common Lisp và QuickLisp trên hệ thống. Hướng dẫn này sẽ đề cập đến một số chủ đề bao gồm cài đặt Libuv trên hệ thống CentOS 7 và cài đặt RethinkDB cho kho dữ liệu turtl.
Điều kiện tiên quyết
- CentOS 7
- Quyền root
Những gì chúng ta sẽ làm
- Cài đặt Công cụ phát triển
- Cài đặt Libuv trên CentOS 7
- Cài đặt và cấu hình RethinkDB
- Cài đặt Common Lisp
- Cài đặt Quicklisp
- Tải xuống và cài đặt Turtl Server
- Chạy Turtl Server dưới dạng Dịch vụ
- Cài đặt và cấu hình Apache làm Proxy ngược cho Turtl
- Kiểm tra
Bước 1 - Cài đặt Công cụ phát triển
Đối với hướng dẫn này, chúng ta cần các gói 'Công cụ phát triển' được cài đặt trên CentOS system.Cài đặt 'Development Tools' bằng lệnh yum bên dưới.
Mã:
sudo yum group install "Development Tools"
Bước 2 - Cài đặt Libuv trên CentOS 7
Libuv là thư viện hỗ trợ đa nền tảng tập trung vào I/O không đồng bộ. Turtl Server cần thư viện này và chúng ta sẽ cài đặt thủ công thư viện này.Trước khi cài đặt thủ công 'Libuv' vào hệ thống, hãy cài đặt openssl và openssl-devel.
Mã:
yum -y install openssl openssl-devel
Mã:
cd /usr/local/src
wget http://dist.libuv.org/dist/v1.9.1/libuv-v1.9.1.tar.gz
Mã:
tar -xf libuv-v1.9.1.tar.gz
rm -f libuv-v1.9.1.tar.gz
Mã:
cd libuv-v1.9.1/
Mã:
sh autogen.sh
./configure
make
make install
Mã:
sudo ldconfig
Bước 3 - Cài đặt và cấu hình RethinkDB
RethinkDB là cơ sở dữ liệu hướng tài liệu phân tán và mã nguồn mở, và Turtl Server đang sử dụng RethinkDB làm kho lưu trữ dữ liệu.Trong bước này, chúng tôi sẽ cài đặt RethinkDB từ kho lưu trữ riêng của nó.
Thêm kho lưu trữ RethinkDB cho CentOS 7 vào hệ thống.
Mã:
sudo wget http://download.rethinkdb.com/centos/7/`uname -m`/rethinkdb.repo \
-O /etc/yum.repos.d/rethinkdb.repo
Mã:
sudo yum -y install rethinkdb
Mã:
cp /etc/rethinkdb/default.conf.sample /etc/rethinkdb/instances.d/default.conf
Mã:
cd /etc/systemd/system
vim rethinkdb.service
Mã:
# Tự động tạo bởi systemd-sysv-generator
[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/init.d/rethinkdb
Description=LSB: Điều này khởi động một tập hợp các phiên bản máy chủ rethinkdb.
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
Mã:
systemctl daemon-reload
systemctl start rethinkdb
Kiểm tra bằng lệnh sau.
Mã:
systemctl status rethinkdb
netstat -plntu
Bước 4 - Cài đặt Common Lisp
Common Lisp (CL) là một phương ngữ của ngôn ngữ lập trình Lisp. Đây là thành viên của họ Lisp. Ở bước này, chúng ta sẽ cài đặt thủ công 'Clozure Common Lisp' vào hệ thống CentOS.Đi tới thư mục '/usr/local/src' và tải xuống 'Clozure Common Lisp' cho Linux 86/64-bit bằng lệnh wget.
Mã:
cd /usr/local/src
wget https://github.com/Clozure/ccl/releases/download/v1.11.5/ccl-1.11.5-linuxx86.tar.gz
Mã:
tar -xf ccl-1.11.5-linuxx86.tar.gz
rm -f ccl-1.11.5-linuxx86.tar.gz
Mã:
cd /usr/local/src/ccl
sudo cp scripts/ccl64 /usr/bin/
Mã:
ccl64
'Clozure Common lisp' hiện đã được cài đặt. Và nếu bạn muốn thoát khỏi shell 'ccl', hãy nhập lệnh quit.
Mã:
(quit)
Bước 5 - Cài đặt Quicklisp
Quicklisp là trình quản lý thư viện cho Common Lisp. Chúng ta cần cài đặt 'Quicklisp' trên hệ thống vì turtl tải tất cả các phụ thuộc của nó thông qua hệ thống Quicklisp.Trước khi cài đặt Quicklisp, vui lòng thêm người dùng mới để cài đặt turtl.
Mã:
useradd -m -s /bin/bash turtl
passwd turtl
Mã:
su - turtl
Mã:
wget https://common-lisp.net/project/asdf/asdf.lisp
curl -O https://beta.quicklisp.org/quicklisp.lisp
Mã:
ccl64 --load quicklisp.lisp
Mã:
(quicklisp-quickstart:install)
Mã:
(ql:add-to-init-file)
(load (compile-file "asdf.lisp"))
Mã:
(quit)
Mã:
rm -f asdf.lisp quicklisp.lisp
Bước 6 - Tải xuống và cài đặt Turtl Server
Trong bước này, chúng ta sẽ cài đặt Turtl dưới người dùng 'turtl' mà chúng ta đã tạo trên top.Đăng nhập với tư cách là người dùng 'turtl' và sao chép mã nguồn turtl bằng git.
Mã:
su - turtl
git clone https://github.com/turtl/api.git
Mã:
cd /home/turtl/api
vim launch.lisp
Mã:
(pushnew "./" asdf:*central-registry* :test #'equal)
(load "start")
Tiếp theo, chúng ta cần cài đặt một số phụ thuộc cho turtl. Đi đến thư mục quicklisp và sao chép tất cả các phụ thuộc.
Mã:
cd ~/quicklisp/local-projects
Mã:
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
Mã:
vim /home/turtl/.ccl-init.lisp
Mã:
(cwd "/home/turtl/api")
(load "/home/turtl/api/launch")
Bây giờ hãy sao chép cấu hình turtl mặc định 'config.lisp' và chỉnh sửa nó bằng vim.
Mã:
cp /home/turtl/api/config/config.default.lisp /home/turtl/api/config/config.lisp
vim /home/turtl/api/config/config.lisp
Mã:
defvar *server-bind* "127.0.0.1"
Sau khi hoàn tất mọi cấu hình, hãy khởi động máy chủ turtl bằng lệnh 'ccl64'.
Mã:
ccl64
Nhấn 'Ctrl + c' và nhập '(quit)' để thoát.
Bước 7 - Chạy máy chủ Turtl dưới dạng dịch vụ
API máy chủ Turtl đã được cài đặt dưới người dùng 'turtl'. Và đối với hướng dẫn này, chúng ta sẽ chạy turtl như một dịch vụ.Đi đến thư mục '/lib/systemd/system' và tạo tệp 'turtl.service' mới bằng vim.
Mã:
cd /lib/systemd/system/
vim turtl.service
Mã:
[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
Bây giờ hãy tải lại systemd và khởi động dịch vụ turtl bằng lệnh systemctl.
Mã:
systemctl daemon-reload
systemctl start turtl
Thêm dịch vụ turtl vào thời gian khởi động và kiểm tra trạng thái dịch vụ turtl.
Mã:
systemctl enable turtl
systemctl status turtl
Dịch vụ turtl hiện đang chạy như một dịch vụ trên hệ thống CentOS 7.
Bước 8 - Cài đặt và cấu hình Apache/httpd làm Proxy ngược cho Turtl
Trong hướng dẫn này, chúng ta sẽ chạy máy chủ Turtl dưới máy chủ proxy ngược Apache/httpd. Máy chủ Turtl hiện đang chạy dưới IP cục bộ '127.0.0.1' với cổng '8181' và bây giờ chúng ta sẽ cài đặt máy chủ web Apache2 và cấu hình nó làm proxy ngược cho máy chủ Turtl.Cài đặt apache2 với tất cả các phụ thuộc bằng lệnh yum bên dưới.
Mã:
yum -y install httpd mod_proxy_html
Đi tới thư mục '/etc/httpd/conf.d' và tạo tệp máy chủ ảo mới 'turtl.conf'.
Mã:
cd /etc/httpd/conf.d/
vim turtl.conf
Mã:
ServerName turtl.hakase-labs.co
ServerAdmin [emailprotected]
ProxyPreserveHost Bật
ProxyRequests tắt
RewriteEngine Bật
Order deny,allow
Allow from all
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
Bây giờ hãy kiểm tra cấu hình Apache và đảm bảo không có lỗi nào.
Mã:
apachectl configtest
Mã:
systemctl restart httpd
systemctl enable httpd
Máy chủ web Apache2/httpd đã được cài đặt trên hệ thống CentOS 7 và nó hoạt động như một proxy ngược cho ứng dụng Turtl trên cổng 8181.
Kiểm tra bằng lệnh netstat bên dưới.
Mã:
netstat -plntu
Bước 9 - Kiểm tra
Tải xuống ứng dụng khách turtl và mở ứng dụng đó.Nhấp vào liên kết 'Tạo tài khoản'.
Bây giờ, hãy nhấp vào nút 'Tôi sẽ nhớ thông tin đăng nhập của mình'.
Nhập địa chỉ email cùng mật khẩu và tên miền máy chủ Turtl của bạn.
Và nhấp vào nút 'Tham gia'.
Bây giờ bạn sẽ thấy một cửa sổ mới - nhấp vào nút 'bỏ qua bước này'.
Và bạn sẽ thấy bảng điều khiển turtl trống. Tại đây, bạn có thể thêm ghi chú, mật khẩu, tệp, dấu trang, v.v. mới.
Quá trình cài đặt máy chủ Turtl trên hệ thống CentOS 7 đã hoàn tất thành công.