# Setting Up | Jackal Chain Docs
Pre-Requisites

Skip to main content

# 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