29 lines
870 B
Bash
29 lines
870 B
Bash
#!/bin/sh
|
|
|
|
bestip=$(dig +short a tilde.best)
|
|
|
|
for byod in /home/*/byod; do
|
|
user=$(stat -c '%U' $byod)
|
|
domain=$(cat $byod)
|
|
echo "$user is requesting $domain"
|
|
if [ -s /etc/nginx/sites-enabled/byod-$user-$domain.conf ]; then
|
|
echo "byod already configured for $user and $domain"
|
|
continue
|
|
else
|
|
domainip=$(dig +short a $domain)
|
|
if [ "$bestip" == "$domainip"]
|
|
then
|
|
sed -e "s/<user>/$user/" -e "s/<domain>/$domain/" template.conf \
|
|
> /etc/nginx/sites-available/byod-$user-$domain.conf
|
|
ln -s ../sites-available/byod-$user-$domain.conf /etc/nginx/sites-enabled/byod-$user-$domain.conf
|
|
certbot --nginx -d $domain --non-interactive --redirect
|
|
else
|
|
echo "domain's dns not configured correctly"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
nginx -t
|
|
systemctl reload nginx
|
|
|