diff --git a/.gitignore b/.gitignore
index e9fe2732b2..b04676c3fb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,10 @@ nbproject
/Vagrantfile
.DS_Store
_Deparsed_XSubs.pm
+
+.vscode/
+daemon/*.o
+daemon/imscp_daemon
+gui/data/*
+gui/vendor/
+gui/library/
\ No newline at end of file
diff --git a/autoinstaller/Functions.pm b/autoinstaller/Functions.pm
index 95a599c458..ffd2883603 100644
--- a/autoinstaller/Functions.pm
+++ b/autoinstaller/Functions.pm
@@ -70,8 +70,8 @@ sub loadConfig
{
my $lsb = iMSCP::LsbRelease->getInstance();
my $distConf = "$FindBin::Bin/configs/" . lc( $lsb->getId( TRUE ))
- . '/imscp.conf';
- my $defaultConf = "$FindBin::Bin/configs/debian/imscp.conf";
+ . '/default/imscp.conf';
+ my $defaultConf = "$FindBin::Bin/configs/debian/default/imscp.conf";
my $newConf = -f $distConf ? $distConf : $defaultConf;
# Load new configuration
@@ -427,8 +427,10 @@ sub _buildLayout
sub _buildConfigFiles
{
- my $distroConfigDir = "$FindBin::Bin/configs/$::imscpConfig{'DISTRO_ID'}";
- my $defaultConfigDir = "$FindBin::Bin/configs/debian";
+ my $distroConfigDir = -d "$FindBin::Bin/configs/$::imscpConfig{'DISTRO_ID'}/$::imscpConfig{'DISTRO_CODENAME'}"
+ ? "$FindBin::Bin/configs/$::imscpConfig{'DISTRO_ID'}/$::imscpConfig{'DISTRO_CODENAME'}"
+ : "$FindBin::Bin/configs/$::imscpConfig{'DISTRO_ID'}/default";
+ my $defaultConfigDir = "$FindBin::Bin/configs/debian/default";
my $confDir = -d $distroConfigDir ? $distroConfigDir : $defaultConfigDir;
local $CWD = $confDir;
diff --git a/autoinstaller/Packages/debian-bullseye.xml b/autoinstaller/Packages/debian-bullseye.xml
new file mode 100644
index 0000000000..e0bc914fe5
--- /dev/null
+++ b/autoinstaller/Packages/debian-bullseye.xml
@@ -0,0 +1,570 @@
+
+
+
+ nginx-full
+
+
+
+
+
+ apache2
+
+
+ apache2-suexec-pristine
+
+ libapache2-mod-fcgid
+
+
+
+ apache2
+
+ apache2-dev
+ libapache2-mpm-itk
+
+
+
+ apache2
+
+ apache2-dev
+
+ apache2-suexec-pristine
+
+
+
+
+
+
+ php5.6
+
+ php5.6-cgi
+ php5.6-cli
+ php5.6-fpm
+ php5.6-common
+ php5.6-bcmath
+ php5.6-bz2
+ php5.6-curl
+ php5.6-gd
+ php5.6-gmp
+ php5.6-imap
+ php5.6-intl
+ php5.6-json
+ php5.6-mbstring
+ php5.6-mcrypt
+ php5.6-mysql
+ php5.6-opcache
+ php5.6-phar
+ php5.6-pspell
+ php5.6-xml
+ php5.6-zip
+ libapache2-mod-php5.6
+
+
+
+ php7.0
+
+ php7.0-cli
+ php7.0-cgi
+ php7.0-fpm
+ php7.0-common
+ php7.0-bcmath
+ php7.0-bz2
+ php7.0-curl
+ php7.0-gd
+ php7.0-gmp
+ php7.0-imap
+ php7.0-intl
+ php7.0-json
+ php7.0-mbstring
+ php7.0-mcrypt
+ php7.0-mysql
+ php7.0-opcache
+ php7.0-phar
+ php7.0-pspell
+ php7.0-xml
+ php7.0-zip
+ libapache2-mod-php7.0
+ php7.0-apcu
+ php7.0-apcu-bc
+
+
+
+ php7.1
+
+ php7.1-cli
+ php7.1-cgi
+ php7.1-fpm
+ php7.1-common
+ php7.1-bcmath
+ php7.1-bz2
+ php7.1-curl
+ php7.1-gd
+ php7.1-gmp
+ php7.1-imap
+ php7.1-intl
+ php7.1-json
+ php7.1-mbstring
+ php7.1-mcrypt
+ php7.1-mysql
+ php7.1-opcache
+ php7.1-phar
+ php7.1-pspell
+ php7.1-xml
+ php7.1-zip
+ libapache2-mod-php7.1
+ php7.1-apcu
+ php7.1-apcu-bc
+
+
+
+ php7.2
+
+ php7.2-cli
+ php7.2-cgi
+ php7.2-fpm
+ php7.2-common
+ php7.2-bcmath
+ php7.2-bz2
+ php7.2-curl
+ php7.2-gd
+ php7.2-gmp
+ php7.2-imap
+ php7.2-intl
+ php7.2-json
+ php7.2-mbstring
+ php7.2-mysql
+ php7.2-opcache
+ php7.2-phar
+ php7.2-pspell
+ php7.2-xml
+ php7.2-zip
+ libapache2-mod-php7.2
+ php7.2-apcu
+ php7.2-apcu-bc
+
+
+
+ php7.3
+
+
+ php7.3-cli
+
+ php7.3-cgi
+ php7.3-fpm
+ php7.3-common
+ php7.3-bcmath
+ php7.3-bz2
+ php7.3-curl
+ php7.3-gd
+ php7.3-gmp
+ php7.3-imap
+ php7.3-intl
+ php7.3-json
+ php7.3-mbstring
+ php7.3-mysql
+ php7.3-opcache
+
+ php7.3-phar
+
+ php7.3-pspell
+ php7.3-xml
+ php7.3-zip
+ libapache2-mod-php7.3
+ php7.3-apcu
+ php7.3-apcu-bc
+
+
+
+ php7.4
+
+ php7.4-cli
+ php7.4-cgi
+ php7.4-fpm
+ php7.4-common
+ php7.4-bcmath
+ php7.4-bz2
+ php7.4-curl
+ php7.4-gd
+ php7.4-gmp
+ php7.4-imap
+ php7.4-intl
+ php7.4-json
+ php7.4-mbstring
+ php7.4-mysql
+ php7.4-opcache
+ php7.4-phar
+ php7.4-pspell
+ php7.4-xml
+ php7.4-zip
+ libapache2-mod-php7.4
+ php7.4-apcu
+ php7.4-apcu-bc
+
+
+
+ php8.0
+
+ php8.0-cli
+ php8.0-cgi
+ php8.0-fpm
+ php8.0-common
+ php8.0-bcmath
+ php8.0-bz2
+ php8.0-curl
+ php8.0-gd
+ php8.0-gmp
+ php8.0-imap
+ php8.0-intl
+ php8.0-mbstring
+ php8.0-mysql
+ php8.0-opcache
+ php8.0-phar
+ php8.0-pspell
+ php8.0-xml
+ php8.0-zip
+ libapache2-mod-php8.0
+ php8.0-apcu
+
+ php-pear
+
+
+
+ courier-authlib-mysql
+ courier-imap
+ courier-imap-ssl
+ courier-pop
+ courier-pop-ssl
+ libgamin0
+ libsasl2-modules
+ maildrop
+ libsasl2-modules-sql
+ sasl2-bin
+
+
+ dovecot-imapd
+ dovecot-pop3d
+ dovecot-mysql
+ dovecot-managesieved
+ dovecot-sieve
+
+
+
+
+ postfix
+ procmail
+ sendmail
+ sendmail-base
+ sendmail-bin
+ sendmail-cf
+ sendmail-doc
+
+
+
+
+ proftpd-basic
+ proftpd-mod-mysql
+ vsftpd
+
+
+ libpam-mysql
+ vsftpd
+ proftpd-basic
+
+
+
+
+ bind9
+
+
+
+ resolvconf
+
+
+
+ libmariadb3
+ mariadb-client-10.5
+ mariadb-common
+
+ mariadb-server-10.5
+
+
+
+ libmariadb3
+ mariadb-common
+ mariadb-client-10.5
+
+ mysql-common
+
+
+ apt-src
+ at
+ bash
+ bash-completion
+ bzip2
+ ca-certificates
+ coreutils
+ cron
+ curl
+ devscripts
+ dirmngr
+ dnsutils
+ dpkg-dev
+ findutils
+ gcc
+ git
+ gzip
+ iptables
+ iproute2
+ ispell
+ libc6-dev
+ libcrypt-blowfish-perl
+ libcrypt-cbc-perl
+ libcrypt-eksblowfish-perl
+ libcrypt-rijndael-perl
+ libdata-validate-ip-perl
+ libdate-simple-perl
+ libdatetime-perl
+ libdbd-mariadb-perl
+ libdbi-perl
+ libemail-valid-perl
+ libfile-chmod-perl
+ libfile-copy-recursive-perl
+ libfile-homedir-perl
+ libhash-merge-perl
+ libjson-perl
+ libmailtools-perl
+ libmime-tools-perl
+ libnet-dns-perl
+ libnet-libidn-perl
+ libsort-naturally-perl
+ libssl-dev
+ libtimedate-perl
+ libunix-mknod-perl
+ libwww-perl
+ libxml-parser-perl
+ libxml-simple-perl
+ locales-all
+ logrotate
+ lzma
+ make
+ mawk
+ ntp
+ openssl
+ patch
+ pbuilder
+ pbzip2
+ perl
+ pigz
+ ssh
+ sudo
+ tar
+ unzip
+
+
diff --git a/configs/debian/bullseye/bind/bind.data.dist b/configs/debian/bullseye/bind/bind.data.dist
new file mode 100644
index 0000000000..503049835a
--- /dev/null
+++ b/configs/debian/bullseye/bind/bind.data.dist
@@ -0,0 +1,34 @@
+BIND_USER = bind
+BIND_GROUP = bind
+
+BIND_CONF_DIR = /etc/bind
+BIND_CONF_DEFAULT_FILE = /etc/default/bind9
+BIND_CONF_FILE = /etc/bind/named.conf
+BIND_LOCAL_CONF_FILE = /etc/bind/named.conf.local
+BIND_OPTIONS_CONF_FILE = /etc/bind/named.conf.options
+BIND_DB_ROOT_DIR = /var/cache/bind
+BIND_DB_MASTER_DIR = /var/cache/bind/imscp/master
+BIND_DB_SLAVE_DIR = /var/cache/bind/imscp/slave
+NAMED = /usr/sbin/named
+NAMED_COMPILEZONE = /usr/sbin/named-compilezone
+NAMED_SERVICE = named
+
+# Format for compiled zone files
+# Possible values: text, raw or raw=N where N can be 0 or 1
+# See NAMED-CHECKZONE(8)
+BIND_DB_FORMAT = raw=0
+
+# Mode in which the server should acts (master|slave)
+BIND_MODE =
+
+# Master DNS(s) IP addresses
+PRIMARY_DNS =
+
+# Slave DNS(s) IP addresses
+SECONDARY_DNS =
+
+# IPv6 support
+BIND_IPV6 =
+
+# Local DNS Resolver
+LOCAL_DNS_RESOLVER =
diff --git a/configs/debian/bind/install.xml b/configs/debian/bullseye/bind/install.xml
similarity index 100%
rename from configs/debian/bind/install.xml
rename to configs/debian/bullseye/bind/install.xml
diff --git a/configs/debian/bind/named.conf b/configs/debian/bullseye/bind/named.conf
similarity index 100%
rename from configs/debian/bind/named.conf
rename to configs/debian/bullseye/bind/named.conf
diff --git a/configs/debian/bind/named.conf.local b/configs/debian/bullseye/bind/named.conf.local
similarity index 100%
rename from configs/debian/bind/named.conf.local
rename to configs/debian/bullseye/bind/named.conf.local
diff --git a/configs/debian/bind/named.conf.options b/configs/debian/bullseye/bind/named.conf.options
similarity index 100%
rename from configs/debian/bind/named.conf.options
rename to configs/debian/bullseye/bind/named.conf.options
diff --git a/configs/debian/bind/parts/cfg_master.tpl b/configs/debian/bullseye/bind/parts/cfg_master.tpl
similarity index 100%
rename from configs/debian/bind/parts/cfg_master.tpl
rename to configs/debian/bullseye/bind/parts/cfg_master.tpl
diff --git a/configs/debian/bind/parts/cfg_slave.tpl b/configs/debian/bullseye/bind/parts/cfg_slave.tpl
similarity index 100%
rename from configs/debian/bind/parts/cfg_slave.tpl
rename to configs/debian/bullseye/bind/parts/cfg_slave.tpl
diff --git a/configs/debian/bind/parts/db.tpl b/configs/debian/bullseye/bind/parts/db.tpl
similarity index 100%
rename from configs/debian/bind/parts/db.tpl
rename to configs/debian/bullseye/bind/parts/db.tpl
diff --git a/configs/debian/bind/parts/db_sub.tpl b/configs/debian/bullseye/bind/parts/db_sub.tpl
similarity index 100%
rename from configs/debian/bind/parts/db_sub.tpl
rename to configs/debian/bullseye/bind/parts/db_sub.tpl
diff --git a/configs/debian/imscp.conf b/configs/debian/bullseye/imscp.conf
similarity index 100%
rename from configs/debian/imscp.conf
rename to configs/debian/bullseye/imscp.conf
diff --git a/configs/debian/proftpd/install.xml b/configs/debian/bullseye/proftpd/install.xml
similarity index 100%
rename from configs/debian/proftpd/install.xml
rename to configs/debian/bullseye/proftpd/install.xml
diff --git a/configs/debian/proftpd/proftpd-basic b/configs/debian/bullseye/proftpd/proftpd-basic
similarity index 100%
rename from configs/debian/proftpd/proftpd-basic
rename to configs/debian/bullseye/proftpd/proftpd-basic
diff --git a/configs/debian/bullseye/proftpd/proftpd.conf b/configs/debian/bullseye/proftpd/proftpd.conf
new file mode 100644
index 0000000000..43d9d6d124
--- /dev/null
+++ b/configs/debian/bullseye/proftpd/proftpd.conf
@@ -0,0 +1,116 @@
+# proftpd(8) configuration file - auto-generated by i-MSCP
+# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
+
+# Load required modules
+Include /etc/proftpd/modules.conf
+
+
+ LoadModule mod_sql.c
+
+
+ LoadModule mod_sql_mysql.c
+
+
+ LoadModule mod_quotatab.c
+
+
+ LoadModule mod_quotatab_sql.c
+
+
+ LoadModule mod_tls.c
+
+
+ LoadModule mod_ident.c
+
+
+# Server configuration
+ServerName "{HOSTNAME}"
+ServerType standalone
+UseIPv6 {IPV6_SUPPORT}
+UseReverseDNS off
+MultilineRFC2228 on
+DefaultServer on
+LogFormat traff "%b %u"
+Port 21
+MaxInstances {MAX_INSTANCES}
+User proftpd
+Group nogroup
+
+
+ ControlsEngine off
+ ControlsMaxClients 2
+ ControlsLog /var/log/proftpd/controls.log
+ ControlsInterval 5
+ ControlsSocket /var/run/proftpd/proftpd.sock
+
+
+
+ AdminControlsEngine off
+
+
+# Global configuration parameters (apply to all servers, including default server)
+
+ ServerIdent on {SERVER_IDENT_MESSAGE}
+ DeferWelcome off
+ ShowSymlinks on
+ AllowOverwrite on
+ IdentLookups off
+ AllowStoreRestart on
+ AllowForeignAddress on
+ TimeoutLogin 120
+ TimeoutNoTransfer 600
+ TimeoutStalled 600
+ TimeoutIdle 1200
+ DisplayLogin welcome.msg
+ DisplayChdir message
+ ListOptions "-a +R" "strict"
+ DenyFilter \*.*/
+ DefaultRoot ~
+ PassivePorts {FTPD_PASSIVE_PORT_RANGE}
+ MaxClientsPerHost {MAX_CLIENT_PER_HOST}
+
+
+ Umask 027 027
+ AllowOverwrite on
+ HideNoAccess on
+
+
+
+ IgnoreHidden on
+
+
+ RootLogin off
+ TransferLog /var/log/proftpd/xferlog
+ PathDenyFilter "\.quota$"
+
+
+ QuotaEngine on
+ QuotaShowQuotas on
+ QuotaDisplayUnits Mb
+ SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM quotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"
+ SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM quotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"
+ SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" quotatallies
+ SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" quotatallies
+ QuotaLock /var/run/proftpd/tally.lock
+ QuotaLimitTable sql:/get-quota-limit
+ QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally
+
+
+
+ DelayEngine on
+
+
+
+ AuthOrder mod_sql.c
+ SQLBackend mysql
+ SQLAuthTypes Crypt
+ SQLAuthenticate on
+ SQLConnectInfo {DATABASE_NAME}@{DATABASE_HOST} {DATABASE_USER} {DATABASE_PASS}
+ SQLUserInfo ftp_users userid passwd uid gid homedir shell
+ SQLGroupInfo ftp_group groupname gid members
+ SQLMinUserUID {FTPD_MIN_UID}
+ SQLMinUserGID {FTPD_MIN_GID}
+ SQLUserWhereClause "status = 'ok'"
+ SQLNegativeCache on
+
+
diff --git a/configs/debian/proftpd/proftpd.data.dist b/configs/debian/bullseye/proftpd/proftpd.data.dist
similarity index 100%
rename from configs/debian/proftpd/proftpd.data.dist
rename to configs/debian/bullseye/proftpd/proftpd.data.dist
diff --git a/configs/debian/apache/00_imscp.conf b/configs/debian/default/apache/00_imscp.conf
similarity index 100%
rename from configs/debian/apache/00_imscp.conf
rename to configs/debian/default/apache/00_imscp.conf
diff --git a/configs/debian/apache/00_nameserver.conf b/configs/debian/default/apache/00_nameserver.conf
similarity index 100%
rename from configs/debian/apache/00_nameserver.conf
rename to configs/debian/default/apache/00_nameserver.conf
diff --git a/configs/debian/apache/apache.data.dist b/configs/debian/default/apache/apache.data.dist
similarity index 100%
rename from configs/debian/apache/apache.data.dist
rename to configs/debian/default/apache/apache.data.dist
diff --git a/configs/debian/apache/install.xml b/configs/debian/default/apache/install.xml
similarity index 100%
rename from configs/debian/apache/install.xml
rename to configs/debian/default/apache/install.xml
diff --git a/configs/debian/apache/logrotate.conf b/configs/debian/default/apache/logrotate.conf
similarity index 100%
rename from configs/debian/apache/logrotate.conf
rename to configs/debian/default/apache/logrotate.conf
diff --git a/configs/debian/apache/parts/custom.conf.tpl b/configs/debian/default/apache/parts/custom.conf.tpl
similarity index 100%
rename from configs/debian/apache/parts/custom.conf.tpl
rename to configs/debian/default/apache/parts/custom.conf.tpl
diff --git a/configs/debian/apache/parts/domain.tpl b/configs/debian/default/apache/parts/domain.tpl
similarity index 100%
rename from configs/debian/apache/parts/domain.tpl
rename to configs/debian/default/apache/parts/domain.tpl
diff --git a/configs/debian/apache/parts/domain_disabled.tpl b/configs/debian/default/apache/parts/domain_disabled.tpl
similarity index 100%
rename from configs/debian/apache/parts/domain_disabled.tpl
rename to configs/debian/default/apache/parts/domain_disabled.tpl
diff --git a/configs/debian/apache/vlogger b/configs/debian/default/apache/vlogger
similarity index 100%
rename from configs/debian/apache/vlogger
rename to configs/debian/default/apache/vlogger
diff --git a/configs/debian/apache/vlogger.conf.tpl b/configs/debian/default/apache/vlogger.conf.tpl
similarity index 100%
rename from configs/debian/apache/vlogger.conf.tpl
rename to configs/debian/default/apache/vlogger.conf.tpl
diff --git a/configs/debian/apache/vlogger.sql b/configs/debian/default/apache/vlogger.sql
similarity index 100%
rename from configs/debian/apache/vlogger.sql
rename to configs/debian/default/apache/vlogger.sql
diff --git a/configs/debian/apt/01norecommend b/configs/debian/default/apt/01norecommend
similarity index 100%
rename from configs/debian/apt/01norecommend
rename to configs/debian/default/apt/01norecommend
diff --git a/configs/debian/apt/install.xml b/configs/debian/default/apt/install.xml
similarity index 100%
rename from configs/debian/apt/install.xml
rename to configs/debian/default/apt/install.xml
diff --git a/configs/debian/bind/bind.data.dist b/configs/debian/default/bind/bind.data.dist
similarity index 100%
rename from configs/debian/bind/bind.data.dist
rename to configs/debian/default/bind/bind.data.dist
diff --git a/configs/debian/default/bind/install.xml b/configs/debian/default/bind/install.xml
new file mode 100644
index 0000000000..e07f8fe0c0
--- /dev/null
+++ b/configs/debian/default/bind/install.xml
@@ -0,0 +1,11 @@
+
+
+ ${SYSTEM_CONF}/bind
+ ${SYSTEM_CONF}/bind/backup
+ ${SYSTEM_CONF}/bind/working
+ ${SYSTEM_CONF}/bind/parts
+ ${SYSTEM_CONF}/bind/bind.data.dist
+ ${SYSTEM_CONF}/bind/named.conf
+ ${SYSTEM_CONF}/bind/named.conf.local
+ ${SYSTEM_CONF}/bind/named.conf.options
+
diff --git a/configs/debian/default/bind/named.conf b/configs/debian/default/bind/named.conf
new file mode 100644
index 0000000000..c6839ca738
--- /dev/null
+++ b/configs/debian/default/bind/named.conf
@@ -0,0 +1,16 @@
+
+// This is the primary configuration file for the BIND DNS server named.
+//
+// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
+// structure of BIND configuration files in Debian, *BEFORE* you customize
+// this configuration file.
+//
+// If you are just adding zones, please do that in /etc/bind/named.conf.local
+
+include "/etc/bind/named.conf.options";
+include "/etc/bind/named.conf.local";
+include "/etc/bind/named.conf.default-zones";
+include "/etc/bind/bind.keys";
+
+// imscp [{ENTRY_ID}] entry BEGIN
+// imscp [{ENTRY_ID}] entry ENDING
diff --git a/configs/debian/default/bind/named.conf.local b/configs/debian/default/bind/named.conf.local
new file mode 100644
index 0000000000..4270f3cf80
--- /dev/null
+++ b/configs/debian/default/bind/named.conf.local
@@ -0,0 +1,10 @@
+//
+// Do any local configuration here
+//
+
+// Consider adding the 1918 zones here, if they are not used in your
+// organization
+//include "/etc/bind/zones.rfc1918";
+
+// imscp [{ENTRY_ID}] entry BEGIN
+// imscp [{ENTRY_ID}] entry ENDING
diff --git a/configs/debian/default/bind/named.conf.options b/configs/debian/default/bind/named.conf.options
new file mode 100644
index 0000000000..f6e7e9b3e9
--- /dev/null
+++ b/configs/debian/default/bind/named.conf.options
@@ -0,0 +1,40 @@
+options {
+ directory "/var/cache/bind";
+
+ // If there is a firewall between you and nameservers you want
+ // to talk to, you may need to fix the firewall to allow multiple
+ // ports to talk. See http://www.kb.cert.org/vuls/id/800113
+
+ // If your ISP provided one or more IP addresses for stable
+ // nameservers, you probably want to use them as forwarders.
+ // Uncomment the following block, and insert the addresses replacing
+ // the all-0's placeholder.
+
+ // forwarders {
+ // 0.0.0.0;
+ // };
+
+ auth-nxdomain no; # conform to RFC1035
+
+ dnssec-enable no;
+ dnssec-validation no;
+
+ // Listen to all IPv4 and IPv6 interfaces
+ listen-on { any; };
+ listen-on-v6 { any; };
+
+ // Improving server performances by reducing outgoing data volumes
+ minimal-responses yes;
+
+ // Protecting server against common attacks
+ allow-recursion { localhost; };
+ allow-query-cache { localhost; };
+ allow-transfer { none; };
+ version "i-MSCP DNS Server";
+
+ // As per RFC 7208, SPF DNS record are deprecated
+ // check-spf ignore;
+
+ // imscp [{ENTRY_ID}] entry BEGIN
+ // imscp [{ENTRY_ID}] entry ENDING
+};
diff --git a/configs/debian/default/bind/parts/cfg_master.tpl b/configs/debian/default/bind/parts/cfg_master.tpl
new file mode 100644
index 0000000000..54c8f95a24
--- /dev/null
+++ b/configs/debian/default/bind/parts/cfg_master.tpl
@@ -0,0 +1,7 @@
+zone "{DOMAIN_NAME}" {
+ type master;
+ masterfile-format {BIND_DB_FORMAT};
+ file "imscp/master/{DOMAIN_NAME}.db";
+ allow-transfer { {SECONDARY_DNS} };
+ notify yes;
+};
diff --git a/configs/debian/default/bind/parts/cfg_slave.tpl b/configs/debian/default/bind/parts/cfg_slave.tpl
new file mode 100644
index 0000000000..8cf83412cb
--- /dev/null
+++ b/configs/debian/default/bind/parts/cfg_slave.tpl
@@ -0,0 +1,6 @@
+zone "{DOMAIN_NAME}" {
+ type slave;
+ masterfile-format {BIND_DB_FORMAT};
+ file "imscp/slave/{DOMAIN_NAME}.db";
+ masters { {PRIMARY_DNS} };
+};
diff --git a/configs/debian/default/bind/parts/db.tpl b/configs/debian/default/bind/parts/db.tpl
new file mode 100644
index 0000000000..71a0d063e6
--- /dev/null
+++ b/configs/debian/default/bind/parts/db.tpl
@@ -0,0 +1,33 @@
+$TTL 3H
+$ORIGIN {DOMAIN_NAME}.
+@ IN SOA ns1.{DOMAIN_NAME}. hostmaster.{DOMAIN_NAME}. (
+ {TIMESTAMP}; Serial
+ 3H; Refresh
+ 1H; Retry
+ 2W; Expire
+ 1H; Minimum TTL
+)
+; domain NS records BEGIN
+@ IN NS {NS_NAME}
+; domain NS records ENDING
+@ IN {IP_TYPE} {DOMAIN_IP}
+; domain NS GLUE records BEGIN
+{NS_NAME} IN {NS_IP_TYPE} {NS_IP}
+; domain NS GLUE records ENDING
+www IN CNAME @
+ftp IN {IP_TYPE} {DOMAIN_IP}
+; domain MAIL records BEGIN
+@ IN MX 10 mail
+@ IN TXT "v=spf1 a mx -all"
+mail IN {BASE_SERVER_IP_TYPE} {BASE_SERVER_IP}
+imap IN {BASE_SERVER_IP_TYPE} {BASE_SERVER_IP}
+pop IN {BASE_SERVER_IP_TYPE} {BASE_SERVER_IP}
+pop3 IN {BASE_SERVER_IP_TYPE} {BASE_SERVER_IP}
+relay IN {BASE_SERVER_IP_TYPE} {BASE_SERVER_IP}
+smtp IN {BASE_SERVER_IP_TYPE} {BASE_SERVER_IP}
+; domain MAIL records ENDING
+; subdomain records BEGIN
+; subdomain [{SUBDOMAIN_NAME}] records BEGIN
+; subdomain [{SUBDOMAIN_NAME}] records ENDING
+; subdomain records ENDING
+$ORIGIN {DOMAIN_NAME}.
diff --git a/configs/debian/default/bind/parts/db_sub.tpl b/configs/debian/default/bind/parts/db_sub.tpl
new file mode 100644
index 0000000000..9a6354ad16
--- /dev/null
+++ b/configs/debian/default/bind/parts/db_sub.tpl
@@ -0,0 +1,18 @@
+; subdomain [{SUBDOMAIN_NAME}] records BEGIN
+$ORIGIN {SUBDOMAIN_NAME}.
+; subdomain MAIL records BEGIN
+@ IN MX 10 mail
+@ IN TXT "v=spf1 include:{DOMAIN_NAME} -all"
+mail IN {BASE_SERVER_IP_TYPE} {BASE_SERVER_IP}
+imap IN {BASE_SERVER_IP_TYPE} {BASE_SERVER_IP}
+pop IN {BASE_SERVER_IP_TYPE} {BASE_SERVER_IP}
+pop3 IN {BASE_SERVER_IP_TYPE} {BASE_SERVER_IP}
+relay IN {BASE_SERVER_IP_TYPE} {BASE_SERVER_IP}
+smtp IN {BASE_SERVER_IP_TYPE} {BASE_SERVER_IP}
+; subdomain MAIL records ENDING
+@ IN {IP_TYPE} {DOMAIN_IP}
+; subdomain OPTIONAL records BEGIN
+www IN CNAME @
+ftp IN {IP_TYPE} {DOMAIN_IP}
+; subdomain OPTIONAL records ENDING
+; subdomain [{SUBDOMAIN_NAME}] records ENDING
diff --git a/configs/debian/courier/authmysqlrc b/configs/debian/default/courier/authmysqlrc
similarity index 100%
rename from configs/debian/courier/authmysqlrc
rename to configs/debian/default/courier/authmysqlrc
diff --git a/configs/debian/courier/courier.data.dist b/configs/debian/default/courier/courier.data.dist
similarity index 100%
rename from configs/debian/courier/courier.data.dist
rename to configs/debian/default/courier/courier.data.dist
diff --git a/configs/debian/courier/imapd.local b/configs/debian/default/courier/imapd.local
similarity index 100%
rename from configs/debian/courier/imapd.local
rename to configs/debian/default/courier/imapd.local
diff --git a/configs/debian/courier/install.xml b/configs/debian/default/courier/install.xml
similarity index 100%
rename from configs/debian/courier/install.xml
rename to configs/debian/default/courier/install.xml
diff --git a/configs/debian/courier/quota-warning b/configs/debian/default/courier/quota-warning
similarity index 100%
rename from configs/debian/courier/quota-warning
rename to configs/debian/default/courier/quota-warning
diff --git a/configs/debian/courier/sasl/smtpd.conf b/configs/debian/default/courier/sasl/smtpd.conf
similarity index 100%
rename from configs/debian/courier/sasl/smtpd.conf
rename to configs/debian/default/courier/sasl/smtpd.conf
diff --git a/configs/debian/cron/cron.data.dist b/configs/debian/default/cron/cron.data.dist
similarity index 100%
rename from configs/debian/cron/cron.data.dist
rename to configs/debian/default/cron/cron.data.dist
diff --git a/configs/debian/cron/imscp b/configs/debian/default/cron/imscp
similarity index 100%
rename from configs/debian/cron/imscp
rename to configs/debian/default/cron/imscp
diff --git a/configs/debian/cron/install.xml b/configs/debian/default/cron/install.xml
similarity index 100%
rename from configs/debian/cron/install.xml
rename to configs/debian/default/cron/install.xml
diff --git a/configs/debian/database/database.sql b/configs/debian/default/database/database.sql
similarity index 100%
rename from configs/debian/database/database.sql
rename to configs/debian/default/database/database.sql
diff --git a/configs/debian/database/install.xml b/configs/debian/default/database/install.xml
similarity index 100%
rename from configs/debian/database/install.xml
rename to configs/debian/default/database/install.xml
diff --git a/configs/debian/dovecot/dovecot-managesieve.conf b/configs/debian/default/dovecot/dovecot-managesieve.conf
similarity index 100%
rename from configs/debian/dovecot/dovecot-managesieve.conf
rename to configs/debian/default/dovecot/dovecot-managesieve.conf
diff --git a/configs/debian/dovecot/dovecot-sql.conf b/configs/debian/default/dovecot/dovecot-sql.conf
similarity index 100%
rename from configs/debian/dovecot/dovecot-sql.conf
rename to configs/debian/default/dovecot/dovecot-sql.conf
diff --git a/configs/debian/dovecot/dovecot.conf b/configs/debian/default/dovecot/dovecot.conf
similarity index 100%
rename from configs/debian/dovecot/dovecot.conf
rename to configs/debian/default/dovecot/dovecot.conf
diff --git a/configs/debian/dovecot/dovecot.data.dist b/configs/debian/default/dovecot/dovecot.data.dist
similarity index 100%
rename from configs/debian/dovecot/dovecot.data.dist
rename to configs/debian/default/dovecot/dovecot.data.dist
diff --git a/configs/debian/dovecot/install.xml b/configs/debian/default/dovecot/install.xml
similarity index 100%
rename from configs/debian/dovecot/install.xml
rename to configs/debian/default/dovecot/install.xml
diff --git a/configs/debian/dovecot/quota-warning b/configs/debian/default/dovecot/quota-warning
similarity index 100%
rename from configs/debian/dovecot/quota-warning
rename to configs/debian/default/dovecot/quota-warning
diff --git a/configs/debian/dovecot/sieve.default b/configs/debian/default/dovecot/sieve.default
similarity index 100%
rename from configs/debian/dovecot/sieve.default
rename to configs/debian/default/dovecot/sieve.default
diff --git a/configs/debian/dpkg/90imscp b/configs/debian/default/dpkg/90imscp
similarity index 100%
rename from configs/debian/dpkg/90imscp
rename to configs/debian/default/dpkg/90imscp
diff --git a/configs/debian/dpkg/install.xml b/configs/debian/default/dpkg/install.xml
similarity index 100%
rename from configs/debian/dpkg/install.xml
rename to configs/debian/default/dpkg/install.xml
diff --git a/configs/debian/frontend/00_master.nginx b/configs/debian/default/frontend/00_master.nginx
similarity index 100%
rename from configs/debian/frontend/00_master.nginx
rename to configs/debian/default/frontend/00_master.nginx
diff --git a/configs/debian/frontend/00_master_ssl.nginx b/configs/debian/default/frontend/00_master_ssl.nginx
similarity index 100%
rename from configs/debian/frontend/00_master_ssl.nginx
rename to configs/debian/default/frontend/00_master_ssl.nginx
diff --git a/configs/debian/frontend/frontend.data.dist b/configs/debian/default/frontend/frontend.data.dist
similarity index 100%
rename from configs/debian/frontend/frontend.data.dist
rename to configs/debian/default/frontend/frontend.data.dist
diff --git a/configs/debian/frontend/imscp_fastcgi.nginx b/configs/debian/default/frontend/imscp_fastcgi.nginx
similarity index 100%
rename from configs/debian/frontend/imscp_fastcgi.nginx
rename to configs/debian/default/frontend/imscp_fastcgi.nginx
diff --git a/configs/debian/frontend/imscp_panel b/configs/debian/default/frontend/imscp_panel
similarity index 100%
rename from configs/debian/frontend/imscp_panel
rename to configs/debian/default/frontend/imscp_panel
diff --git a/configs/debian/frontend/imscp_panel_reopenlogs b/configs/debian/default/frontend/imscp_panel_reopenlogs
similarity index 100%
rename from configs/debian/frontend/imscp_panel_reopenlogs
rename to configs/debian/default/frontend/imscp_panel_reopenlogs
diff --git a/configs/debian/frontend/imscp_php.nginx b/configs/debian/default/frontend/imscp_php.nginx
similarity index 100%
rename from configs/debian/frontend/imscp_php.nginx
rename to configs/debian/default/frontend/imscp_php.nginx
diff --git a/configs/debian/frontend/install.xml b/configs/debian/default/frontend/install.xml
similarity index 100%
rename from configs/debian/frontend/install.xml
rename to configs/debian/default/frontend/install.xml
diff --git a/configs/debian/frontend/nginx.nginx b/configs/debian/default/frontend/nginx.nginx
similarity index 100%
rename from configs/debian/frontend/nginx.nginx
rename to configs/debian/default/frontend/nginx.nginx
diff --git a/configs/debian/frontend/php-fpm.conf b/configs/debian/default/frontend/php-fpm.conf
similarity index 100%
rename from configs/debian/frontend/php-fpm.conf
rename to configs/debian/default/frontend/php-fpm.conf
diff --git a/configs/debian/frontend/php.ini b/configs/debian/default/frontend/php.ini
similarity index 100%
rename from configs/debian/frontend/php.ini
rename to configs/debian/default/frontend/php.ini
diff --git a/configs/debian/default/imscp.conf b/configs/debian/default/imscp.conf
new file mode 100644
index 0000000000..2be97c56b8
--- /dev/null
+++ b/configs/debian/default/imscp.conf
@@ -0,0 +1,205 @@
+## i-MSCP version info
+
+Version = Git 1.5.x
+Build =
+CodeName = Ennio Morricone
+PluginApi = 1.5.1
+
+# Distro info
+
+DISTRO_ID =
+DISTRO_CODENAME =
+DISTRO_RELEASE =
+
+# Server variables
+
+SERVER_HOSTNAME =
+BASE_SERVER_IP =
+BASE_SERVER_PUBLIC_IP =
+BASE_SERVER_VHOST =
+BASE_SERVER_VHOST_PREFIX = http://
+BASE_SERVER_VHOST_HTTP_PORT =
+BASE_SERVER_VHOST_HTTPS_PORT =
+PANEL_SSL_ENABLED =
+SERVICES_SSL_ENABLED =
+DEFAULT_ADMIN_ADDRESS =
+
+# i-MSCP daemon
+
+# You need change this port only if you have overridden default
+# i-MSCP daemon listen port. This change will not be overridden
+# on i-MSCP update.
+DAEMON_LISTEN_PORT = 9876
+
+## SQL server
+
+DATABASE_HOST =
+DATABASE_PORT =
+DATABASE_NAME =
+DATABASE_PASSWORD =
+DATABASE_USER =
+# Host from which SQL users are allowed to connect
+# to the MySQL server
+DATABASE_USER_HOST =
+DATABASE_DIR = /var/lib/mysql
+DATABASE_LAST_OPTIMIZATION =
+# Whether or not to keep local SQL server when one is installed
+# and that the remote SQL server alternative is selected.
+KEEP_LOCAL_SQL_SERVER =
+
+# Composer
+COMPOSER_VERSION = 1.9.0
+
+# System variables
+
+# Do not forget to run the imscp-reconfigure script
+# after changing these parameters
+SYSTEM_USER_PREFIX = vu
+SYSTEM_USER_MIN_UID = 2000
+
+# Whether or not IPv6 is supported (auto-detected)
+IPV6_SUPPORT =
+
+## Apps installer
+
+GUI_APS_DIR = /var/www/imscp/gui/data/persistent/softwares
+GUI_APS_DEPOT_DIR = /var/www/imscp/gui/data/persistent/softwares/sw_depot
+SOFTWARE_TMP_DIR = /var/www/imscp/gui/data/tmp
+# Max remote filesize in bytes (default 25MB)
+APS_MAX_REMOTE_FILESIZE = 26214400
+
+## Main variables
+
+ADM_GROUP = adm
+IMSCP_USER = imscp
+IMSCP_GROUP = imscp
+IMSCP_HOMEDIR = /var/local/imscp
+CONF_DIR = /etc/imscp
+LOG_DIR = /var/log/imscp
+ROOT_DIR = /var/www/imscp
+ROOT_USER = root
+ROOT_GROUP = root
+GUI_ROOT_DIR = /var/www/imscp/gui
+GUI_PUBLIC_DIR = /var/www/imscp/gui/public
+ENGINE_ROOT_DIR = /var/www/imscp/engine
+PLUGINS_DIR = /var/www/imscp/gui/plugins
+USER_WEB_DIR = /var/www/virtual
+DISTRO_OPENSSL_CNF = /etc/ssl/openssl.cnf
+DISTRO_CA_BUNDLE = /etc/ssl/certs/ca-certificates.crt
+DISTRO_CA_PATH = /etc/ssl/certs
+
+# Alternative URLs for client websites
+# Possible value: 'yes' for enabled, 'no' for disabled
+CLIENT_WEBSITES_ALT_URLS =
+
+# Timezone used by PHP/Perl
+TIMEZONE =
+
+## Logrotate
+
+LOGROTATE_CONF_DIR = /etc/logrotate.d
+
+## Anti Rootkits packages
+
+# Possible value are Chkrootkit and/or Rkhunter or No, each value comma separated
+RKHUNTER_LOG = /var/log/rkhunter.log
+CHKROOTKIT_LOG = /var/log/chkrootkit.log
+
+## Awstats package specific variables
+
+AWSTATS_CACHE_DIR = /var/cache/awstats
+AWSTATS_CONFIG_DIR = /etc/awstats
+AWSTATS_ENGINE_DIR = /usr/lib/cgi-bin
+AWSTATS_WEB_DIR = /usr/share/awstats
+
+# Backup
+
+BACKUP_ROOT_DIR = /var/www/imscp/engine/backup
+BACKUP_FILE_DIR = /var/www/imscp/backups
+BACKUP_HOUR = 23
+BACKUP_MINUTE = 40
+
+# Tells whether the i-MSCP database and all /etc/imscp/* files should be daily saved
+# Possible value: yes|no
+BACKUP_IMSCP =
+
+# Tells whether or not backup feature is available for customer's accounts.
+# If yes, customer's domain data are daily saved according their 'allowbackup'
+# domain property (dmn|sql|mail)
+# Possible value: yes|no
+BACKUP_DOMAINS =
+
+# Algorithm for backups compression. Choose 'no' if you do not
+# want any compression.
+#
+# Available compression options: no, gzip, pigz, bzip2, pbzip2, lzma, xz
+# Note: When using a vserver, it is not recommended to use pbzip2 or pigz
+BACKUP_COMPRESS_ALGORITHM = bzip2
+
+# Backup compression level
+# Accepted values: 1 to 9
+# Note: Only relevant if BACKUP_COMPRESS_ALGORITHM is not set to 'no'
+BACKUP_COMPRESS_LEVEL = 1
+
+## Virtual traffic manager
+
+TRAFF_LOG_DIR = /var/log
+MAIL_TRAFF_LOG = mail.log
+TRAFF_ROOT_DIR = /var/www/imscp/engine/traffic
+TOOLS_ROOT_DIR = /var/www/imscp/engine/tools
+QUOTA_ROOT_DIR = /var/www/imscp/engine/quota
+
+## GUI config
+
+USER_INITIAL_THEME = default
+
+# Possible values: infront, behind, none
+MYSQL_PREFIX =
+
+# String used for assets cache busting
+# Must be updated each time an asset is updated
+THEME_ASSETS_VERSION = 2019031000
+
+# Date format string used inside the frontEnd
+DATE_FORMAT = d.m.Y
+
+# Allow to bypass the bruteforce and captcha blocking time
+GUI_BYPASS_BRUTEFORCE = 0
+
+# Debug Mode (e.g. for developers)
+# Options: 0 = off, 1 = on
+DEBUG = 0
+
+# Depreciated variables (only keept for upgrade process)
+CACHE_DATA_DIR = /var/cache/imscp
+
+# SYSCTL(8)
+CMD_SYSCTL = /sbin/sysctl
+SYSCTL_CONF_DIR = /etc/sysctl.d
+
+# List of selected alternatives
+FRONTEND_SERVER =
+FTPD_SERVER =
+HTTPD_SERVER =
+MTA_SERVER =
+NAMED_SERVER =
+PHP_SERVER =
+PO_SERVER =
+SQL_SERVER =
+
+# Packages (servers)
+FRONTEND_PACKAGE =
+FTPD_PACKAGE =
+HTTPD_PACKAGE =
+NAMED_PACKAGE =
+MTA_PACKAGE =
+PHP_PACKAGE =
+PO_PACKAGE =
+SQL_PACKAGE =
+
+# Packages (addons)
+ANTI_ROOTKIT_PACKAGES =
+SQL_ADMIN_TOOL_PACKAGES =
+WEB_FTP_CLIENT_PACKAGES =
+WEB_MAIL_CLIENT_PACKAGES =
+WEB_STATISTIC_PACKAGES =
diff --git a/configs/debian/install.xml b/configs/debian/default/install.xml
similarity index 100%
rename from configs/debian/install.xml
rename to configs/debian/default/install.xml
diff --git a/configs/debian/libpam-mysql/patches/dpatch/03_undefined_make_scrambled_password_symbol.patch b/configs/debian/default/libpam-mysql/patches/dpatch/03_undefined_make_scrambled_password_symbol.patch
similarity index 100%
rename from configs/debian/libpam-mysql/patches/dpatch/03_undefined_make_scrambled_password_symbol.patch
rename to configs/debian/default/libpam-mysql/patches/dpatch/03_undefined_make_scrambled_password_symbol.patch
diff --git a/configs/debian/libpam-mysql/patches/dpatch/04_resps_segfault.patch b/configs/debian/default/libpam-mysql/patches/dpatch/04_resps_segfault.patch
similarity index 100%
rename from configs/debian/libpam-mysql/patches/dpatch/04_resps_segfault.patch
rename to configs/debian/default/libpam-mysql/patches/dpatch/04_resps_segfault.patch
diff --git a/configs/debian/listeners.d/README.md b/configs/debian/default/listeners.d/README.md
similarity index 100%
rename from configs/debian/listeners.d/README.md
rename to configs/debian/default/listeners.d/README.md
diff --git a/configs/debian/listeners.d/install.xml b/configs/debian/default/listeners.d/install.xml
similarity index 100%
rename from configs/debian/listeners.d/install.xml
rename to configs/debian/default/listeners.d/install.xml
diff --git a/configs/debian/logrotate.d/imscp b/configs/debian/default/logrotate.d/imscp
similarity index 100%
rename from configs/debian/logrotate.d/imscp
rename to configs/debian/default/logrotate.d/imscp
diff --git a/configs/debian/logrotate.d/install.xml b/configs/debian/default/logrotate.d/install.xml
similarity index 100%
rename from configs/debian/logrotate.d/install.xml
rename to configs/debian/default/logrotate.d/install.xml
diff --git a/configs/debian/logrotate.d/rsyslog b/configs/debian/default/logrotate.d/rsyslog
similarity index 100%
rename from configs/debian/logrotate.d/rsyslog
rename to configs/debian/default/logrotate.d/rsyslog
diff --git a/configs/debian/mounts/install.xml b/configs/debian/default/mounts/install.xml
similarity index 100%
rename from configs/debian/mounts/install.xml
rename to configs/debian/default/mounts/install.xml
diff --git a/configs/debian/mounts/mounts.conf b/configs/debian/default/mounts/mounts.conf
similarity index 100%
rename from configs/debian/mounts/mounts.conf
rename to configs/debian/default/mounts/mounts.conf
diff --git a/configs/debian/mysql/imscp.cnf b/configs/debian/default/mysql/imscp.cnf
similarity index 100%
rename from configs/debian/mysql/imscp.cnf
rename to configs/debian/default/mysql/imscp.cnf
diff --git a/configs/debian/mysql/install.xml b/configs/debian/default/mysql/install.xml
similarity index 100%
rename from configs/debian/mysql/install.xml
rename to configs/debian/default/mysql/install.xml
diff --git a/configs/debian/mysql/mysql.data.dist b/configs/debian/default/mysql/mysql.data.dist
similarity index 100%
rename from configs/debian/mysql/mysql.data.dist
rename to configs/debian/default/mysql/mysql.data.dist
diff --git a/configs/debian/openssl/install.xml b/configs/debian/default/openssl/install.xml
similarity index 100%
rename from configs/debian/openssl/install.xml
rename to configs/debian/default/openssl/install.xml
diff --git a/configs/debian/openssl/openssl.cnf.tpl b/configs/debian/default/openssl/openssl.cnf.tpl
similarity index 100%
rename from configs/debian/openssl/openssl.cnf.tpl
rename to configs/debian/default/openssl/openssl.cnf.tpl
diff --git a/configs/debian/pbuilder/pbuilderrc b/configs/debian/default/pbuilder/pbuilderrc
similarity index 100%
rename from configs/debian/pbuilder/pbuilderrc
rename to configs/debian/default/pbuilder/pbuilderrc
diff --git a/configs/debian/php/apache/php.ini b/configs/debian/default/php/apache/php.ini
similarity index 100%
rename from configs/debian/php/apache/php.ini
rename to configs/debian/default/php/apache/php.ini
diff --git a/configs/debian/php/fcgi/apache_fcgid_module.conf b/configs/debian/default/php/fcgi/apache_fcgid_module.conf
similarity index 100%
rename from configs/debian/php/fcgi/apache_fcgid_module.conf
rename to configs/debian/default/php/fcgi/apache_fcgid_module.conf
diff --git a/configs/debian/php/fcgi/php-fcgi-starter b/configs/debian/default/php/fcgi/php-fcgi-starter
similarity index 100%
rename from configs/debian/php/fcgi/php-fcgi-starter
rename to configs/debian/default/php/fcgi/php-fcgi-starter
diff --git a/configs/debian/php/fcgi/php.ini b/configs/debian/default/php/fcgi/php.ini
similarity index 100%
rename from configs/debian/php/fcgi/php.ini
rename to configs/debian/default/php/fcgi/php.ini
diff --git a/configs/debian/php/fpm/logrotate.tpl b/configs/debian/default/php/fpm/logrotate.tpl
similarity index 100%
rename from configs/debian/php/fpm/logrotate.tpl
rename to configs/debian/default/php/fpm/logrotate.tpl
diff --git a/configs/debian/php/fpm/php-fpm.conf b/configs/debian/default/php/fpm/php-fpm.conf
similarity index 100%
rename from configs/debian/php/fpm/php-fpm.conf
rename to configs/debian/default/php/fpm/php-fpm.conf
diff --git a/configs/debian/php/fpm/php.ini b/configs/debian/default/php/fpm/php.ini
similarity index 100%
rename from configs/debian/php/fpm/php.ini
rename to configs/debian/default/php/fpm/php.ini
diff --git a/configs/debian/php/fpm/pool.conf b/configs/debian/default/php/fpm/pool.conf
similarity index 100%
rename from configs/debian/php/fpm/pool.conf
rename to configs/debian/default/php/fpm/pool.conf
diff --git a/configs/debian/php/fpm/pool.conf.default b/configs/debian/default/php/fpm/pool.conf.default
similarity index 100%
rename from configs/debian/php/fpm/pool.conf.default
rename to configs/debian/default/php/fpm/pool.conf.default
diff --git a/configs/debian/php/install.xml b/configs/debian/default/php/install.xml
similarity index 100%
rename from configs/debian/php/install.xml
rename to configs/debian/default/php/install.xml
diff --git a/configs/debian/php/php.data.dist b/configs/debian/default/php/php.data.dist
similarity index 100%
rename from configs/debian/php/php.data.dist
rename to configs/debian/default/php/php.data.dist
diff --git a/configs/debian/postfix/install.xml b/configs/debian/default/postfix/install.xml
similarity index 100%
rename from configs/debian/postfix/install.xml
rename to configs/debian/default/postfix/install.xml
diff --git a/configs/debian/postfix/main.cf b/configs/debian/default/postfix/main.cf
similarity index 100%
rename from configs/debian/postfix/main.cf
rename to configs/debian/default/postfix/main.cf
diff --git a/configs/debian/postfix/master.cf b/configs/debian/default/postfix/master.cf
similarity index 100%
rename from configs/debian/postfix/master.cf
rename to configs/debian/default/postfix/master.cf
diff --git a/configs/debian/postfix/postfix.data.dist b/configs/debian/default/postfix/postfix.data.dist
similarity index 100%
rename from configs/debian/postfix/postfix.data.dist
rename to configs/debian/default/postfix/postfix.data.dist
diff --git a/configs/ubuntu/proftpd/install.xml b/configs/debian/default/proftpd/install.xml
similarity index 100%
rename from configs/ubuntu/proftpd/install.xml
rename to configs/debian/default/proftpd/install.xml
diff --git a/configs/debian/default/proftpd/proftpd-basic b/configs/debian/default/proftpd/proftpd-basic
new file mode 100644
index 0000000000..f495a5e5d3
--- /dev/null
+++ b/configs/debian/default/proftpd/proftpd-basic
@@ -0,0 +1,18 @@
+# LOGROTATE(8) configuration file for proftpd(8) - auto-generated by i-MSCP
+# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
+/var/log/proftpd/proftpd.log
+/var/log/proftpd/controls.log
+{
+ weekly
+ missingok
+ rotate 7
+ compress
+ delaycompress
+ notifempty
+ create 640 root adm
+ sharedscripts
+ postrotate
+ # reload could be not sufficient for all logs, a restart is safer
+ invoke-rc.d proftpd restart 2>/dev/null >/dev/null || true
+ endscript
+}
diff --git a/configs/debian/proftpd/proftpd.conf b/configs/debian/default/proftpd/proftpd.conf
similarity index 100%
rename from configs/debian/proftpd/proftpd.conf
rename to configs/debian/default/proftpd/proftpd.conf
diff --git a/configs/debian/default/proftpd/proftpd.data.dist b/configs/debian/default/proftpd/proftpd.data.dist
new file mode 100644
index 0000000000..2459d7b1cd
--- /dev/null
+++ b/configs/debian/default/proftpd/proftpd.data.dist
@@ -0,0 +1,12 @@
+PROFTPD_VERSION =
+FTPD_SNAME = proftpd
+FTPD_CONF_DIR = /etc/proftpd
+FTPD_CONF_FILE = /etc/proftpd/proftpd.conf
+FTPD_TRAFF_LOG_PATH = /var/log/proftpd/xferlog
+FTPD_PASSIVE_PORT_RANGE =
+MIN_UID = 1001
+MIN_GID = 1001
+# See http://www.proftpd.org/docs/directives/linked/config_ref_MaxInstances.html
+MAX_INSTANCES = 100
+# See http://www.proftpd.org/docs/directives/linked/config_ref_MaxClientsPerHost.html
+MAX_CLIENT_PER_HOST = none
diff --git a/configs/debian/skel/README b/configs/debian/default/skel/README
similarity index 100%
rename from configs/debian/skel/README
rename to configs/debian/default/skel/README
diff --git a/configs/debian/skel/alias/00_private/.gitkeep b/configs/debian/default/skel/alias/00_private/.gitkeep
similarity index 100%
rename from configs/debian/skel/alias/00_private/.gitkeep
rename to configs/debian/default/skel/alias/00_private/.gitkeep
diff --git a/configs/debian/skel/alias/cgi-bin/.gitkeep b/configs/debian/default/skel/alias/cgi-bin/.gitkeep
similarity index 100%
rename from configs/debian/skel/alias/cgi-bin/.gitkeep
rename to configs/debian/default/skel/alias/cgi-bin/.gitkeep
diff --git a/configs/debian/skel/alias/htdocs/.well-known/.gitkeep b/configs/debian/default/skel/alias/htdocs/.well-known/.gitkeep
similarity index 100%
rename from configs/debian/skel/alias/htdocs/.well-known/.gitkeep
rename to configs/debian/default/skel/alias/htdocs/.well-known/.gitkeep
diff --git a/configs/debian/skel/alias/htdocs/images/favicon.ico b/configs/debian/default/skel/alias/htdocs/images/favicon.ico
similarity index 100%
rename from configs/debian/skel/alias/htdocs/images/favicon.ico
rename to configs/debian/default/skel/alias/htdocs/images/favicon.ico
diff --git a/configs/debian/skel/alias/htdocs/images/imscp_logo32.png b/configs/debian/default/skel/alias/htdocs/images/imscp_logo32.png
similarity index 100%
rename from configs/debian/skel/alias/htdocs/images/imscp_logo32.png
rename to configs/debian/default/skel/alias/htdocs/images/imscp_logo32.png
diff --git a/configs/debian/skel/alias/htdocs/images/stripe.png b/configs/debian/default/skel/alias/htdocs/images/stripe.png
similarity index 100%
rename from configs/debian/skel/alias/htdocs/images/stripe.png
rename to configs/debian/default/skel/alias/htdocs/images/stripe.png
diff --git a/configs/debian/skel/alias/htdocs/index.html b/configs/debian/default/skel/alias/htdocs/index.html
similarity index 100%
rename from configs/debian/skel/alias/htdocs/index.html
rename to configs/debian/default/skel/alias/htdocs/index.html
diff --git a/configs/debian/skel/domain/00_private/.gitkeep b/configs/debian/default/skel/domain/00_private/.gitkeep
similarity index 100%
rename from configs/debian/skel/domain/00_private/.gitkeep
rename to configs/debian/default/skel/domain/00_private/.gitkeep
diff --git a/configs/debian/skel/domain/backups/.gitkeep b/configs/debian/default/skel/domain/backups/.gitkeep
similarity index 100%
rename from configs/debian/skel/domain/backups/.gitkeep
rename to configs/debian/default/skel/domain/backups/.gitkeep
diff --git a/configs/debian/skel/domain/cgi-bin/.gitkeep b/configs/debian/default/skel/domain/cgi-bin/.gitkeep
similarity index 100%
rename from configs/debian/skel/domain/cgi-bin/.gitkeep
rename to configs/debian/default/skel/domain/cgi-bin/.gitkeep
diff --git a/configs/debian/skel/domain/errors/401.html b/configs/debian/default/skel/domain/errors/401.html
similarity index 100%
rename from configs/debian/skel/domain/errors/401.html
rename to configs/debian/default/skel/domain/errors/401.html
diff --git a/configs/debian/skel/domain/errors/403.html b/configs/debian/default/skel/domain/errors/403.html
similarity index 100%
rename from configs/debian/skel/domain/errors/403.html
rename to configs/debian/default/skel/domain/errors/403.html
diff --git a/configs/debian/skel/domain/errors/404.html b/configs/debian/default/skel/domain/errors/404.html
similarity index 100%
rename from configs/debian/skel/domain/errors/404.html
rename to configs/debian/default/skel/domain/errors/404.html
diff --git a/configs/debian/skel/domain/errors/500.html b/configs/debian/default/skel/domain/errors/500.html
similarity index 100%
rename from configs/debian/skel/domain/errors/500.html
rename to configs/debian/default/skel/domain/errors/500.html
diff --git a/configs/debian/skel/domain/errors/503.html b/configs/debian/default/skel/domain/errors/503.html
similarity index 100%
rename from configs/debian/skel/domain/errors/503.html
rename to configs/debian/default/skel/domain/errors/503.html
diff --git a/configs/debian/skel/domain/errors/inc/errordocs.css b/configs/debian/default/skel/domain/errors/inc/errordocs.css
similarity index 100%
rename from configs/debian/skel/domain/errors/inc/errordocs.css
rename to configs/debian/default/skel/domain/errors/inc/errordocs.css
diff --git a/configs/debian/skel/domain/errors/inc/favicon.ico b/configs/debian/default/skel/domain/errors/inc/favicon.ico
similarity index 100%
rename from configs/debian/skel/domain/errors/inc/favicon.ico
rename to configs/debian/default/skel/domain/errors/inc/favicon.ico
diff --git a/configs/debian/skel/domain/errors/inc/gradient_box.png b/configs/debian/default/skel/domain/errors/inc/gradient_box.png
similarity index 100%
rename from configs/debian/skel/domain/errors/inc/gradient_box.png
rename to configs/debian/default/skel/domain/errors/inc/gradient_box.png
diff --git a/configs/debian/skel/domain/errors/inc/ie78overrides.css b/configs/debian/default/skel/domain/errors/inc/ie78overrides.css
similarity index 100%
rename from configs/debian/skel/domain/errors/inc/ie78overrides.css
rename to configs/debian/default/skel/domain/errors/inc/ie78overrides.css
diff --git a/configs/debian/skel/domain/errors/inc/imscp_logo90.png b/configs/debian/default/skel/domain/errors/inc/imscp_logo90.png
similarity index 100%
rename from configs/debian/skel/domain/errors/inc/imscp_logo90.png
rename to configs/debian/default/skel/domain/errors/inc/imscp_logo90.png
diff --git a/configs/debian/skel/domain/errors/inc/stripe_box.png b/configs/debian/default/skel/domain/errors/inc/stripe_box.png
similarity index 100%
rename from configs/debian/skel/domain/errors/inc/stripe_box.png
rename to configs/debian/default/skel/domain/errors/inc/stripe_box.png
diff --git a/configs/debian/skel/domain/htdocs/.well-known/.gitkeep b/configs/debian/default/skel/domain/htdocs/.well-known/.gitkeep
similarity index 100%
rename from configs/debian/skel/domain/htdocs/.well-known/.gitkeep
rename to configs/debian/default/skel/domain/htdocs/.well-known/.gitkeep
diff --git a/configs/debian/skel/domain/htdocs/images/favicon.ico b/configs/debian/default/skel/domain/htdocs/images/favicon.ico
similarity index 100%
rename from configs/debian/skel/domain/htdocs/images/favicon.ico
rename to configs/debian/default/skel/domain/htdocs/images/favicon.ico
diff --git a/configs/debian/skel/domain/htdocs/images/imscp_logo32.png b/configs/debian/default/skel/domain/htdocs/images/imscp_logo32.png
similarity index 100%
rename from configs/debian/skel/domain/htdocs/images/imscp_logo32.png
rename to configs/debian/default/skel/domain/htdocs/images/imscp_logo32.png
diff --git a/configs/debian/skel/domain/htdocs/images/stripe.png b/configs/debian/default/skel/domain/htdocs/images/stripe.png
similarity index 100%
rename from configs/debian/skel/domain/htdocs/images/stripe.png
rename to configs/debian/default/skel/domain/htdocs/images/stripe.png
diff --git a/configs/debian/skel/domain/htdocs/index.html b/configs/debian/default/skel/domain/htdocs/index.html
similarity index 100%
rename from configs/debian/skel/domain/htdocs/index.html
rename to configs/debian/default/skel/domain/htdocs/index.html
diff --git a/configs/debian/skel/domain/logs/.gitkeep b/configs/debian/default/skel/domain/logs/.gitkeep
similarity index 100%
rename from configs/debian/skel/domain/logs/.gitkeep
rename to configs/debian/default/skel/domain/logs/.gitkeep
diff --git a/configs/debian/skel/domain/phptmp/.gitkeep b/configs/debian/default/skel/domain/phptmp/.gitkeep
similarity index 100%
rename from configs/debian/skel/domain/phptmp/.gitkeep
rename to configs/debian/default/skel/domain/phptmp/.gitkeep
diff --git a/configs/debian/skel/domain_disabled_pages/images/favicon.ico b/configs/debian/default/skel/domain_disabled_pages/images/favicon.ico
similarity index 100%
rename from configs/debian/skel/domain_disabled_pages/images/favicon.ico
rename to configs/debian/default/skel/domain_disabled_pages/images/favicon.ico
diff --git a/configs/debian/skel/domain_disabled_pages/images/imscp_logo32.png b/configs/debian/default/skel/domain_disabled_pages/images/imscp_logo32.png
similarity index 100%
rename from configs/debian/skel/domain_disabled_pages/images/imscp_logo32.png
rename to configs/debian/default/skel/domain_disabled_pages/images/imscp_logo32.png
diff --git a/configs/debian/skel/domain_disabled_pages/images/stripe.png b/configs/debian/default/skel/domain_disabled_pages/images/stripe.png
similarity index 100%
rename from configs/debian/skel/domain_disabled_pages/images/stripe.png
rename to configs/debian/default/skel/domain_disabled_pages/images/stripe.png
diff --git a/configs/debian/skel/domain_disabled_pages/index.html b/configs/debian/default/skel/domain_disabled_pages/index.html
similarity index 100%
rename from configs/debian/skel/domain_disabled_pages/index.html
rename to configs/debian/default/skel/domain_disabled_pages/index.html
diff --git a/configs/debian/skel/install.xml b/configs/debian/default/skel/install.xml
similarity index 100%
rename from configs/debian/skel/install.xml
rename to configs/debian/default/skel/install.xml
diff --git a/configs/debian/skel/subdomain/00_private/.gitkeep b/configs/debian/default/skel/subdomain/00_private/.gitkeep
similarity index 100%
rename from configs/debian/skel/subdomain/00_private/.gitkeep
rename to configs/debian/default/skel/subdomain/00_private/.gitkeep
diff --git a/configs/debian/skel/subdomain/cgi-bin/.gitkeep b/configs/debian/default/skel/subdomain/cgi-bin/.gitkeep
similarity index 100%
rename from configs/debian/skel/subdomain/cgi-bin/.gitkeep
rename to configs/debian/default/skel/subdomain/cgi-bin/.gitkeep
diff --git a/configs/debian/skel/subdomain/htdocs/.well-known/.gitkeep b/configs/debian/default/skel/subdomain/htdocs/.well-known/.gitkeep
similarity index 100%
rename from configs/debian/skel/subdomain/htdocs/.well-known/.gitkeep
rename to configs/debian/default/skel/subdomain/htdocs/.well-known/.gitkeep
diff --git a/configs/debian/skel/subdomain/htdocs/images/favicon.ico b/configs/debian/default/skel/subdomain/htdocs/images/favicon.ico
similarity index 100%
rename from configs/debian/skel/subdomain/htdocs/images/favicon.ico
rename to configs/debian/default/skel/subdomain/htdocs/images/favicon.ico
diff --git a/configs/debian/skel/subdomain/htdocs/images/imscp_logo32.png b/configs/debian/default/skel/subdomain/htdocs/images/imscp_logo32.png
similarity index 100%
rename from configs/debian/skel/subdomain/htdocs/images/imscp_logo32.png
rename to configs/debian/default/skel/subdomain/htdocs/images/imscp_logo32.png
diff --git a/configs/debian/skel/subdomain/htdocs/images/stripe.png b/configs/debian/default/skel/subdomain/htdocs/images/stripe.png
similarity index 100%
rename from configs/debian/skel/subdomain/htdocs/images/stripe.png
rename to configs/debian/default/skel/subdomain/htdocs/images/stripe.png
diff --git a/configs/debian/skel/subdomain/htdocs/index.html b/configs/debian/default/skel/subdomain/htdocs/index.html
similarity index 100%
rename from configs/debian/skel/subdomain/htdocs/index.html
rename to configs/debian/default/skel/subdomain/htdocs/index.html
diff --git a/configs/debian/sysctl.d/imscp.conf b/configs/debian/default/sysctl.d/imscp.conf
similarity index 100%
rename from configs/debian/sysctl.d/imscp.conf
rename to configs/debian/default/sysctl.d/imscp.conf
diff --git a/configs/debian/sysctl.d/install.xml b/configs/debian/default/sysctl.d/install.xml
similarity index 100%
rename from configs/debian/sysctl.d/install.xml
rename to configs/debian/default/sysctl.d/install.xml
diff --git a/configs/debian/systemd/bind9-resolvconf.service b/configs/debian/default/systemd/bind9-resolvconf.service
similarity index 100%
rename from configs/debian/systemd/bind9-resolvconf.service
rename to configs/debian/default/systemd/bind9-resolvconf.service
diff --git a/configs/debian/systemd/bind9.service b/configs/debian/default/systemd/bind9.service
similarity index 100%
rename from configs/debian/systemd/bind9.service
rename to configs/debian/default/systemd/bind9.service
diff --git a/configs/debian/systemd/courier-authdaemon.conf b/configs/debian/default/systemd/courier-authdaemon.conf
similarity index 100%
rename from configs/debian/systemd/courier-authdaemon.conf
rename to configs/debian/default/systemd/courier-authdaemon.conf
diff --git a/configs/debian/systemd/imscp_daemon.service b/configs/debian/default/systemd/imscp_daemon.service
similarity index 100%
rename from configs/debian/systemd/imscp_daemon.service
rename to configs/debian/default/systemd/imscp_daemon.service
diff --git a/configs/debian/systemd/imscp_mountall.service b/configs/debian/default/systemd/imscp_mountall.service
similarity index 100%
rename from configs/debian/systemd/imscp_mountall.service
rename to configs/debian/default/systemd/imscp_mountall.service
diff --git a/configs/debian/systemd/imscp_panel.conf b/configs/debian/default/systemd/imscp_panel.conf
similarity index 100%
rename from configs/debian/systemd/imscp_panel.conf
rename to configs/debian/default/systemd/imscp_panel.conf
diff --git a/configs/debian/systemd/imscp_panel.service b/configs/debian/default/systemd/imscp_panel.service
similarity index 100%
rename from configs/debian/systemd/imscp_panel.service
rename to configs/debian/default/systemd/imscp_panel.service
diff --git a/configs/debian/systemd/imscp_traffic.service b/configs/debian/default/systemd/imscp_traffic.service
similarity index 100%
rename from configs/debian/systemd/imscp_traffic.service
rename to configs/debian/default/systemd/imscp_traffic.service
diff --git a/configs/debian/systemd/install.xml b/configs/debian/default/systemd/install.xml
similarity index 100%
rename from configs/debian/systemd/install.xml
rename to configs/debian/default/systemd/install.xml
diff --git a/configs/debian/sysvinit/courier-authdaemon b/configs/debian/default/sysvinit/courier-authdaemon
similarity index 100%
rename from configs/debian/sysvinit/courier-authdaemon
rename to configs/debian/default/sysvinit/courier-authdaemon
diff --git a/configs/debian/sysvinit/imscp_daemon b/configs/debian/default/sysvinit/imscp_daemon
similarity index 100%
rename from configs/debian/sysvinit/imscp_daemon
rename to configs/debian/default/sysvinit/imscp_daemon
diff --git a/configs/debian/sysvinit/imscp_mountall b/configs/debian/default/sysvinit/imscp_mountall
similarity index 100%
rename from configs/debian/sysvinit/imscp_mountall
rename to configs/debian/default/sysvinit/imscp_mountall
diff --git a/configs/debian/sysvinit/imscp_panel b/configs/debian/default/sysvinit/imscp_panel
similarity index 100%
rename from configs/debian/sysvinit/imscp_panel
rename to configs/debian/default/sysvinit/imscp_panel
diff --git a/configs/debian/sysvinit/imscp_traffic b/configs/debian/default/sysvinit/imscp_traffic
similarity index 100%
rename from configs/debian/sysvinit/imscp_traffic
rename to configs/debian/default/sysvinit/imscp_traffic
diff --git a/configs/debian/sysvinit/install.xml b/configs/debian/default/sysvinit/install.xml
similarity index 100%
rename from configs/debian/sysvinit/install.xml
rename to configs/debian/default/sysvinit/install.xml
diff --git a/configs/debian/sysvinit/proftpd b/configs/debian/default/sysvinit/proftpd
similarity index 100%
rename from configs/debian/sysvinit/proftpd
rename to configs/debian/default/sysvinit/proftpd
diff --git a/configs/debian/upstart/imscp_daemon.conf b/configs/debian/default/upstart/imscp_daemon.conf
similarity index 100%
rename from configs/debian/upstart/imscp_daemon.conf
rename to configs/debian/default/upstart/imscp_daemon.conf
diff --git a/configs/debian/upstart/imscp_mountall.conf b/configs/debian/default/upstart/imscp_mountall.conf
similarity index 100%
rename from configs/debian/upstart/imscp_mountall.conf
rename to configs/debian/default/upstart/imscp_mountall.conf
diff --git a/configs/debian/upstart/imscp_panel.conf b/configs/debian/default/upstart/imscp_panel.conf
similarity index 100%
rename from configs/debian/upstart/imscp_panel.conf
rename to configs/debian/default/upstart/imscp_panel.conf
diff --git a/configs/debian/upstart/imscp_panel.override b/configs/debian/default/upstart/imscp_panel.override
similarity index 100%
rename from configs/debian/upstart/imscp_panel.override
rename to configs/debian/default/upstart/imscp_panel.override
diff --git a/configs/debian/upstart/imscp_traffic.conf b/configs/debian/default/upstart/imscp_traffic.conf
similarity index 100%
rename from configs/debian/upstart/imscp_traffic.conf
rename to configs/debian/default/upstart/imscp_traffic.conf
diff --git a/configs/debian/upstart/install.xml b/configs/debian/default/upstart/install.xml
similarity index 100%
rename from configs/debian/upstart/install.xml
rename to configs/debian/default/upstart/install.xml
diff --git a/configs/debian/upstart/php5.6-fpm.override b/configs/debian/default/upstart/php5.6-fpm.override
similarity index 100%
rename from configs/debian/upstart/php5.6-fpm.override
rename to configs/debian/default/upstart/php5.6-fpm.override
diff --git a/configs/debian/upstart/php7.0-fpm.override b/configs/debian/default/upstart/php7.0-fpm.override
similarity index 100%
rename from configs/debian/upstart/php7.0-fpm.override
rename to configs/debian/default/upstart/php7.0-fpm.override
diff --git a/configs/debian/upstart/php7.1-fpm.override b/configs/debian/default/upstart/php7.1-fpm.override
similarity index 100%
rename from configs/debian/upstart/php7.1-fpm.override
rename to configs/debian/default/upstart/php7.1-fpm.override
diff --git a/configs/debian/upstart/php7.2-fpm.override b/configs/debian/default/upstart/php7.2-fpm.override
similarity index 100%
rename from configs/debian/upstart/php7.2-fpm.override
rename to configs/debian/default/upstart/php7.2-fpm.override
diff --git a/configs/debian/upstart/php7.3-fpm.override b/configs/debian/default/upstart/php7.3-fpm.override
similarity index 100%
rename from configs/debian/upstart/php7.3-fpm.override
rename to configs/debian/default/upstart/php7.3-fpm.override
diff --git a/configs/debian/vsftpd/install.xml b/configs/debian/default/vsftpd/install.xml
similarity index 100%
rename from configs/debian/vsftpd/install.xml
rename to configs/debian/default/vsftpd/install.xml
diff --git a/configs/debian/vsftpd/patches/quilt/imscp_allow_writeable_root.patch b/configs/debian/default/vsftpd/patches/quilt/imscp_allow_writeable_root.patch
similarity index 100%
rename from configs/debian/vsftpd/patches/quilt/imscp_allow_writeable_root.patch
rename to configs/debian/default/vsftpd/patches/quilt/imscp_allow_writeable_root.patch
diff --git a/configs/debian/vsftpd/vsftpd.conf b/configs/debian/default/vsftpd/vsftpd.conf
similarity index 100%
rename from configs/debian/vsftpd/vsftpd.conf
rename to configs/debian/default/vsftpd/vsftpd.conf
diff --git a/configs/debian/vsftpd/vsftpd.data.dist b/configs/debian/default/vsftpd/vsftpd.data.dist
similarity index 100%
rename from configs/debian/vsftpd/vsftpd.data.dist
rename to configs/debian/default/vsftpd/vsftpd.data.dist
diff --git a/configs/debian/vsftpd/vsftpd.pam b/configs/debian/default/vsftpd/vsftpd.pam
similarity index 100%
rename from configs/debian/vsftpd/vsftpd.pam
rename to configs/debian/default/vsftpd/vsftpd.pam
diff --git a/configs/debian/vsftpd/vsftpd_user.conf b/configs/debian/default/vsftpd/vsftpd_user.conf
similarity index 100%
rename from configs/debian/vsftpd/vsftpd_user.conf
rename to configs/debian/default/vsftpd/vsftpd_user.conf
diff --git a/configs/devuan/install.xml b/configs/devuan/default/install.xml
similarity index 100%
rename from configs/devuan/install.xml
rename to configs/devuan/default/install.xml
diff --git a/configs/ubuntu/install.xml b/configs/ubuntu/default/install.xml
similarity index 100%
rename from configs/ubuntu/install.xml
rename to configs/ubuntu/default/install.xml
diff --git a/configs/ubuntu/libpam-mysql/patches/dpatch/03_undefined_make_scrambled_password_symbol.patch b/configs/ubuntu/default/libpam-mysql/patches/dpatch/03_undefined_make_scrambled_password_symbol.patch
similarity index 100%
rename from configs/ubuntu/libpam-mysql/patches/dpatch/03_undefined_make_scrambled_password_symbol.patch
rename to configs/ubuntu/default/libpam-mysql/patches/dpatch/03_undefined_make_scrambled_password_symbol.patch
diff --git a/configs/ubuntu/libpam-mysql/patches/dpatch/04_resps_segfault.patch b/configs/ubuntu/default/libpam-mysql/patches/dpatch/04_resps_segfault.patch
similarity index 100%
rename from configs/ubuntu/libpam-mysql/patches/dpatch/04_resps_segfault.patch
rename to configs/ubuntu/default/libpam-mysql/patches/dpatch/04_resps_segfault.patch
diff --git a/configs/ubuntu/pbuilder/pbuilderrc b/configs/ubuntu/default/pbuilder/pbuilderrc
similarity index 100%
rename from configs/ubuntu/pbuilder/pbuilderrc
rename to configs/ubuntu/default/pbuilder/pbuilderrc
diff --git a/configs/ubuntu/default/proftpd/install.xml b/configs/ubuntu/default/proftpd/install.xml
new file mode 100644
index 0000000000..3bdf7c52bb
--- /dev/null
+++ b/configs/ubuntu/default/proftpd/install.xml
@@ -0,0 +1,10 @@
+
+
+ ${ROOT_CONF}/logrotate.d
+ ${SYSTEM_CONF}/proftpd
+ ${SYSTEM_CONF}/proftpd/backup
+ ${SYSTEM_CONF}/proftpd/working
+ ${SYSTEM_CONF}/proftpd/proftpd.conf
+ ${SYSTEM_CONF}/proftpd/proftpd.data.dist
+ ${ROOT_CONF}/logrotate.d/proftpd-basic
+
diff --git a/configs/ubuntu/sysvinit/install.xml b/configs/ubuntu/default/sysvinit/install.xml
similarity index 100%
rename from configs/ubuntu/sysvinit/install.xml
rename to configs/ubuntu/default/sysvinit/install.xml
diff --git a/configs/ubuntu/vsftpd/install.xml b/configs/ubuntu/default/vsftpd/install.xml
similarity index 100%
rename from configs/ubuntu/vsftpd/install.xml
rename to configs/ubuntu/default/vsftpd/install.xml
diff --git a/configs/ubuntu/vsftpd/patches/quilt/imscp_allow_writeable_root.patch b/configs/ubuntu/default/vsftpd/patches/quilt/imscp_allow_writeable_root.patch
similarity index 100%
rename from configs/ubuntu/vsftpd/patches/quilt/imscp_allow_writeable_root.patch
rename to configs/ubuntu/default/vsftpd/patches/quilt/imscp_allow_writeable_root.patch
diff --git a/configs/ubuntu/vsftpd/patches/quilt/imscp_pthread_cancel.patch b/configs/ubuntu/default/vsftpd/patches/quilt/imscp_pthread_cancel.patch
similarity index 100%
rename from configs/ubuntu/vsftpd/patches/quilt/imscp_pthread_cancel.patch
rename to configs/ubuntu/default/vsftpd/patches/quilt/imscp_pthread_cancel.patch
diff --git a/engine/PerlLib/Servers/po/dovecot/installer.pm b/engine/PerlLib/Servers/po/dovecot/installer.pm
index 8509293a5d..a6f58e193e 100644
--- a/engine/PerlLib/Servers/po/dovecot/installer.pm
+++ b/engine/PerlLib/Servers/po/dovecot/installer.pm
@@ -620,16 +620,24 @@ sub _buildConf
# Fixme: Find a better way to guess libssl version
if ( $ssl eq 'yes' ) {
- unless ( `ldd /usr/lib/dovecot/libdovecot-login.so | grep libssl.so` =~ /libssl.so.(\d.\d)/ ) {
+ unless ( `ldd /usr/lib/dovecot/libdovecot-login.so /usr/lib/dovecot/libdcrypt_openssl.so | grep libssl.so` =~ /libssl.so.(\d.\d)/ ) {
error( "Couldn't guess libssl version against which Dovecot has been built" );
return 1;
}
- $cfgTpl .= <<"EOF";
+ if ( version->parse($self->{'config'}->{'DOVECOT_VERSION'}) >= version->parse('2.3.0')) {
+ $cfgTpl .= <<"EOF";
+ssl_min_protocol = TLSv1.2
+ssl_cert = <$::imscpConfig{'CONF_DIR'}/imscp_services.pem
+ssl_key = <$::imscpConfig{'CONF_DIR'}/imscp_services.pem
+EOF
+ } else {
+ $cfgTpl .= <<"EOF";
ssl_protocols = @{[ version->parse( $1 ) >= version->parse( '1.1' ) ? '!SSLv3 !TLSv1 !TLSv1.1' : '!SSLv2 !SSLv3 !TLSv1 !TLSv1.1' ]}
ssl_cert = <$::imscpConfig{'CONF_DIR'}/imscp_services.pem
ssl_key = <$::imscpConfig{'CONF_DIR'}/imscp_services.pem
EOF
+ }
}
}
diff --git a/engine/PerlLib/iMSCP/Service.pm b/engine/PerlLib/iMSCP/Service.pm
index 595ff1d4a3..65d876ddc6 100644
--- a/engine/PerlLib/iMSCP/Service.pm
+++ b/engine/PerlLib/iMSCP/Service.pm
@@ -378,6 +378,7 @@ sub _init
$self->{'init'} = _detectInit();
$self->{'provider'} = $self->getProvider();
+ debug(sprintf('Service init type is %s with provider: %s', $self->{'init'}, $self->{'provider'}));
$self;
}