diff --git a/install/vst-install-amazon.sh b/install/vst-install-amazon.sh index 2bae64187..d3067462f 100644 --- a/install/vst-install-amazon.sh +++ b/install/vst-install-amazon.sh @@ -33,27 +33,28 @@ software="nginx httpd mod_ssl mod_ruid2 mod_fcgid mod_extract_forwarded # Defining help function help() { echo "Usage: $0 [OPTIONS] - -a, --apache Install Apache [yes|no] default: yes - -n, --nginx Install Nginx [yes|no] default: yes - -w, --phpfpm Install PHP-FPM [yes|no] default: no - -v, --vsftpd Install Vsftpd [yes|no] default: yes - -j, --proftpd Install ProFTPD [yes|no] default: no - -k, --named Install Bind [yes|no] default: yes - -m, --mysql Install MySQL [yes|no] default: yes - -g, --postgresql Install PostgreSQL [yes|no] default: no - -d, --mongodb Install MongoDB [yes|no] unsupported - -x, --exim Install Exim [yes|no] default: yes - -z, --dovecot Install Dovecot [yes|no] default: yes - -c, --clamav Install ClamAV [yes|no] default: yes - -t, --spamassassin Install SpamAssassin [yes|no] default: yes - -i, --iptables Install Iptables [yes|no] default: yes - -b, --fail2ban Install Fail2ban [yes|no] default: yes - -r, --remi Install Remi repo [yes|no] default: yes - -o, --softaculous Install Softaculous [yes|no] default: yes - -q, --quota Filesystem Quota [yes|no] default: no + -a, --apache Install Apache [yes|no] default: yes + -n, --nginx Install Nginx [yes|no] default: yes + -w, --phpfpm Install PHP-FPM [yes|no] default: no + -v, --vsftpd Install Vsftpd [yes|no] default: yes + -j, --proftpd Install ProFTPD [yes|no] default: no + -k, --named Install Bind [yes|no] default: yes + -m, --mysql Install MySQL [yes|no] default: yes + -g, --postgresql Install PostgreSQL [yes|no] default: no + -d, --mongodb Install MongoDB [yes|no] unsupported + -x, --exim Install Exim [yes|no] default: yes + -z, --dovecot Install Dovecot [yes|no] default: yes + -c, --clamav Install ClamAV [yes|no] default: yes + -t, --spamassassin Install SpamAssassin [yes|no] default: yes + -i, --iptables Install Iptables [yes|no] default: yes + -b, --fail2ban Install Fail2ban [yes|no] default: yes + -r, --remi Install Remi repo [yes|no] default: yes + -o, --softaculous Install Softaculous [yes|no] default: yes + -q, --quota Filesystem Quota [yes|no] default: no -l, --lang Default language default: en - -y, --interactive Interactive install [yes|no] default: yes + -y, --interactive Interactive install [yes|no] default: yes -s, --hostname Set hostname + -u, --ssl Add LE SSL for hostname [yes|no] default: no -e, --email Set admin email -p, --password Set admin password -f, --force Force installation @@ -141,6 +142,7 @@ for arg; do --lang) args="${args}-l " ;; --interactive) args="${args}-y " ;; --hostname) args="${args}-s " ;; + --ssl) args="${args}-u " ;; --email) args="${args}-e " ;; --password) args="${args}-p " ;; --force) args="${args}-f " ;; @@ -152,7 +154,7 @@ done eval set -- "$args" # Parsing arguments -while getopts "a:n:w:v:j:k:m:g:d:x:z:c:t:i:b:r:o:q:l:y:s:e:p:fh" Option; do +while getopts "a:n:w:v:j:k:m:g:d:x:z:c:t:i:b:r:o:q:l:y:s:u:e:p:fh" Option; do case $Option in a) apache=$OPTARG ;; # Apache n) nginx=$OPTARG ;; # Nginx @@ -175,6 +177,7 @@ while getopts "a:n:w:v:j:k:m:g:d:x:z:c:t:i:b:r:o:q:l:y:s:e:p:fh" Option; do l) lang=$OPTARG ;; # Language y) interactive=$OPTARG ;; # Interactive install s) servername=$OPTARG ;; # Hostname + u) ssl=$OPTARG ;; # Add Let's Encrypt SSL for hostname e) email=$OPTARG ;; # Admin email p) vpass=$OPTARG ;; # Admin password f) force='yes' ;; # Force install @@ -208,6 +211,7 @@ set_default_value 'remi' 'yes' set_default_value 'softaculous' 'yes' set_default_value 'quota' 'no' set_default_value 'interactive' 'yes' +set_default_value 'ssl' 'no' set_default_lang 'en' # Checking software conflicts @@ -1332,6 +1336,13 @@ $VESTA/upd/add_notifications.sh # Adding cronjob for autoupdates $VESTA/bin/v-add-cron-vesta-autoupdate +# Add Let's Encrypt SSL for hostname and enable auto-renew +if [ "$ssl" = 'yes' ]; then + $VESTA/bin/v-add-letsencrypt-domain 'admin' $servername '' 'yes' + $VESTA/bin/v-update-host-certificate admin $servername + echo "UPDATE_HOSTNAME_SSL='yes'" >> $VESTA/conf/vesta.conf +fi + #----------------------------------------------------------# # Vesta Access Info # diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index 1f7914a20..40c6bde42 100644 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -61,26 +61,28 @@ fi # Defining help function help() { echo "Usage: $0 [OPTIONS] - -a, --apache Install Apache [yes|no] default: yes - -n, --nginx Install Nginx [yes|no] default: yes - -w, --phpfpm Install PHP-FPM [yes|no] default: no - -v, --vsftpd Install Vsftpd [yes|no] default: yes - -j, --proftpd Install ProFTPD [yes|no] default: no - -k, --named Install Bind [yes|no] default: yes - -m, --mysql Install MySQL [yes|no] default: yes - -g, --postgresql Install PostgreSQL [yes|no] default: no - -d, --mongodb Install MongoDB [yes|no] unsupported - -x, --exim Install Exim [yes|no] default: yes - -z, --dovecot Install Dovecot [yes|no] default: yes - -c, --clamav Install ClamAV [yes|no] default: yes - -t, --spamassassin Install SpamAssassin [yes|no] default: yes - -i, --iptables Install Iptables [yes|no] default: yes - -b, --fail2ban Install Fail2ban [yes|no] default: yes - -o, --softaculous Install Softaculous [yes|no] default: yes - -q, --quota Filesystem Quota [yes|no] default: no + -a, --apache Install Apache [yes|no] default: yes + -n, --nginx Install Nginx [yes|no] default: yes + -w, --phpfpm Install PHP-FPM [yes|no] default: no + -v, --vsftpd Install Vsftpd [yes|no] default: yes + -j, --proftpd Install ProFTPD [yes|no] default: no + -k, --named Install Bind [yes|no] default: yes + -m, --mysql Install MySQL [yes|no] default: yes + -g, --postgresql Install PostgreSQL [yes|no] default: no + -d, --mongodb Install MongoDB [yes|no] unsupported + -x, --exim Install Exim [yes|no] default: yes + -z, --dovecot Install Dovecot [yes|no] default: yes + -c, --clamav Install ClamAV [yes|no] default: yes + -t, --spamassassin Install SpamAssassin [yes|no] default: yes + -i, --iptables Install Iptables [yes|no] default: yes + -b, --fail2ban Install Fail2ban [yes|no] default: yes + -r, --remi Install Remi repo [yes|no] default: yes + -o, --softaculous Install Softaculous [yes|no] default: yes + -q, --quota Filesystem Quota [yes|no] default: no -l, --lang Default language default: en - -y, --interactive Interactive install [yes|no] default: yes + -y, --interactive Interactive install [yes|no] default: yes -s, --hostname Set hostname + -u, --ssl Add LE SSL for hostname [yes|no] default: no -e, --email Set admin email -p, --password Set admin password -f, --force Force installation @@ -169,6 +171,7 @@ for arg; do --lang) args="${args}-l " ;; --interactive) args="${args}-y " ;; --hostname) args="${args}-s " ;; + --ssl) args="${args}-u " ;; --email) args="${args}-e " ;; --password) args="${args}-p " ;; --force) args="${args}-f " ;; @@ -180,7 +183,7 @@ done eval set -- "$args" # Parsing arguments -while getopts "a:n:w:v:j:k:m:g:d:x:z:c:t:i:b:r:o:q:l:y:s:e:p:fh" Option; do +while getopts "a:n:w:v:j:k:m:g:d:x:z:c:t:i:b:r:o:q:l:y:s:u:e:p:fh" Option; do case $Option in a) apache=$OPTARG ;; # Apache n) nginx=$OPTARG ;; # Nginx @@ -203,6 +206,7 @@ while getopts "a:n:w:v:j:k:m:g:d:x:z:c:t:i:b:r:o:q:l:y:s:e:p:fh" Option; do l) lang=$OPTARG ;; # Language y) interactive=$OPTARG ;; # Interactive install s) servername=$OPTARG ;; # Hostname + u) ssl=$OPTARG ;; # Add Let's Encrypt SSL for hostname e) email=$OPTARG ;; # Admin email p) vpass=$OPTARG ;; # Admin password f) force='yes' ;; # Force install @@ -235,6 +239,7 @@ set_default_value 'fail2ban' 'yes' set_default_value 'softaculous' 'yes' set_default_value 'quota' 'no' set_default_value 'interactive' 'yes' +set_default_value 'ssl' 'no' set_default_lang 'en' # Checking software conflicts @@ -1362,6 +1367,13 @@ $VESTA/upd/add_notifications.sh # Adding cronjob for autoupdates $VESTA/bin/v-add-cron-vesta-autoupdate +# Add Let's Encrypt SSL for hostname and enable auto-renew +if [ "$ssl" = 'yes' ]; then + $VESTA/bin/v-add-letsencrypt-domain 'admin' $servername '' 'yes' + $VESTA/bin/v-update-host-certificate admin $servername + echo "UPDATE_HOSTNAME_SSL='yes'" >> $VESTA/conf/vesta.conf +fi + #----------------------------------------------------------# # Vesta Access Info # diff --git a/install/vst-install-rhel.sh b/install/vst-install-rhel.sh index d2eb0de6e..35c2dbaa0 100755 --- a/install/vst-install-rhel.sh +++ b/install/vst-install-rhel.sh @@ -42,27 +42,28 @@ fi # Defining help function help() { echo "Usage: $0 [OPTIONS] - -a, --apache Install Apache [yes|no] default: yes - -n, --nginx Install Nginx [yes|no] default: yes - -w, --phpfpm Install PHP-FPM [yes|no] default: no - -v, --vsftpd Install Vsftpd [yes|no] default: yes - -j, --proftpd Install ProFTPD [yes|no] default: no - -k, --named Install Bind [yes|no] default: yes - -m, --mysql Install MySQL [yes|no] default: yes - -g, --postgresql Install PostgreSQL [yes|no] default: no - -d, --mongodb Install MongoDB [yes|no] unsupported - -x, --exim Install Exim [yes|no] default: yes - -z, --dovecot Install Dovecot [yes|no] default: yes - -c, --clamav Install ClamAV [yes|no] default: yes - -t, --spamassassin Install SpamAssassin [yes|no] default: yes - -i, --iptables Install Iptables [yes|no] default: yes - -b, --fail2ban Install Fail2ban [yes|no] default: yes - -r, --remi Install Remi repo [yes|no] default: yes - -o, --softaculous Install Softaculous [yes|no] default: yes - -q, --quota Filesystem Quota [yes|no] default: no + -a, --apache Install Apache [yes|no] default: yes + -n, --nginx Install Nginx [yes|no] default: yes + -w, --phpfpm Install PHP-FPM [yes|no] default: no + -v, --vsftpd Install Vsftpd [yes|no] default: yes + -j, --proftpd Install ProFTPD [yes|no] default: no + -k, --named Install Bind [yes|no] default: yes + -m, --mysql Install MySQL [yes|no] default: yes + -g, --postgresql Install PostgreSQL [yes|no] default: no + -d, --mongodb Install MongoDB [yes|no] unsupported + -x, --exim Install Exim [yes|no] default: yes + -z, --dovecot Install Dovecot [yes|no] default: yes + -c, --clamav Install ClamAV [yes|no] default: yes + -t, --spamassassin Install SpamAssassin [yes|no] default: yes + -i, --iptables Install Iptables [yes|no] default: yes + -b, --fail2ban Install Fail2ban [yes|no] default: yes + -r, --remi Install Remi repo [yes|no] default: yes + -o, --softaculous Install Softaculous [yes|no] default: yes + -q, --quota Filesystem Quota [yes|no] default: no -l, --lang Default language default: en - -y, --interactive Interactive install [yes|no] default: yes + -y, --interactive Interactive install [yes|no] default: yes -s, --hostname Set hostname + -u, --ssl Add LE SSL for hostname [yes|no] default: no -e, --email Set admin email -p, --password Set admin password -f, --force Force installation @@ -147,6 +148,7 @@ for arg; do --lang) args="${args}-l " ;; --interactive) args="${args}-y " ;; --hostname) args="${args}-s " ;; + --ssl) args="${args}-u " ;; --email) args="${args}-e " ;; --password) args="${args}-p " ;; --force) args="${args}-f " ;; @@ -158,7 +160,7 @@ done eval set -- "$args" # Parsing arguments -while getopts "a:n:w:v:j:k:m:g:d:x:z:c:t:i:b:r:o:q:l:y:s:e:p:fh" Option; do +while getopts "a:n:w:v:j:k:m:g:d:x:z:c:t:i:b:r:o:q:l:y:s:u:e:p:fh" Option; do case $Option in a) apache=$OPTARG ;; # Apache n) nginx=$OPTARG ;; # Nginx @@ -181,6 +183,7 @@ while getopts "a:n:w:v:j:k:m:g:d:x:z:c:t:i:b:r:o:q:l:y:s:e:p:fh" Option; do l) lang=$OPTARG ;; # Language y) interactive=$OPTARG ;; # Interactive install s) servername=$OPTARG ;; # Hostname + u) ssl=$OPTARG ;; # Add Let's Encrypt SSL for hostname e) email=$OPTARG ;; # Admin email p) vpass=$OPTARG ;; # Admin password f) force='yes' ;; # Force install @@ -214,6 +217,7 @@ set_default_value 'remi' 'yes' set_default_value 'softaculous' 'yes' set_default_value 'quota' 'no' set_default_value 'interactive' 'yes' +set_default_value 'ssl' 'no' set_default_lang 'en' # Checking software conflicts @@ -860,7 +864,6 @@ chown root:mail $VESTA/ssl/* chmod 660 $VESTA/ssl/* rm /tmp/vst.pem - #----------------------------------------------------------# # Configure Nginx # #----------------------------------------------------------# @@ -1360,6 +1363,13 @@ $VESTA/upd/add_notifications.sh # Adding cronjob for autoupdates $VESTA/bin/v-add-cron-vesta-autoupdate +# Add Let's Encrypt SSL for hostname and enable auto-renew +if [ "$ssl" = 'yes' ]; then + $VESTA/bin/v-add-letsencrypt-domain 'admin' $servername '' 'yes' + $VESTA/bin/v-update-host-certificate admin $servername + echo "UPDATE_HOSTNAME_SSL='yes'" >> $VESTA/conf/vesta.conf +fi + #----------------------------------------------------------# # Vesta Access Info # diff --git a/install/vst-install-ubuntu.sh b/install/vst-install-ubuntu.sh index bbd1d6e5e..07fb749b5 100755 --- a/install/vst-install-ubuntu.sh +++ b/install/vst-install-ubuntu.sh @@ -41,26 +41,28 @@ fi # Defining help function help() { echo "Usage: $0 [OPTIONS] - -a, --apache Install Apache [yes|no] default: yes - -n, --nginx Install Nginx [yes|no] default: yes - -w, --phpfpm Install PHP-FPM [yes|no] default: no - -v, --vsftpd Install Vsftpd [yes|no] default: yes - -j, --proftpd Install ProFTPD [yes|no] default: no - -k, --named Install Bind [yes|no] default: yes - -m, --mysql Install MySQL [yes|no] default: yes - -g, --postgresql Install PostgreSQL [yes|no] default: no - -d, --mongodb Install MongoDB [yes|no] unsupported - -x, --exim Install Exim [yes|no] default: yes - -z, --dovecot Install Dovecot [yes|no] default: yes - -c, --clamav Install ClamAV [yes|no] default: yes - -t, --spamassassin Install SpamAssassin [yes|no] default: yes - -i, --iptables Install Iptables [yes|no] default: yes - -b, --fail2ban Install Fail2ban [yes|no] default: yes - -o, --softaculous Install Softaculous [yes|no] default: yes - -q, --quota Filesystem Quota [yes|no] default: no + -a, --apache Install Apache [yes|no] default: yes + -n, --nginx Install Nginx [yes|no] default: yes + -w, --phpfpm Install PHP-FPM [yes|no] default: no + -v, --vsftpd Install Vsftpd [yes|no] default: yes + -j, --proftpd Install ProFTPD [yes|no] default: no + -k, --named Install Bind [yes|no] default: yes + -m, --mysql Install MySQL [yes|no] default: yes + -g, --postgresql Install PostgreSQL [yes|no] default: no + -d, --mongodb Install MongoDB [yes|no] unsupported + -x, --exim Install Exim [yes|no] default: yes + -z, --dovecot Install Dovecot [yes|no] default: yes + -c, --clamav Install ClamAV [yes|no] default: yes + -t, --spamassassin Install SpamAssassin [yes|no] default: yes + -i, --iptables Install Iptables [yes|no] default: yes + -b, --fail2ban Install Fail2ban [yes|no] default: yes + -r, --remi Install Remi repo [yes|no] default: yes + -o, --softaculous Install Softaculous [yes|no] default: yes + -q, --quota Filesystem Quota [yes|no] default: no -l, --lang Default language default: en - -y, --interactive Interactive install [yes|no] default: yes + -y, --interactive Interactive install [yes|no] default: yes -s, --hostname Set hostname + -u, --ssl Add LE SSL for hostname [yes|no] default: no -e, --email Set admin email -p, --password Set admin password -f, --force Force installation @@ -149,6 +151,7 @@ for arg; do --lang) args="${args}-l " ;; --interactive) args="${args}-y " ;; --hostname) args="${args}-s " ;; + --ssl) args="${args}-u " ;; --email) args="${args}-e " ;; --password) args="${args}-p " ;; --force) args="${args}-f " ;; @@ -160,7 +163,7 @@ done eval set -- "$args" # Parsing arguments -while getopts "a:n:w:v:j:k:m:g:d:x:z:c:t:i:b:r:o:q:l:y:s:e:p:fh" Option; do +while getopts "a:n:w:v:j:k:m:g:d:x:z:c:t:i:b:r:o:q:l:y:s:u:e:p:fh" Option; do case $Option in a) apache=$OPTARG ;; # Apache n) nginx=$OPTARG ;; # Nginx @@ -183,6 +186,7 @@ while getopts "a:n:w:v:j:k:m:g:d:x:z:c:t:i:b:r:o:q:l:y:s:e:p:fh" Option; do l) lang=$OPTARG ;; # Language y) interactive=$OPTARG ;; # Interactive install s) servername=$OPTARG ;; # Hostname + u) ssl=$OPTARG ;; # Add Let's Encrypt SSL for hostname e) email=$OPTARG ;; # Admin email p) vpass=$OPTARG ;; # Admin password f) force='yes' ;; # Force install @@ -215,6 +219,7 @@ set_default_value 'fail2ban' 'yes' set_default_value 'softaculous' 'yes' set_default_value 'quota' 'no' set_default_value 'interactive' 'yes' +set_default_value 'ssl' 'no' set_default_lang 'en' # Checking software conflicts @@ -1332,6 +1337,13 @@ $VESTA/upd/add_notifications.sh # Adding cronjob for autoupdates $VESTA/bin/v-add-cron-vesta-autoupdate +# Add Let's Encrypt SSL for hostname and enable auto-renew +if [ "$ssl" = 'yes' ]; then + $VESTA/bin/v-add-letsencrypt-domain 'admin' $servername '' 'yes' + $VESTA/bin/v-update-host-certificate admin $servername + echo "UPDATE_HOSTNAME_SSL='yes'" >> $VESTA/conf/vesta.conf +fi + #----------------------------------------------------------# # Vesta Access Info #