Skip to content

Commit 8c03088

Browse files
author
Kristan Kenney
committed
Introduce function for writing to hestia.conf during install
1 parent bcfa0cb commit 8c03088

File tree

2 files changed

+118
-104
lines changed

2 files changed

+118
-104
lines changed

install/hst-install-debian.sh

Lines changed: 58 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,12 @@ set_default_port() {
149149
fi
150150
}
151151

152+
# Write configuration KEY/VALUE pair to $HESTIA/conf/hestia.conf
153+
write_config_value() {
154+
local key="$1"
155+
local value="$2"
156+
echo "$key='$value'" >> $HESTIA/conf/hestia.conf
157+
}
152158

153159
#----------------------------------------------------------#
154160
# Verifications #
@@ -981,39 +987,39 @@ chmod 660 $HESTIA/conf/hestia.conf
981987

982988
# Web stack
983989
if [ "$apache" = 'yes' ] && [ "$nginx" = 'no' ] ; then
984-
echo "WEB_SYSTEM='apache2'" >> $HESTIA/conf/hestia.conf
985-
echo "WEB_RGROUPS='www-data'" >> $HESTIA/conf/hestia.conf
986-
echo "WEB_PORT='80'" >> $HESTIA/conf/hestia.conf
987-
echo "WEB_SSL_PORT='443'" >> $HESTIA/conf/hestia.conf
988-
echo "WEB_SSL='mod_ssl'" >> $HESTIA/conf/hestia.conf
989-
echo "STATS_SYSTEM='awstats'" >> $HESTIA/conf/hestia.conf
990+
write_config_value "WEB_SYSTEM" "apache2"
991+
write_config_value "WEB_RGROUPS" "www-data"
992+
write_config_value "WEB_PORT" "80"
993+
write_config_value "WEB_SSL_PORT" "443"
994+
write_config_value "WEB_SSL" "mod_ssl"
995+
write_config_value "STATS_SYSTEM" "awstats"
990996
fi
991997
if [ "$apache" = 'yes' ] && [ "$nginx" = 'yes' ] ; then
992-
echo "WEB_SYSTEM='apache2'" >> $HESTIA/conf/hestia.conf
993-
echo "WEB_RGROUPS='www-data'" >> $HESTIA/conf/hestia.conf
994-
echo "WEB_PORT='8080'" >> $HESTIA/conf/hestia.conf
995-
echo "WEB_SSL_PORT='8443'" >> $HESTIA/conf/hestia.conf
996-
echo "WEB_SSL='mod_ssl'" >> $HESTIA/conf/hestia.conf
997-
echo "PROXY_SYSTEM='nginx'" >> $HESTIA/conf/hestia.conf
998-
echo "PROXY_PORT='80'" >> $HESTIA/conf/hestia.conf
999-
echo "PROXY_SSL_PORT='443'" >> $HESTIA/conf/hestia.conf
1000-
echo "STATS_SYSTEM='awstats'" >> $HESTIA/conf/hestia.conf
998+
write_config_value "WEB_SYSTEM" "apache2"
999+
write_config_value "WEB_RGROUPS" "www-data"
1000+
write_config_value "WEB_PORT" "8080"
1001+
write_config_value "WEB_SSL_PORT" "8443"
1002+
write_config_value "WEB_SSL" "mod_ssl"
1003+
write_config_value "PROXY_SYSTEM" "nginx"
1004+
write_config_value "PROXY_PORT" "80"
1005+
write_config_value "PROXY_SSL_PORT" "443"
1006+
write_config_value "STATS_SYSTEM" "awstats"
10011007
fi
10021008
if [ "$apache" = 'no' ] && [ "$nginx" = 'yes' ]; then
1003-
echo "WEB_SYSTEM='nginx'" >> $HESTIA/conf/hestia.conf
1004-
echo "WEB_PORT='80'" >> $HESTIA/conf/hestia.conf
1005-
echo "WEB_SSL_PORT='443'" >> $HESTIA/conf/hestia.conf
1006-
echo "WEB_SSL='openssl'" >> $HESTIA/conf/hestia.conf
1007-
echo "STATS_SYSTEM='awstats'" >> $HESTIA/conf/hestia.conf
1009+
write_config_value "WEB_SYSTEM" "nginx"
1010+
write_config_value "WEB_PORT" "80"
1011+
write_config_value "WEB_SSL_PORT" "443"
1012+
write_config_value "WEB_SSL" "openssl"
1013+
write_config_value "STATS_SYSTEM" "awstats"
10081014
fi
10091015

10101016
if [ "$release" -ge 9 ] || [ "$multiphp" = 'yes' ]; then
10111017
if [ "$phpfpm" = 'yes' ]; then
1012-
echo "WEB_BACKEND='php-fpm'" >> $HESTIA/conf/hestia.conf
1018+
write_config_value "WEB_BACKEND" "php-fpm"
10131019
fi
10141020
else
10151021
if [ "$phpfpm" = 'yes' ]; then
1016-
echo "WEB_BACKEND='php5-fpm'" >> $HESTIA/conf/hestia.conf
1022+
write_config_value "WEB_BACKEND" "php5-fpm"
10171023
fi
10181024
fi
10191025

@@ -1032,81 +1038,81 @@ if [ ! -z "$installed_db_types" ]; then
10321038
sort -r -u |\
10331039
sed "/^$/d"|\
10341040
sed ':a;N;$!ba;s/\n/,/g')
1035-
echo "DB_SYSTEM='$db'" >> $HESTIA/conf/hestia.conf
1041+
write_config_value "DB_SYSTEM" "$db"
10361042
fi
10371043

10381044
# FTP stack
10391045
if [ "$vsftpd" = 'yes' ]; then
1040-
echo "FTP_SYSTEM='vsftpd'" >> $HESTIA/conf/hestia.conf
1046+
write_config_value "FTP_SYSTEM" "vsftpd"
10411047
fi
10421048
if [ "$proftpd" = 'yes' ]; then
1043-
echo "FTP_SYSTEM='proftpd'" >> $HESTIA/conf/hestia.conf
1049+
write_config_value "FTP_SYSTEM" "proftpd"
10441050
fi
10451051

10461052
# DNS stack
10471053
if [ "$named" = 'yes' ]; then
1048-
echo "DNS_SYSTEM='bind9'" >> $HESTIA/conf/hestia.conf
1054+
write_config_value "DNS_SYSTEM" "bind9"
10491055
fi
10501056

10511057
# Mail stack
10521058
if [ "$exim" = 'yes' ]; then
1053-
echo "MAIL_SYSTEM='exim4'" >> $HESTIA/conf/hestia.conf
1059+
write_config_value "MAIL_SYSTEM" "exim4"
10541060
if [ "$clamd" = 'yes' ]; then
1055-
echo "ANTIVIRUS_SYSTEM='clamav-daemon'" >> $HESTIA/conf/hestia.conf
1061+
write_config_value "ANTIVIRUS_SYSTEM" "clamav-daemon"
10561062
fi
10571063
if [ "$spamd" = 'yes' ]; then
1058-
echo "ANTISPAM_SYSTEM='spamassassin'" >> $HESTIA/conf/hestia.conf
1064+
write_config_value "ANTISPAM_SYSTEM" "spamassassin"
10591065
fi
10601066
if [ "$dovecot" = 'yes' ]; then
1061-
echo "IMAP_SYSTEM='dovecot'" >> $HESTIA/conf/hestia.conf
1067+
write_config_value "IMAP_SYSTEM" "dovecot"
10621068
fi
10631069
fi
10641070

10651071
# Cron daemon
1066-
echo "CRON_SYSTEM='cron'" >> $HESTIA/conf/hestia.conf
1072+
write_config_value "CRON_SYSTEM" "cron"
10671073

10681074
# Firewall stack
10691075
if [ "$iptables" = 'yes' ]; then
1070-
echo "FIREWALL_SYSTEM='iptables'" >> $HESTIA/conf/hestia.conf
1076+
write_config_value "FIREWALL_SYSTEM" "iptables"
10711077
fi
10721078
if [ "$iptables" = 'yes' ] && [ "$fail2ban" = 'yes' ]; then
1073-
echo "FIREWALL_EXTENSION='fail2ban'" >> $HESTIA/conf/hestia.conf
1079+
write_config_value "FIREWALL_EXTENSION" "fail2ban"
10741080
fi
10751081

10761082
# Disk quota
10771083
if [ "$quota" = 'yes' ]; then
1078-
echo "DISK_QUOTA='yes'" >> $HESTIA/conf/hestia.conf
1084+
write_config_value "DISK_QUOTA" "yes"
10791085
else
1080-
echo "DISK_QUOTA='no'" >> $HESTIA/conf/hestia.conf
1086+
write_config_value "DISK_QUOTA" "no"
10811087
fi
10821088

10831089
# Backups
1084-
echo "BACKUP_SYSTEM='local'" >> $HESTIA/conf/hestia.conf
1085-
echo "BACKUP_GZIP='4'" >> $HESTIA/conf/hestia.conf
1086-
echo "BACKUP_MODE='zstd'" >> $HESTIA/conf/hestia.conf
1090+
write_config_value "BACKUP_SYSTEM" "local"
1091+
write_config_value "BACKUP_GZIP" "4"
1092+
write_config_value "BACKUP_MODE" "zstd"
10871093

10881094
# Language
1089-
echo "LANGUAGE='$lang'" >> $HESTIA/conf/hestia.conf
1095+
write_config_value "LANGUAGE" "$lang"
10901096

10911097
# Login in screen
1092-
echo "LOGIN_STYLE='default'" >> $HESTIA/conf/hestia.conf
1098+
write_config_value "LOGIN_STYLE" "default"
10931099

10941100
# Theme
1095-
echo "THEME='dark'" >> $HESTIA/conf/hestia.conf
1101+
write_config_value "THEME" "dark"
10961102

10971103
# Inactive session timeout
1098-
echo "INACTIVE_SESSION_TIMEOUT='60'" >> $HESTIA/conf/hestia.conf
1104+
write_config_value "INACTIVE_SESSION_TIMEOUT" "60"
10991105

11001106
# Do not allow users to create subdomains when they don't own the domain
1101-
echo "ENFORCE_SUBDOMAIN_OWNERSHIP='yes'" >> $HESTIA/conf/hestia.conf
1107+
write_config_value "ENFORCE_SUBDOMAIN_OWNERSHIP" "yes"
11021108

11031109
# Version & Release Branch
1104-
echo "VERSION='${HESTIA_INSTALL_VER}'" >> $HESTIA/conf/hestia.conf
1105-
echo "RELEASE_BRANCH='release'" >> $HESTIA/conf/hestia.conf
1110+
write_config_value "VERSION" "${HESTIA_INSTALL_VER}"
1111+
write_config_value "RELEASE_BRANCH" "release"
11061112

11071113
# Email notifications after upgrade
1108-
echo "UPGRADE_SEND_EMAIL='false'" >> $HESTIA/conf/hestia.conf
1109-
echo "UPGRADE_SEND_EMAIL_LOG='true'" >> $HESTIA/conf/hestia.conf
1114+
write_config_value "UPGRADE_SEND_EMAIL" "true"
1115+
write_config_value "UPGRADE_SEND_EMAIL_LOG" "false"
11101116

11111117
# Installing hosting packages
11121118
cp -rf $HESTIA_INSTALL_DIR/packages $HESTIA/data/
@@ -1419,7 +1425,7 @@ if [ "$mysql" = 'yes' ]; then
14191425
rm -fr phpMyAdmin-$pma_v-all-languages
14201426
rm -f phpMyAdmin-$pma_v-all-languages.tar.gz
14211427

1422-
echo "DB_PMA_ALIAS='phpmyadmin'" >> $HESTIA/conf/hestia.conf
1428+
write_config_value "DB_PMA_ALIAS" "phpmyadmin"
14231429
$HESTIA/bin/v-change-sys-db-alias 'pma' "phpmyadmin"
14241430

14251431
# Special thanks to Pavel Galkin (https://skurudo.ru)
@@ -1445,7 +1451,7 @@ if [ "$postgresql" = 'yes' ]; then
14451451
fi
14461452
cp -f $HESTIA_INSTALL_DIR/pga/config.inc.php /etc/phppgadmin/
14471453

1448-
echo "DB_PGA_ALIAS='phppgadmin'" >> $HESTIA/conf/hestia.conf
1454+
write_config_value "DB_PGA_ALIAS" "phppgadmin"
14491455
$HESTIA/bin/v-change-sys-db-alias 'pga' "phppgadmin"
14501456
fi
14511457

@@ -1637,16 +1643,16 @@ echo "[ * ] Install Roundcube..."
16371643

16381644
if [ "$mysql" == 'yes' ] && [ "$dovecot" == "yes" ]; then
16391645
$HESTIA/bin/v-add-sys-roundcube
1640-
echo "WEBMAIL_ALIAS='webmail'" >> $HESTIA/conf/hestia.conf
1646+
write_config_value "WEBMAIL_ALIAS" "webmail"
16411647
fi
16421648

16431649
#----------------------------------------------------------#
16441650
# Configure API #
16451651
#----------------------------------------------------------#
16461652

16471653
if [ "$api" = "yes" ]; then
1648-
echo "API='yes'" >> $HESTIA/conf/hestia.conf
1649-
echo "API_ALLOWED_IP=''" >> $HESTIA/conf/hestia.conf
1654+
write_config_value "API" "yes"
1655+
write_config_value "API_ALLOWED_IP" ""
16501656
else
16511657
$HESTIA/bin/v-change-sys-api disable
16521658
fi

0 commit comments

Comments
 (0)