#!/bin/bash # # vmail-stack # https://git.stack-source.com/msb/vmail-stack # Copyright (c) 2022 Matthew Saunders Brown # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # load include file source $(dirname $0)/vmail.sh help() { thisfilename=$(basename -- "$0") echo "$thisfilename" echo "Enable webmail for given domain" echo "" echo "usage: $thisfilename -d [-h]" echo "" echo " -h Print this help." echo " -d Domain to enable webmail for." echo "" echo " Let's Encrypt certificate must already exist. If need be run this first:" echo " letsencrypt-certonly.sh -d " } vmail:getoptions "$@" # check for domain if [[ -z $domain ]]; then echo "ERROR: domain name is required" exit 1 fi # check that letsencrypt cert exists if [ ! -f /etc/ssl/letsencrypt/mail.$domain.pem ]; then echo "Let's Encrypt cert for mail.$domain does not exist, create that first:" exit 1 fi # enable webmail vhost & restart apache if [ ! -f "/etc/apache2/sites-available/mail.$domain.conf" ]; then echo "Use VMailHTTPS mail.$domain" > /etc/apache2/sites-available/mail.$domain.conf fi if [ ! -h "/etc/apache2/sites-enabled/mail.$domain.conf" ]; then /usr/sbin/a2ensite --quiet mail.$domain /usr/bin/systemctl --quiet is-active apache2 && systemctl --quiet reload apache2 fi