Skip to content

Installing goax on DigitalOcean

Guide for Ubuntu droplets with Nginx.

1. Install goax

# Clone the repo
cd /opt
sudo git clone https://github.com/pforret/goax.git
sudo chmod +x /opt/goax/goax.sh

# Add to PATH (optional)
sudo ln -s /opt/goax/goax.sh /usr/local/bin/goax

2. Install goaccess

goax install
# or manually:
sudo apt update && sudo apt install goaccess -y

3. Configure

cd /opt/goax
goax config

Typical DigitalOcean values:

ACCESS_LOG="/var/log/nginx/access.log"
OUTPUT_DIR="/var/www/html/stats"
LOG_FORMAT="COMBINED"

For multiple sites:

ACCESS_LOG="/var/log/nginx/*access.log"

4. Setup protected folder

sudo goax folder statsadmin

Add to /etc/nginx/sites-available/default:

location /stats {
    auth_basic "Statistics";
    auth_basic_user_file /etc/nginx/.htpasswd;
    alias /var/www/html/stats;
    index report.html;
}

Reload nginx:

sudo nginx -t && sudo systemctl reload nginx

5. Generate first report

sudo goax run

View at: https://your-droplet-ip/stats/

6. Setup cron

sudo crontab -e

Add (hourly reports):

0 * * * * /opt/goax/goax.sh run >> /var/log/goax.log 2>&1

Troubleshooting

Permission denied on log files:

sudo usermod -aG adm $USER
# logout/login required

Nginx config test fails:

sudo nginx -t

Check goaccess version:

goaccess --version