This guide sets up a TVIP Provisioning Server on Ubuntu 22.04. The boxes retrieve
/prov/tvip_provision.xml; if a MAC header is present and a matching folder exists,
the request is automatically redirected to /prov.mac/<MAC>/tvip_provision.xml.
Requirements & Domain Input
- Ubuntu 22.04 LTS with
sudo
- Port 80 reachable (externally or only within the LAN)
- FQDN/domain (not an IP address), for example
provisioning.example.com
Enter the domain: Only the domain — without http:// or https://,
and without paths or ports. The name must end with a valid TLD, such as .com, .ch, or .net.
- Correct:
provisioning.example.com
- Incorrect:
http://provisioning.example.com, example.local/abc, 192.0.2.10
Installation
curl -fsSL https://raw.githubusercontent.com/AproAG-CH/tvip-provisioning-installer/main/install.sh | sudo -E bash
The installer prompts for the domain and sets up NGINX as well as the directory structure.
Storage Locations
- Default:
/var/www/provisioning/prov/tvip_provision.xml
- Per MAC:
/var/www/provisioning/prov.mac/<MAC>/tvip_provision.xml
- Index:
/var/www/provisioning/html/index.html
Create a per-MAC example:
MAC=00:11:22:33:44:55
sudo mkdir -p /var/www/provisioning/prov.mac/$MAC
sudo cp /var/www/provisioning/prov/tvip_provision.xml /var/www/provisioning/prov.mac/$MAC/
sudo chown -R www-data:www-data /var/www/provisioning/prov.mac/$MAC
# Test (returns the MAC-specific version if the folder exists)
curl -I -H "MAC-Address: $MAC" http://provisioning.example.com/prov/tvip_provision.xml
Quick Check
# Check NGINX and reload it
sudo nginx -t && sudo systemctl reload nginx
# Start page
curl -I http://provisioning.example.com/
# Default provisioning XML
curl -I http://provisioning.example.com/prov/tvip_provision.xml
# Optional: MAC override (if the file exists)
curl -I -H 'MAC-Address: 00:11:22:33:44:55' \
http://provisioning.example.com/prov/tvip_provision.xml