canine-docs/docs/nodes/1_install.md

120 lines
2.7 KiB
Markdown
Raw Permalink Normal View History

2022-12-08 04:31:53 +00:00
---
sidebar_position: 4
2022-12-08 04:31:53 +00:00
---
2022-12-08 04:31:53 +00:00
# Setting Up
## Pre-Requisites
2022-12-08 04:31:53 +00:00
There are a few things needed before installing.
2022-12-08 04:31:53 +00:00
2023-04-21 22:16:46 +00:00
While logged in as the 'root' or 'admin' user, we add a 'jackal' user and give them root privileges.
2023-01-05 21:54:35 +00:00
### 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:
```sh
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
```
Additional ports are required if you are running a validator:
```sh
sudo ufw allow 26657
sudo ufw allow 26658
```
The only additional port required for a provider is 3333:
```sh
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:
```sh
sudo ufw enable
```
After starting the firewall, verify all of the required rules are in place by running:
```sh
sudo ufw status verbose
```
Your output should be similar to the following:
```sh
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
```
2023-01-05 21:54:35 +00:00
### Create Jackal user
```sh
sudo adduser --gecos "" jackal
2023-04-21 22:16:46 +00:00
sudo usermod -aG sudo jackal
2023-01-05 21:54:35 +00:00
```
Log in as the jackal user to complete the below steps:
```sh
sudo su - jackal
```
2023-04-21 22:16:46 +00:00
2022-12-08 04:31:53 +00:00
### Installing required tools
2022-12-08 04:31:53 +00:00
This will install the necessary tools to build the jackal chain source, along with lz4 compression tool and jquery tool.
```sh
sudo apt update
sudo apt install build-essential lz4 jq
```
### Installing Go
2022-12-08 04:31:53 +00:00
Follow more in-depth instructions to install Go v1.19 or higher [here](https://golang.org/doc/install).
On Ububtu you can install it with:
```sh
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`
```sh
# 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.
```sh
source ~/.profile
2023-01-05 21:54:35 +00:00
```