Run zend from a specified lower port using authbind
Set port variable
Install and configure authbind
Update firewall rule
Overwrite zend systemd unit files and reload the daemon
Replace port 9033 with new port in zen.conf
Restart zend and zentracker
NOTE: After executing the following steps for this guide, if you have a need to run zend manually, you will need to instead use the following: authbind --deep /usr/bin/zend
If you need to run zend manually or need to run a rescan or reindex, those would be accomplished as follows
authbind --deep /usr/bin/zend
authbind --deep /usr/bin/zend --rescan
authbind --deep /usr/bin/zend --reindex
Description | Command | |
|---|---|---|
| 1 | Set a port variable, replace <port> with your port number, remove <brackets> | PORT=<port> |
| 2 | Install and configure authbind using the custom port set in the previous step | sudo apt-get install authbind -ysudo touch /etc/authbind/byport/$PORTsudo chown $USER /etc/authbind/byport/$PORTchmod 755 /etc/authbind/byport/$PORT |
| 3 | Add your port to your firewall rule set | sudo ufw allow $PORT/tcp |
| 4 | Overwrite existing zend systemd unit file, copy and paste the entire block of text | echo \
"[Unit]
Description=Zen daemon
[Service]
User=$USER
Type=forking
ExecStart=/usr/bin/authbind --deep /usr/bin/zend -daemon -pid=$HOME/.zen/zend.pid
PIDFile=$HOME/.zen/zend.pid
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target" | sudo tee /lib/systemd/system/zend.service |
| 5 | Overwrite existing zenupdate systemd unit file, copy and paste the entire block of text | echo \
"[Unit]
Description=zenupdate.service
[Service]
Type=oneshot
ExecStart=/usr/bin/certbot -q renew --deploy-hook \"cat /etc/letsencrypt/live/$FQDN/chain.pem|sudo awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > \"/usr/local/share/ca-certificates/intermediate-cert\" n \".crt\"}' && update-ca-certificates --fresh && systemctl restart zend\"
PrivateTmp=true" | sudo tee /lib/systemd/system/zenupdate.service |
| 6 | Overwrite existing zenupdate timer systemd unit file, copy and paste the entire block of text | echo \
"[Unit]
Description=Run zenupdate unit twice a month @ 06:00:00 (UTC)
[Timer]
OnCalendar=*-*-01 06:00:00
OnCalendar=*-*-03 06:00:00
Unit=zenupdate.service
Persistent=true
[Install]
WantedBy=timers.target" | sudo tee /lib/systemd/system/zenupdate.timer |
| 7 | Reload the systemd daemon to load the changes | sudo systemctl daemon-reload |
| 8 | Replace port 9033 with new port in zen.conf | sed -i "s/port=9033/port=$PORT/g" ~/.zen/zen.conf |
| 9 | Remove the old 9033 firewall rule | sudo ufw delete allow 9033/tcp |
| 10 | Restart zend and zentracker | sudo systemctl restart zend zentracker |