How to Access Your Hugo Site Externally on Alpine Linux

To access your Hugo site externally on Alpine Linux, follow these steps to ensure your server is properly set up and accessible:

1. Install Required Dependencies

sudo apk add curl git nginx

2. Download Hugo

HUGO_VERSION=0.143.1
TEMP=$(mktemp -d)
wget -O "${TEMP}/hugo.tar.gz" "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz"

3. Extract and Install Hugo

sudo tar -xf "${TEMP}/hugo.tar.gz" -C /usr/bin
sudo apk add --update libc6-compat libstdc++

4. Verify Installation

hugo version

5. Build Your Hugo Site

Navigate to your Hugo site’s directory and run:

hugo

This will generate your static site files in the public/ directory.

6. Configure Nginx

Create an Nginx configuration file for your site:

sudo vim /etc/nginx/conf.d/hugo.conf

Add the following content, replacing /path/to/your/hugo/site/public with the actual path to your Hugo site’s public directory:

server {
    listen 80;
    server_name your_domain.com;

    root /path/to/your/hugo/site/public;

    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

7. Start Nginx

Start the Nginx service:

sudo service nginx start

Enable Nginx to start on boot:

sudo rc-update add nginx

8. Open Firewall Ports

Ensure that the necessary ports (usually port 80 for HTTP and port 443 for HTTPS) are open on your server’s firewall to allow external access:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
sudo /etc/init.d/iptables save
sudo rc-update add iptables
sudo service iptables start

9. Update DNS Settings

If you have a custom domain, update your DNS settings to point to your server’s IP address. This typically involves setting up an A record or CNAME record with your domain registrar.

10. Access Your Hugo Site

Once everything is set up, you should be able to access your Hugo site externally by navigating to http://your_domain.com or http://<your-server-ip> in a web browser.

This setup will allow you to serve your Hugo site on Alpine Linux and make it accessible externally.


Chuck Norris Joke: When Chuck Norris builds a Hugo site, the internet rearranges itself to make room.


Related Posts