How to Install Turtl Server on Alibaba Cloud ECS

Prerequisites

  • You must have Alibaba Cloud Elastic Compute Service (ECS) activated and verified your valid payment method. If you are a new user, you can get $300 — $1200 worth in Alibaba Cloud credits for your new account. If you don’t k about how to setup your ECS instance, you can refer to this tutorial or quick-start guide. Your ECS instance must have at least 1GB RAM and 1 Core processor.
  • A domain name registered from Alibaba Cloud. If you have already registered a domain from Alibaba Cloud or any other host, you can update its domain nameserver records.
  • Domain name must be pointed to your Alibaba Cloud ECS’s IP address
  • Access to VNC console in your Alibaba Cloud or SSH client installed in your PC
  • Set up your server’s hostname and create user with root privileges.

Setting Up Your Server

Before proceeding with installation of any kind of package, use the following command to update your Ubuntu system. To execute this command, remember to login from non-root user with sudo privileges.

# sudo apt update && sudo apt upgrade
# sudo apt-get install git
# git config --global user.name "Aareez"
# git config --global user.email "xyz@example.com"
# sudo apt-get install curl
# sudo apt-get install libtool
# sudo apt-get install subversion
# sudo apt-get install make
# sudo apt-get install automake
# wget https://dist.libuv.org/dist/v1.13.0/libuv-v1.13.0.tar.gz
# tar -xvf libuv-v1.13.0.tar.gz
# rm libuv-v1.13.0.tar.gz
# cd libuv-v1.13.0
# sudo sh autogen.sh
# sudo ./configure
# sudo make
# sudo make install
# sudo ldconfig

Install RethinkDB:

You will need to install JSON database “RethinkDB”, Turtl will do settings automatically. To install RethinkDB, follow the steps below.

# source /etc/lsb-release && echo "deb http://download.rethinkdb.com/apt $xenial main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
# wget -qO- https://download.rethinkdb.com/apt/pubkey.gpg | sudo apt-key add -
# sudo nano /etc/apt/sources.list.d/rethinkdb.listdeb http://download.rethinkdb.com/apt xenial main
# sudo apt-get update
# sudo apt-get install rethinkdb
# sudo mv /etc/rethinkdb/default.conf.sample /etc/rethinkdb/default.conf
# sudo systemctl restart rethinkdb.service

Install Clozure Common Lisp:

As Turtl is written in Common Lips, you will need to install Clozure Common Lisp. To install it, follow the steps below.

# svn co http://svn.clozure.com/publicsvn/openmcl/release/1.11/linuxx86/ccl
# cd ccl
# svn update
# cd ..
# sudo cp -r ccl/ /usr/local/src
# sudo cp /usr/local/src/ccl/scripts/ccl64 /usr/local/bin
# ccl64
# (quit)

Install QuickLisp and ASDF:

Turtl will load its dependencies through QuickLisp and ASDF builds Lisp software. To install these, follow the steps below.

# cd ~
# wget https://beta.quicklisp.org/quicklisp.lisp
# ccl64 --load quicklisp.lisp
# (quicklisp-quickstart:install)
# (ql:add-to-init-file)
# (quit)
# wget https://common-lisp.net/project/asdf/asdf.lisp
# ccl64 --load quicklisp.lisp
# (load (compile-file "asdf.lisp"))
# (quit)

Install and Configure Turtl:

Clone Turtl from Github by executing the following command.

# git clone https://github.com/turtl/api.git
# cd api
# touch launch.lisp
# nano launch.lisp
(pushnew "./" asdf:*central-registry* :test #'equal)
(load "start")
# cd ~/quicklisp/local-projects
# echo "https://github.com/orthecreedence/cl-hash-util https://github.com/orthecreedence/cl-async https://github.com/orthecreedence/cffi https://github.com/orthecreedence/wookie https://github.com/orthecreedence/cl-rethinkdb https://github.com/orthecreedence/cl-libuv https://github.com/orthecreedence/drakma-async https://github.com/Inaimathi/cl-cwd.git" > dependencies.txt
# for repo in `cat dependencies.txt`; do `git clone $repo`; done
# sudo nano /home/.ccl-init.lisp(cwd "/home/turtl/api")
(load "/home/turtl/api/launch")
# sudo cp api/config/config.default.lisp api/config/config.lisp
# sudo nano api/config/config.lisp
# ccl64

Set Up Firewalls and Ports

If you have activated firewalls, you will have to define a rule in Alibaba Cloud security group for your cloud server to add exception for port 80/tcp and 443/tcp. You can enable these ports while creating ECS instance, but in case if you have forgotten to unblock these ports, you can follow the procedure in this guide: https://www.alibabacloud.com/help/doc-detail/25471.htm

Install Turtl Client App

You will need to download Turtl Client app from its official website. It is available for Windows, macOSx, Linux and Android.

Original Source

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alibaba Cloud

Alibaba Cloud

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:https://www.alibabacloud.com