Browse Source

Interactively ask for hostname and e-mail address

Ernesto Nicolás Carrea 5 years ago
parent
commit
8180a0367f
1 changed files with 16 additions and 10 deletions
  1. 16 10
      bin/setup/init.inc

+ 16 - 10
bin/setup/init.inc

@@ -2,6 +2,22 @@
 
 hestia_setup_init() {
     echo "Initializing Hestia configuration..."
+
+    if [ ! "$param_lang" ]; then
+        param_lang='en'
+    fi
+    if [ ! "$param_server_name" ]; then
+        param_server_name=$(hostname -f)
+        read -e -p 'Please enter FQDN hostname: ' -i "$param_server_name" param_server_name
+    fi
+    if [ ! "${param_admin_email}" ]; then
+        param_admin_email="admin@$param_server_name"
+        mail_regex="^(([A-Za-z0-9]+((\.|\-|\_|\+)?[A-Za-z0-9]?)*[A-Za-z0-9]+)|[A-Za-z0-9]+)@(([A-Za-z0-9]+)+((\.|\-|\_)?([A-Za-z0-9]+)+)*)+\.([A-Za-z]{2,})+$"
+        if [ -z "$param_admin_email" ] || [[ ! $i =~ $mail_regex ]]; then
+            read -e -p 'Please enter admin email address: ' -i "$param_admin_email" param_admin_email
+        fi
+    fi
+
     mkdir -p $HESTIA/conf $HESTIA/log $HESTIA/ssl $HESTIA/data/ips \
         $HESTIA/data/queue $HESTIA/data/users $HESTIA/data/firewall \
         $HESTIA/data/sessions
@@ -86,16 +102,6 @@ EOL
         echo "/usr/sbin/nologin" >> /etc/shells
     fi
 
-    if [ ! "$param_lang" ]; then
-        param_lang='en'
-    fi
-    if [ ! "$param_server_name" ]; then
-        param_server_name=$(hostname -f)
-    fi
-    if [ ! "${param_admin_email}" ]; then
-        param_admin_email="admin@$param_server_name"
-    fi
-
     lang=$(osal_kv_read $HESTIA/conf/hestia.conf 'LANGUAGE' '')
     if [ ! "$lang" ] || [ "$lang" != "$param_lang" ]; then
         osal_kv_write $HESTIA/conf/hestia.conf 'LANGUAGE' $param_lang