add new letsencrypt-bulk-certonly.sh
This commit is contained in:
parent
0cbb15247f
commit
8ddf542dcf
42
bin/letsencrypt-bulk-certonly.sh
Executable file
42
bin/letsencrypt-bulk-certonly.sh
Executable file
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash
|
||||
|
||||
# must be root
|
||||
if [ "$USER" != "root" ]; then
|
||||
exec sudo -u root $0 $@
|
||||
fi
|
||||
|
||||
help()
|
||||
{
|
||||
thisfilename=$(basename -- "$0")
|
||||
echo "Bulk installs Let's Encrypt certificates."
|
||||
echo ""
|
||||
echo "Usage: $thisfilename [OPTIONS]"
|
||||
echo ""
|
||||
echo " -h Print this help."
|
||||
echo
|
||||
echo " Checks /srv/www/ for all virtualhosts and"
|
||||
echo " runs letsencrypt-certonly.sh for any site"
|
||||
echo " that doesn't already have a cert installed."
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
# check for help
|
||||
if [ -n "$1" ]; then
|
||||
help
|
||||
fi
|
||||
|
||||
readarray -t virtualhosts < <(ls -1 /srv/www/|grep -v ^html$)
|
||||
|
||||
for virtualhost in "${virtualhosts[@]}"; do
|
||||
|
||||
# basic but good enough domain name regex validation
|
||||
if [[ $virtualhost =~ ^(([a-zA-Z0-9](-?[a-zA-Z0-9])*)\.)+[a-zA-Z]{2,}$ ]] ; then
|
||||
if [ ! -f /etc/letsencrypt/renewal/$virtualhost.conf ]; then
|
||||
echo "/usr/local/bin/letsencrypt-certonly.sh -d $virtualhost"
|
||||
fi
|
||||
fi
|
||||
|
||||
# add code here to enable apache config
|
||||
|
||||
done
|
Loading…
Reference in New Issue
Block a user