canine-docs/docs/nodes/1_install.md
Jackson Willette 237c4af1ac
Update firewall rules
New PR from main branch b/c idk how to git

Add firewall rules and enable firewall as a matter of security best practice.

Add command to log in as new jackal user and update wording to match
2023-04-22 18:32:19 -05:00

2.7 KiB

sidebar_position
0

Setting Up

Pre-Requisites

There are a few things needed before installing.

While logged in as the 'root' or 'admin' user, we add a 'jackal' user and give them root privileges.

Enable Firewall Rules

Enabling the firewall is important to ensure your hardware remains secure. The following commands will add rules required for access on both validators and providers:

sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443

Additional ports are required if you are running a validator:

sudo ufw allow 26657
sudo ufw allow 26658

The only additional port required for a provider is 3333:

sudo ufw allow 3333

If you are running a combined validator/provider, you need to allow all of the above ports. After adding ports to the rules list, you will need to start the firewall:

sudo ufw enable

After starting the firewall, verify all of the required rules are in place by running:

sudo ufw status verbose

Your output should be similar to the following:

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
1317                       ALLOW       Anywhere
3333                       ALLOW       Anywhere
26657                      ALLOW       Anywhere
26658                      ALLOW       Anywhere

Create Jackal user

sudo adduser --gecos "" jackal
sudo usermod -aG sudo jackal

Log in as the jackal user to complete the below steps:

sudo su - jackal

Installing required tools

This will install the necessary tools to build the jackal chain source, along with lz4 compression tool and jquery tool.

sudo apt update
sudo apt install build-essential lz4 jq

Installing Go

Follow more in-depth instructions to install Go v1.19 or higher here.

On Ububtu you can install it with:

GOVER=$(curl https://go.dev/VERSION?m=text)
wget https://golang.org/dl/${GOVER}.linux-amd64.tar.gz
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf ${GOVER}.linux-amd64.tar.gz

Add the following golang path info to the current users ~/.profile.

Also add it to the skeleton profile so all new users have it. /etc/skel/.profile

# add environmental variables for Go
if [ -f "/usr/local/go/bin/go" ] ; then
    export GOROOT=/usr/local/go
    export GOPATH=${HOME}/go
    export GOBIN=$GOPATH/bin
    export PATH=${PATH}:${GOROOT}/bin:${GOBIN}
    export GO111MODULE=on
fi

Restarting the shell with youre profile settings or just rebasing them like so is required.

source ~/.profile