|
|
@@ -23,7 +23,7 @@ HESTIA_INSTALL_DIR="$HESTIA/install/deb"
|
|
|
VERBOSE='no'
|
|
|
|
|
|
# Define software versions
|
|
|
-HESTIA_INSTALL_VER='11.4.13~alpha'
|
|
|
+HESTIA_INSTALL_VER='1.4.13~alpha'
|
|
|
pma_v='5.1.1'
|
|
|
rc_v="1.4.11"
|
|
|
multiphp_v=("5.6" "7.0" "7.1" "7.2" "7.3" "7.4" "8.0")
|
|
|
@@ -150,6 +150,18 @@ sort_config_file(){
|
|
|
cp $HESTIA/conf/hestia.conf $HESTIA/conf/defaults/hestia.conf
|
|
|
}
|
|
|
|
|
|
+# Validate hostname according to RFC1178
|
|
|
+validate_hostname () {
|
|
|
+ if [[ $(echo "$servername" | grep -o "\." | wc -l) -gt 1 ]] && [[ ! $servername =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
|
|
+ # Hostname valid
|
|
|
+ return 1
|
|
|
+ else
|
|
|
+ # Hostname invalid
|
|
|
+ return 0
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
#----------------------------------------------------------#
|
|
|
# Verifications #
|
|
|
#----------------------------------------------------------#
|
|
|
@@ -549,7 +561,25 @@ if [ "$interactive" = 'yes' ]; then
|
|
|
|
|
|
# Asking to set FQDN hostname
|
|
|
if [ -z "$servername" ]; then
|
|
|
+ # Ask and validate FQDN hostname.
|
|
|
read -p "Please enter FQDN hostname [$(hostname -f)]: " servername
|
|
|
+
|
|
|
+ # Set hostname if it wasn't set
|
|
|
+ if [ -z "$servername" ]; then
|
|
|
+ servername=$(hostname -f)
|
|
|
+ fi
|
|
|
+
|
|
|
+ # Validate Hostname, go to loop if the validation fails.
|
|
|
+ while validate_hostname; do
|
|
|
+ echo -e "\nPlease use a valid hostname according to RFC1178 (ex. hostname.domain.tld)."
|
|
|
+ read -p "Please enter FQDN hostname [$(hostname -f)]: " servername
|
|
|
+ done
|
|
|
+ else
|
|
|
+ # Validate FQDN hostname if it is preset
|
|
|
+ if validate_hostname; then
|
|
|
+ echo "Please use a valid hostname according to RFC1178 (ex. hostname.domain.tld)."
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
fi
|
|
|
fi
|
|
|
|
|
|
@@ -558,11 +588,6 @@ if [ -z "$vpass" ]; then
|
|
|
vpass=$(gen_pass)
|
|
|
fi
|
|
|
|
|
|
-# Set hostname if it wasn't set
|
|
|
-if [ -z "$servername" ]; then
|
|
|
- servername=$(hostname -f)
|
|
|
-fi
|
|
|
-
|
|
|
# Set FQDN if it wasn't set
|
|
|
mask1='(([[:alnum:]](-?[[:alnum:]])*)\.)'
|
|
|
mask2='*[[:alnum:]](-?[[:alnum:]])+\.[[:alnum:]]{2,}'
|