#!/usr/bin/env sh

HOSTNAME=$(hostname) ;
DOMAINNAME=$(dnsdomainname) ;
DELL=$(dmidecode -t system | grep Manufacturer | grep Dell) ;

CURDIR=$(pwd) ;

BASEDIR=$(dirname $0) ;
BASEDIR=$(realpath ${BASEDIR}) ;

CURL=$(which curl) ;
WGET=$(which wget) ;
PHP=$(which php) ;
APT=$(which apt-get) ;

use_git=false;
if [ -d .git ]; then
  use_git=true;
fi

if [ "$APT" = "" ] ; then
	echo "It seems you are using a distribution that has no apt-get available. This is not supported.";
	exit 1 ;
fi

if [ "$CURL" = "" ] ; then
	if [ "$WGET" = "" ] ; then
		echo "Curl and Wget missing, trying to install." ;
		apt-get update -qq && apt-get -y -qq install wget;
		WGET=$(which wget) ;
	fi
	if [ "$WGET" = "" ] ; then
		echo "Wget and curl are missing. Please install either wget or curl package." ;
		exit 1 ;
	fi
fi

if [ "$PHP" = "" ] ; then
	echo "PHP cli missing, trying to install." ;
	apt-get update -qq && apt-get -y -qq install php-cli && apt-get -y -qq install php-mbstring ;
	PHP=$(which php) ;
fi
if [ "$PHP" = "" ] ; then
	echo "PHP cli is missing. Please install package php-cli." ;
	exit 1;
fi

INSTALL_DIR=".";
if [ "$use_git" = false ] ; then

	if [ "$CURL" != "" ] ; then
		$CURL -s -o /tmp/ispconfig-ai.tar.gz "https://get.ispconfig.hosting-skills.lu/ispconfig-ai.tar.gz" >/dev/null 2>&1
	else
		$WGET -q -U "Mozilla/5.0" -O /tmp/ispconfig-ai.tar.gz "https://get.ispconfig.hosting-skills.lu/ispconfig-ai.tar.gz" >/dev/null 2>&1
	fi

	if [ ! -f "/tmp/ispconfig-ai.tar.gz" ] ; then
		echo "Failed downloading Autoinstaller" ;
		exit 1;
	fi

	rm -rf /tmp/ispconfig-ai ;
	mkdir /tmp/ispconfig-ai ;
	tar -C /tmp/ispconfig-ai/ -xzf /tmp/ispconfig-ai.tar.gz || (echo "Failed extracting Autoinstaller" ; exit 1)
	rm -f /tmp/ispconfig-ai.tar.gz ;
	cd /tmp/ispconfig-ai ;
	INSTALL_DIR="/tmp/ispconfig-ai";
fi

if [ "$DOMAINNAME" = 'uni.lux' ] ; then
	# shellcheck disable=SC2068
	set -- $@ "--debug" "--channel=nightly" "--lang=en" "--use-php=system" "--use-ftp-ports=30000-39999" "--no-mail" "--no-dns" "--no-local-dns" "--no-roundcube" "--no-mailman" "--no-ntp" "--monit" "--mmonit=uni.lu:hE75^62w9Zph" "--unattended-upgrades=autoclean" "--i-know-what-i-am-doing" "--ask-master-password"
else
	# shellcheck disable=SC2068
	set -- $@ "--debug" "--channel=nightly" "--lang=en" "--use-php=8.2,8.3" "--use-ftp-ports=30000-39999" "--monit" "--mmonit=hosting-skills:8n[GSX58NCU4" "--unattended-upgrades=autoclean" "--i-know-what-i-am-doing" "--ask-master-password"
fi

TTY=$(ps ax | grep "^[ ]*"$$ | head -n 1 | awk '{ print $2 }' 2>/dev/null);
if [ "$TTY" != "" ] ; then
	# shellcheck disable=SC2068
	${PHP} -q "$INSTALL_DIR/ispconfig.ai.php" $@ < /dev/${TTY} ;
else 
	echo "It seems you are not using a TTY. Please add --i-know-what-i-am-doing to the arguments.";
	# shellcheck disable=SC2068
	${PHP} -q "$INSTALL_DIR/ispconfig.ai.php" $@ ;
fi

cd ${CURDIR} ;

# Backup of Configuration Files

mkdir -p /root/debian/etc/network
cp -f /etc/network/interfaces /root/debian/etc/network/interfaces 2>/dev/null
cp -f /etc/hosts /root/debian/etc/hosts 2>/dev/null
cp -f /etc/hostname /root/debian/etc/hostname 2>/dev/null

mkdir -p /root/debian/root/.ssh
cp -f /root/.ssh/authorized_keys /root/debian/root/.ssh/authorized_keys 2>/dev/null

# ISPConfigDebianOS->runPerfectSetup() [line 1698]
# ISPConfigDebian12OS->configureApt() [lines 116-155]

mkdir -p /root/debian/etc/apt
cp -f /etc/apt/apt.conf /root/debian/etc/apt/apt.conf 2>/dev/null
cp -f /etc/apt/sources.list /root/debian/etc/apt/sources.list 2>/dev/null

# ISPConfigDebianOS->runPerfectSetup() [lines 1752-1876]

mkdir -p /root/debian/etc/ssh
cp -f /etc/ssh/sshd_config /root/debian/etc/ssh/sshd_config 2>/dev/null
cp -f /etc/issue.net /root/debian/etc/issue.net 2>/dev/null

cp -f /root/.bashrc /root/debian/root/.bashrc 2>/dev/null
cp -f /root/.bash_aliases /root/debian/root/.bash_aliases 2>/dev/null
cp -f /root/.bash_logout /root/debian/root/.bash_logout 2>/dev/null

mkdir -p /root/debian/usr/local/sbin
cp -f /usr/local/sbin/debian-check /root/debian/usr/local/sbin/debian-check 2>/dev/null
cp -f /usr/local/sbin/debian-fail2ban /root/debian/usr/local/sbin/debian-fail2ban 2>/dev/null
cp -f /usr/local/sbin/debian-install /root/debian/usr/local/sbin/debian-install 2>/dev/null
cp -f /usr/local/sbin/debian-upgrade /root/debian/usr/local/sbin/debian-upgrade 2>/dev/null

cp -f /root/.nanorc /root/debian/root/.nanorc 2>/dev/null

if [ "$DOMAINNAME" != 'uni.lux' ] ; then
	mkdir -p /root/debian/etc/ntpsec
	cp -f /etc/ntpsec/ntp.conf /root/debian/etc/ntpsec/ntp.conf 2>/dev/null
fi

# ISPConfigDebianOS->runPerfectSetup() [lines 1878-1912]
# ISPConfigDebianOS->addSuryRepo() [lines 493-507]
# ISPConfigDebianOS->addGoAccessRepo() [lines 509-523]

mkdir -p /root/debian/etc/apt/trusted.gpg.d
mkdir -p /root/debian/etc/apt/sources.list.d
mkdir -p /root/debian/etc/apt/preferences.d

if [ "$DELL" != "" ] ; then
	cp -f /etc/apt/trusted.gpg.d/dell.asc /root/debian/etc/apt/trusted.gpg.d/dell.asc 2>/dev/null
	cp -f /etc/apt/sources.list.d/dell.list /root/debian/etc/apt/sources.list.d/dell.list 2>/dev/null
fi

if [ "$DOMAINNAME" != 'uni.lux' ] ; then
	cp -f /etc/apt/trusted.gpg.d/rspamd.gpg /root/debian/etc/apt/trusted.gpg.d/rspamd.gpg 2>/dev/null
	cp -f /etc/apt/sources.list.d/rspamd.list /root/debian/etc/apt/sources.list.d/rspamd.list 2>/dev/null
	cp -f /etc/apt/preferences.d/rspamd.pref /root/debian/etc/apt/preferences.d/rspamd.pref 2>/dev/null

	cp -f /etc/apt/trusted.gpg.d/php.gpg /root/debian/etc/apt/trusted.gpg.d/php.gpg 2>/dev/null
	cp -f /etc/apt/sources.list.d/php.list /root/debian/etc/apt/sources.list.d/php.list 2>/dev/null
	cp -f /etc/apt/preferences.d/php.pref /root/debian/etc/apt/preferences.d/php.pref 2>/dev/null
fi

cp -f /etc/apt/sources.list.d/goaccess.list /root/debian/etc/apt/sources.list.d/goaccess.list 2>/dev/null
cp -f /etc/apt/trusted.gpg.d/goaccess.gpg /root/debian/etc/apt/trusted.gpg.d/goaccess.gpg 2>/dev/null
cp -f /etc/apt/preferences.d/goaccess.pref /root/debian/etc/apt/preferences.d/goaccess.pref 2>/dev/null

# ISPConfigDebianOS->runPerfectSetup() [lines 2026-2053]

mkdir -p /root/debian/etc/systemd/system/rsyslog.service.d
cp -f /etc/systemd/system/rsyslog.service.d/daemon.conf /root/debian/etc/systemd/system/rsyslog.service.d/daemon.conf 2>/dev/null
mkdir -p /root/debian/etc/rsyslog.d
cp -f /etc/rsyslog.d/pure-ftpd.conf /root/debian/etc/rsyslog.d/pure-ftpd.conf 2>/dev/null

# ISPConfigDebianOS->runPerfectSetup() [line 2091]
# ISPConfigDebian12OS->updateMySQLConfig($mysql_root_pw) [lines 157-189]

mkdir -p /root/debian/etc/mysql/mariadb.conf.d
cp -f /etc/mysql/mariadb.conf.d/50-server.cnf /root/debian/etc/mysql/mariadb.conf.d/50-server.cnf 2>/dev/null
cp -f /root/.my.cnf /root/debian/root/.my.cnf 2>/dev/null

# ISPConfigDebianOS->runPerfectSetup() [line 2093-2418]

mkdir -p /root/debian/usr/local/bin
cp -f /usr/local/bin/mysqltuner /root/debian/usr/local/bin/mysqltuner 2>/dev/null
mkdir -p /root/debian/usr/share/mysqltuner
cp -f /usr/share/mysqltuner/basic_passwords.txt /root/debian/usr/share/mysqltuner/basic_passwords.txt 2>/dev/null
cp -f /usr/share/mysqltuner/vulnerabilities.csv /root/debian/usr/share/mysqltuner/vulnerabilities.csv 2>/dev/null
mkdir -p /root/debian/etc/cron.daily
cp -f /etc/cron.daily/auto_update_mysqltuner /root/debian/etc/cron.daily/auto_update_mysqltuner 2>/dev/null

if [ "$DOMAINNAME" != 'uni.lux' ] ; then
	mkdir -p /root/debian/etc/postfix/
	cp -f /etc/postfix/master.cf /root/debian/etc/postfix/master.cf 2>/dev/null
	cp -f /etc/postfix/main.cf /root/debian/etc/postfix/main.cf 2>/dev/null
	cp -f /etc/aliases /root/debian/etc/aliases 2>/dev/null
	cp -f /etc/aliases.db /root/debian/etc/aliases.db 2>/dev/null
fi

mkdir -p /root/debian/etc/security/
cp -f /etc/security/limits.conf /root/debian/etc/security/limits.conf 2>/dev/null
mkdir -p /root/debian/etc/systemd/system/mysql.service.d/
cp -f /etc/systemd/system/mysql.service.d/limits.conf /root/debian/etc/systemd/system/mysql.service.d/limits.conf 2>/dev/null

mkdir -p /root/debian/etc/ssl/
cp -f /etc/ssl/ssl.cnf /root/debian/etc/ssl/ssl.cnf 2>/dev/null

cp -f /usr/local/sbin/ssl-display /root/debian/usr/local/sbin/ssl-display 2>/dev/null
cp -f /usr/local/sbin/ssl-examine /root/debian/usr/local/sbin/ssl-examine 2>/dev/null
cp -f /usr/local/sbin/ssl-help /root/debian/usr/local/sbin/ssl-help 2>/dev/null
cp -f /usr/local/sbin/ssl-pkcs12 /root/debian/usr/local/sbin/ssl-pkcs12 2>/dev/null
cp -f /usr/local/sbin/ssl-request /root/debian/usr/local/sbin/ssl-request 2>/dev/null
cp -f /usr/local/sbin/ssl-selfsign /root/debian/usr/local/sbin/ssl-selfsign 2>/dev/null

if [ "$DOMAINNAME" != 'uni.lux' ] ; then
	mkdir -p /root/debian/etc/systemd/system/rspamd.service.d
	cp -f /etc/systemd/system/rspamd.service.d/daemon.conf /root/debian/etc/systemd/system/rspamd.service.d/daemon.conf 2>/dev/null
	mkdir -p /root/debian/etc/rspamd/local.d
	cp -f /etc/rspamd/local.d/redis.conf /root/debian/etc/rspamd/local.d/redis.conf 2>/dev/null
	cp -f /etc/rspamd/local.d/history_redis.conf /root/debian/etc/rspamd/local.d/history_redis.conf 2>/dev/null
fi

mkdir -p /root/debian/etc/bind
cp -f /etc/bind/named.conf.options /root/debian/etc/bind/named.conf.options 2>/dev/null
mkdir -p /root/debian/etc/default
cp -f /etc/default/named /root/debian/etc/default/named 2>/dev/null

if [ "$DOMAINNAME" != 'uni.lux' ] ; then
	mkdir -p /root/debian/etc/systemd/system/postgrey.service.d
	cp -f /etc/systemd/system/postgrey.service.d/daemon.conf /root/debian/etc/systemd/system/postgrey.service.d/daemon.conf 2>/dev/null

	mkdir -p /root/debian/etc/resolvconf/resolv.conf.d
	cp -f /etc/resolvconf/resolv.conf.d/head /root/debian/etc/resolvconf/resolv.conf.d/head 2>/dev/null
fi

mkdir -p /root/debian/run/resolvconf
cp -f /run/resolvconf/resolv.conf /root/debian/run/resolvconf/resolv.conf 2>/dev/null

# ISPConfigDebianOS->runPerfectSetup() [line 2535]
# ISPConfigDebianOS->setPHPTimezone() [lines 412-474]

mkdir -p /root/debian/etc/php/8.2/cgi
cp -f /etc/php/8.2/cgi/php.ini /root/debian/etc/php/8.2/cgi/php.ini 2>/dev/null
mkdir -p /root/debian/etc/php/8.2/cli
cp -f /etc/php/8.2/cli/php.ini /root/debian/etc/php/8.2/cli/php.ini 2>/dev/null
mkdir -p /root/debian/etc/php/8.2/fpm
cp -f /etc/php/8.2/fpm/php.ini /root/debian/etc/php/8.2/fpm/php.ini 2>/dev/null
mkdir -p /root/debian/etc/php/8.3/cgi
cp -f /etc/php/8.3/cgi/php.ini /root/debian/etc/php/8.3/cgi/php.ini 2>/dev/null
mkdir -p /root/debian/etc/php/8.3/cli
cp -f /etc/php/8.3/cli/php.ini /root/debian/etc/php/8.3/cli/php.ini 2>/dev/null
mkdir -p /root/debian/etc/php/8.3/fpm
cp -f /etc/php/8.3/fpm/php.ini /root/debian/etc/php/8.3/fpm/php.ini 2>/dev/null

# ISPConfigDebianOS->runPerfectSetup() [line 2546]
# ISPConfigDebianOS->installPHPMyAdmin($mysql_root_pw) [lines 251-402]

mkdir -p /root/debian/etc/phpmyadmin
cp -f /etc/phpmyadmin/htpasswd.setup /root/debian/etc/phpmyadmin/htpasswd.setup 2>/dev/null
mkdir -p /root/debian/usr/share/phpmyadmin
cp -f /usr/share/phpmyadmin/config.inc.php /root/debian/usr/share/phpmyadmin/config.inc.php 2>/dev/null
mkdir -p /root/debian/etc/apache2/conf-available
cp -f /etc/apache2/conf-available/phpmyadmin.conf /root/debian/etc/apache2/conf-available/phpmyadmin.conf 2>/dev/null
cp -f /etc/cron.daily/auto_update_phpmyadmin /root/debian/etc/cron.daily/auto_update_phpmyadmin 2>/dev/null

# ISPConfigDebianOS->runPerfectSetup() [line 2551-2623]

cp -f /etc/apache2/conf-available/httpoxy.conf /root/debian/etc/apache2/conf-available/httpoxy.conf 2>/dev/null
mkdir -p /root/debian/etc/apache2/sites-available
cp -f /etc/apache2/sites-available/localhost.conf /root/debian/etc/apache2/sites-available/localhost.conf 2>/dev/null
mkdir -p /root/debian/etc/ssl/private
cp -f /etc/ssl/private/localhost.key /root/debian/etc/ssl/private/localhost.key 2>/dev/null
mkdir -p /root/debian/etc/ssl/requests
cp -f /etc/ssl/requests/localhost.csr /root/debian/etc/ssl/requests/localhost.csr 2>/dev/null
mkdir -p /root/debian/etc/ssl/certs
cp -f /etc/ssl/certs/localhost.pem /root/debian/etc/ssl/certs/localhost.pem 2>/dev/null

mkdir -p /root/debian/root/.acme.sh/
cp -f /root/.acme.sh/account.conf /root/debian/root/.acme.sh/account.conf 2>/dev/null

# ISPConfigDebianOS->runPerfectSetup() [line 2630]
# ISPConfigDebian12OS->installMailman($host_name) [lines 66-105]
# ISPConfigDebianOS->installMailman($host_name) [lines 1431-1579]

if [ "$DOMAINNAME" != 'uni.lux' ] ; then
	cp -f /etc/apt/preferences /root/debian/etc/apt/preferences 2>/dev/null
	cp -f /etc/apt/sources.list /root/debian/etc/apt/sources.list 2>/dev/null
	mkdir -p /root/debian/etc/mailman
	cp -f /etc/mailman/mm_cfg.py /root/debian/etc/mailman/mm_cfg.py 2>/dev/null
	cp -f /etc/aliases /root/debian/etc/aliases 2>/dev/null
	cp -f /etc/aliases.db /root/debian/etc/aliases.db 2>/dev/null
	cp -f /etc/mailman/apache.conf /root/debian/etc/mailman/apache.conf 2>/dev/null
fi

# ISPConfigDebianOS->runPerfectSetup() [line 2649-2766]

cp -f /etc/fstab /root/debian/etc/fstab 2>/dev/null

mkdir -p /root/debian/etc/pure-ftpd/conf
cp -f /etc/pure-ftpd/conf/TLS /root/debian/etc/pure-ftpd/conf/TLS 2>/dev/null
cp -f /etc/pure-ftpd/conf/PassivePortRange /root/debian/etc/pure-ftpd/conf/PassivePortRange 2>/dev/null
mkdir -p /root/debian/etc/cron.d
cp -f /etc/cron.d/awstats /root/debian/etc/cron.d/awstats 2>/dev/null

# ISPConfigDebianOS->runPerfectSetup() [lines 2777-2778]
# ISPConfigDebian12OS->getFail2BanJail() [lines 191-336]

mkdir -p /root/debian/etc/fail2ban
cp -f /etc/fail2ban/jail.local /root/debian/etc/fail2ban/jail.local 2>/dev/null
cp -f /etc/fail2ban/fail2ban.local /root/debian/etc/fail2ban/fail2ban.local 2>/dev/null

# ISPConfigDebianOS->runPerfectSetup() [line 2796]
# ISPConfigDebianOS->installMonit() [lines 525-1235]

mkdir -p /root/debian/etc/monit
cp -f /etc/monit/monitrc /root/debian/etc/monit/monitrc 2>/dev/null
mkdir -p /root/debian/etc/monit/conf-available
cp -f /etc/monit/conf-available/mariadb /root/debian/etc/monit/conf-available/mariadb 2>/dev/null
cp -f /etc/monit/conf-available/memcached /root/debian/etc/monit/conf-available/memcached 2>/dev/null
cp -f /etc/monit/conf-available/pure-ftpd-mysql /root/debian/etc/monit/conf-available/pure-ftpd-mysql 2>/dev/null
cp -f /etc/monit/conf-available/fail2ban /root/debian/etc/monit/conf-available/fail2ban 2>/dev/null
cp -f /etc/monit/conf-available/sshd /root/debian/etc/monit/conf-available/sshd 2>/dev/null
cp -f /etc/monit/conf-available/crond /root/debian/etc/monit/conf-available/crond 2>/dev/null
cp -f /etc/monit/conf-available/filesystem /root/debian/etc/monit/conf-available/filesystem 2>/dev/null
cp -f /etc/monit/conf-available/resources /root/debian/etc/monit/conf-available/resources 2>/dev/null
cp -f /etc/monit/conf-available/rsyslog /root/debian/etc/monit/conf-available/rsyslog 2>/dev/null
cp -f /etc/monit/conf-available/php8.2-fpm /root/debian/etc/monit/conf-available/php8.2-fpm 2>/dev/null
cp -f /etc/monit/conf-available/apache2 /root/debian/etc/monit/conf-available/apache2 2>/dev/null
if [ "$DOMAINNAME" != 'uni.lux' ] ; then
	cp -f /etc/monit/conf-available/named /root/debian/etc/monit/conf-available/named 2>/dev/null
	cp -f /etc/monit/conf-available/postfix /root/debian/etc/monit/conf-available/postfix 2>/dev/null
	cp -f /etc/monit/conf-available/dovecot /root/debian/etc/monit/conf-available/dovecot 2>/dev/null
	cp -f /etc/monit/conf-available/rspamd /root/debian/etc/monit/conf-available/rspamd 2>/dev/null
	cp -f /etc/monit/conf-available/redis-server /root/debian/etc/monit/conf-available/redis-server 2>/dev/null
	cp -f /etc/monit/conf-available/mailman /root/debian/etc/monit/conf-available/mailman 2>/dev/null
	cp -f /etc/monit/conf-available/ntp /root/debian/etc/monit/conf-available/ntp 2>/dev/null
fi
cp -f /etc/monit/conf-available/alerts /root/debian/etc/monit/conf-available/alerts 2>/dev/null
cp -f /etc/monit/conf-available/webui /root/debian/etc/monit/conf-available/webui 2>/dev/null
cp -f /etc/monit/conf-available/mmonit /root/debian/etc/monit/conf-available/mmonit 2>/dev/null

# ISPConfigDebianOS->runPerfectSetup() [line 2800]
# ISPConfigDebianOS->installUnattendedUpgrades() [lines 1340-1598]
# ISPConfigDebian12OS->installUnattendedUpgrades() [lines 341-352]

mkdir -p /root/debian/etc/apt/apt.conf.d
cp -f /etc/apt/apt.conf.d/20auto-upgrades /root/debian/etc/apt/apt.conf.d/20auto-upgrades 2>/dev/null
cp -f /etc/apt/apt.conf.d/50unattended-upgrades /root/debian/etc/apt/apt.conf.d/50unattended-upgrades 2>/dev/null
cp -f /etc/apt/apt.conf.d/51unattended-upgrades /root/debian/etc/apt/apt.conf.d/51unattended-upgrades 2>/dev/null

# ISPConfigDebianOS->runPerfectSetup() [line 2804]
# ISPConfigDebian12OS->installRoundcube($mysql_root_pw) [lines 111-114]
# ISPConfigDebianOS->installRoundcube($mysql_root_pw) [lines 1580-1623]

mkdir -p /root/debian/etc/roundcube
cp -f /etc/roundcube/config.inc.php /root/debian/etc/roundcube/config.inc.php 2>/dev/null
cp -f /etc/roundcube/apache.conf /root/debian/etc/roundcube/apache.conf 2>/dev/null

# ISPConfigDebianOS->runPerfectSetup() [lines -]

if [ "$DOMAINNAME" != 'uni.lux' ] ; then
	mkdir -p /root/debian/usr/local/ispconfig/server/plugins-available
	cp -f /tmp/ispconfig3_install/server/plugins-available/mailman_plugin.inc.php /root/debian/usr/local/ispconfig/server/plugins-available/mailman_plugin.inc.php 2>/dev/null
fi

VERSION=$(sed -nr "s/.*ISPC_APP_VERSION.*'([0-9]+\.[0-9]+\.[0-9]+p?[0-9]?|[0-9]+\.[0-9]+dev[0-9]+)'.*/\1/p" /tmp/ispconfig3_install/install/tpl/config.inc.php.master)
if [ -z "$VERSION" ] ; then
	VERSION1=$(sed -nr "s/.*ISPC_APP_VERSION.*'([0-9]+\.[0-9]+dev)'.*/\1/p" /tmp/ispconfig3_install/install/tpl/config.inc.php.master)
	VERSION2=$(date +%Y%m%d)
	VERSION="$VERSION1$VERSION2"
fi
if [ ! -d /usr/local/src/ISPConfig-$VERSION ] ; then
	mv /tmp/ispconfig3_install /usr/local/src/ISPConfig-$VERSION 2>/dev/null
else
	rm -rf /tmp/ispconfig3_install 2>/dev/null
fi

if [ "$DOMAINNAME" != 'uni.lux' ] ; then
	cp -f /etc/postfix/main.cf /root/debian/etc/postfix/main.cf 2>/dev/null
	cp -f /etc/postfix/master.cf /root/debian/etc/postfix/master.cf 2>/dev/null

	mkdir -p /root/debian/etc/dovecot
	cp -f /etc/dovecot/dovecot.conf /root/debian/etc/dovecot/dovecot.conf 2>/dev/null

	mkdir -p /root/debian/etc/rspamd
	cp -f /etc/rspamd/rspamd.conf /root/debian/etc/rspamd/rspamd.conf 2>/dev/null
fi

cp -f /etc/pure-ftpd/db/mysql.conf /root/debian/etc/pure-ftpd/db/mysql.conf 2>/dev/null

cp -f /etc/apache2/ports.conf /root/debian/etc/apache2/ports.conf 2>/dev/null
mkdir -p /root/debian/etc/apache2/mods-available
cp -f /etc/apache2/mods-available/fcgid.conf /root/debian/etc/apache2/mods-available/fcgid.conf 2>/dev/null
cp -f /etc/apache2/apache2.conf /root/debian/etc/apache2/apache2.conf 2>/dev/null
mkdir -p /root/debian/etc/webalizer
cp -f /etc/webalizer/webalizer.conf /root/debian/etc/webalizer/webalizer.conf 2>/dev/null
mkdir -p /root/debian/etc/awstats
cp -f /etc/awstats/awstats.conf.local /root/debian/etc/awstats/awstats.conf.local 2>/dev/null

mkdir -p /root/debian/etc/apparmor.d/local
cp -f /etc/apparmor.d/local/usr.sbin.named /root/debian/etc/apparmor.d/local/usr.sbin.named 2>/dev/null

mkdir -p /custom/root/etc/ufw
cp -f /etc/ufw/ufw.conf /custom/root/etc/ufw/ufw.conf 2>/dev/null

cp -f /root/.acme.sh/account.conf /root/debian/root/.acme.sh/account.conf 2>/dev/null

if [ "$DOMAINNAME" != 'uni.lux' ] ; then
	mkdir -p /root/ispconfig3/install/tpl
	cp -f /usr/local/src/ISPConfig-$VERSION/install/tpl/mm_cfg.py.master /root/ispconfig3/install/tpl/mm_cfg.py.master 2>/dev/null
	mkdir -p /root/ispconfig3/server/conf
	cp -f /usr/local/src/ISPConfig-$VERSION/server/conf/mm_cfg.py.master /root/ispconfig3/server/conf/mm_cfg.py.master 2>/dev/null
	mkdir -p /root/debian/usr/local/ispconfig/server/conf-custom/install
	cp -f /usr/local/ispconfig/server/conf-custom/mm_cfg.py.master /root/debian/usr/local/ispconfig/server/conf-custom/mm_cfg.py.master 2>/dev/null
	cp -f /usr/local/ispconfig/server/conf-custom/install/mm_cfg.py.master /root/debian/usr/local/ispconfig/server/conf-custom/install/mm_cfg.py.master 2>/dev/null
	cp -f /etc/mailman/mm_cfg.py /root/debian/etc/mailman/mm_cfg.py 2>/dev/null
fi

cp -f /usr/local/src/ISPConfig-$VERSION/install/tpl/named.conf.options.master /root/ispconfig3/install/tpl/named.conf.options.master 2>/dev/null
cp -f /usr/local/ispconfig/server/conf-custom/install/named.conf.options.master /root/debian/usr/local/ispconfig/server/conf-custom/install/named.conf.options.master 2>/dev/null
cp -f /etc/bind/named.conf.options /root/debian/etc/bind/named.conf.options 2>/dev/null

cp -f /etc/apache2/ports.conf /root/debian/etc/apache2/ports.conf 2>/dev/null
