diff --git a/install/dist/conf/centos80.conf.php b/install/dist/conf/centos80.conf.php
new file mode 100644
index 0000000000000000000000000000000000000000..04257d4dfece9aab36e1b2506431a7f5a934df7c
--- /dev/null
+++ b/install/dist/conf/centos80.conf.php
@@ -0,0 +1,224 @@
+<?php
+
+/*
+Copyright (c) 2007, Till Brehm, projektfarm Gmbh
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of ISPConfig nor the names of its contributors
+      may be used to endorse or promote products derived from this software without
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+//***  Fedora 9 default settings
+
+//* Main
+$conf['language'] = 'en';
+$conf['distname'] = 'centos80';
+$conf['hostname'] = 'server1.domain.tld'; // Full hostname
+$conf['ispconfig_install_dir'] = '/usr/local/ispconfig';
+$conf['ispconfig_config_dir'] = '/usr/local/ispconfig';
+$conf['ispconfig_log_priority'] = 2;  // 0 = Debug, 1 = Warning, 2 = Error
+$conf['ispconfig_log_dir'] = '/var/log/ispconfig';
+$conf['server_id'] = 1;
+$conf['init_scripts'] = '/etc/init.d';
+$conf['runlevel'] = '/etc';
+$conf['shells'] = '/etc/shells';
+$conf['pam'] = '/etc/pam.d';
+
+//* Services provided by this server, this selection will be overridden by the expert mode
+$conf['services']['mail'] = true;
+$conf['services']['web'] = true;
+$conf['services']['dns'] = true;
+$conf['services']['file'] = true;
+$conf['services']['db'] = true;
+$conf['services']['vserver'] = true;
+
+//* MySQL
+$conf['mysql']['installed'] = false; // will be detected automatically during installation
+$conf['mysql']['init_script'] = 'mariadb';
+$conf['mysql']['host'] = 'localhost';
+$conf['mysql']['ip'] = '127.0.0.1';
+$conf['mysql']['port'] = '3306';
+$conf['mysql']['database'] = 'dbispconfig';
+$conf['mysql']['admin_user'] = 'root';
+$conf['mysql']['admin_password'] = '';
+$conf['mysql']['charset'] = 'utf8';
+$conf['mysql']['ispconfig_user'] = 'ispconfig';
+$conf['mysql']['ispconfig_password'] = md5(uniqid(rand()));
+$conf['mysql']['master_slave_setup'] = 'n';
+$conf['mysql']['master_host'] = '';
+$conf['mysql']['master_database'] = 'dbispconfig';
+$conf['mysql']['master_admin_user'] = 'root';
+$conf['mysql']['master_admin_password'] = '';
+$conf['mysql']['master_ispconfig_user'] = '';
+$conf['mysql']['master_ispconfig_password'] = md5(uniqid(rand()));
+
+//* Apache
+$conf['apache']['installed'] = false; // will be detected automatically during installation
+$conf['apache']['user'] = 'apache';
+$conf['apache']['group'] = 'apache';
+$conf['apache']['init_script'] = 'httpd';
+$conf['apache']['version'] = '2.2';
+$conf['apache']['vhost_conf_dir'] = '/etc/httpd/conf/sites-available';
+$conf['apache']['vhost_conf_enabled_dir'] = '/etc/httpd/conf/sites-enabled';
+$conf['apache']['vhost_port'] = '8080';
+$conf['apache']['php_ini_path_apache'] = '/etc/php.ini';
+$conf['apache']['php_ini_path_cgi'] = '/etc/php.ini';
+
+//* Website base settings
+$conf['web']['website_basedir'] = '/var/www';
+$conf['web']['website_path'] = '/var/www/clients/client[client_id]/web[website_id]';
+$conf['web']['website_symlinks'] = '/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/';
+
+//* Apps base settings
+$conf['web']['apps_vhost_ip'] = '_default_';
+$conf['web']['apps_vhost_port'] = '8081';
+$conf['web']['apps_vhost_servername'] = '';
+$conf['web']['apps_vhost_user'] = 'ispapps';
+$conf['web']['apps_vhost_group'] = 'ispapps';
+
+//* Fastcgi
+$conf['fastcgi']['fastcgi_phpini_path'] = '/etc/';
+$conf['fastcgi']['fastcgi_starter_path'] = '/var/www/php-fcgi-scripts/[system_user]/';
+$conf['fastcgi']['fastcgi_bin'] = '/usr/bin/php-cgi';
+
+//* Postfix
+$conf['postfix']['installed'] = false; // will be detected automatically during installation
+$conf['postfix']['config_dir'] = '/etc/postfix';
+$conf['postfix']['init_script'] = 'postfix';
+$conf['postfix']['user'] = 'postfix';
+$conf['postfix']['group'] = 'postfix';
+$conf['postfix']['vmail_userid'] = '5000';
+$conf['postfix']['vmail_username'] = 'vmail';
+$conf['postfix']['vmail_groupid'] = '5000';
+$conf['postfix']['vmail_groupname'] = 'vmail';
+$conf['postfix']['vmail_mailbox_base'] = '/var/vmail';
+
+//* Mailman
+$conf['mailman']['installed'] = false; // will be detected automatically during installation
+$conf['mailman']['config_dir'] = '/etc/mailman';
+$conf['mailman']['init_script'] = 'mailman';
+
+//* Getmail
+$conf['getmail']['installed'] = false; // will be detected automatically during installation
+$conf['getmail']['config_dir'] = '/etc/getmail';
+$conf['getmail']['program'] = '/usr/bin/getmail';
+
+//* Courier
+$conf['courier']['installed'] = false; // will be detected automatically during installation
+$conf['courier']['config_dir'] = '/etc/authlib';
+$conf['courier']['courier-authdaemon'] = 'courier-authlib';
+$conf['courier']['courier-imap'] = 'courier-imap';
+$conf['courier']['courier-imap-ssl'] = '';
+$conf['courier']['courier-pop'] = '';
+$conf['courier']['courier-pop-ssl'] = '';
+
+//* Dovecot
+$conf['dovecot']['installed'] = false; // will be detected automatically during installation
+$conf['dovecot']['config_dir'] = '/etc/dovecot';
+$conf['dovecot']['init_script'] = 'dovecot';
+
+//* SASL
+$conf['saslauthd']['installed'] = false; // will be detected automatically during installation
+$conf['saslauthd']['config'] = '/etc/sysconfig/saslauthd';
+$conf['saslauthd']['init_script'] = 'saslauthd';
+
+//* Amavisd
+$conf['amavis']['installed'] = false; // will be detected automatically during installation
+$conf['amavis']['config_dir'] = '/etc/amavisd';
+$conf['amavis']['init_script'] = 'amavisd';
+
+//* Rspamd
+$conf['rspamd']['installed'] = false; // will be detected automatically during installation
+$conf['rspamd']['config_dir'] = '/etc/rspamd';
+$conf['rspamd']['init_script'] = 'rspamd';
+
+//* ClamAV
+$conf['clamav']['installed'] = false; // will be detected automatically during installation
+$conf['clamav']['init_script'] = 'clamd@amavisd';
+
+//* Pureftpd
+$conf['pureftpd']['installed'] = false; // will be detected automatically during installation
+$conf['pureftpd']['config_dir'] = '/etc/pure-ftpd';
+$conf['pureftpd']['init_script'] = 'pure-ftpd';
+
+//* MyDNS
+$conf['mydns']['installed'] = false; // will be detected automatically during installation
+$conf['mydns']['config_dir'] = '/etc';
+$conf['mydns']['init_script'] = 'mydns';
+
+//* PowerDNS
+$conf['powerdns']['installed'] = false; // will be detected automatically during installation
+$conf['powerdns']['database'] = 'powerdns';
+$conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d';
+$conf['powerdns']['init_script'] = 'pdns';
+
+//* BIND DNS Server
+$conf['bind']['installed'] = false; // will be detected automatically during installation
+$conf['bind']['bind_user'] = 'named';
+$conf['bind']['bind_group'] = 'named';
+$conf['bind']['bind_zonefiles_dir'] = '/var/named';
+$conf['bind']['named_conf_path'] = '/etc/named.conf';
+$conf['bind']['named_conf_local_path'] = '/etc/named.conf.local';
+$conf['bind']['init_script'] = 'named';
+
+//* Jailkit
+$conf['jailkit']['installed'] = false; // will be detected automatically during installation
+$conf['jailkit']['config_dir'] = '/etc/jailkit';
+$conf['jailkit']['jk_init'] = 'jk_init.ini';
+$conf['jailkit']['jk_chrootsh'] = 'jk_chrootsh.ini';
+$conf['jailkit']['jailkit_chroot_app_programs'] = '/usr/bin/groups /usr/bin/id /usr/bin/dircolors /bin/basename /usr/bin/dirname /usr/bin/nano';
+$conf['jailkit']['jailkit_chroot_cron_programs'] = '/usr/bin/php /usr/bin/perl /usr/share/perl /usr/share/php';
+
+//* Squid
+$conf['squid']['installed'] = false; // will be detected automatically during installation
+$conf['squid']['config_dir'] = '/etc/squid';
+$conf['squid']['init_script'] = 'squid';
+
+//* Nginx
+$conf['nginx']['installed'] = false; // will be detected automatically during installation
+$conf['nginx']['user'] = 'nginx';
+$conf['nginx']['group'] = 'nginx';
+$conf['nginx']['config_dir'] = '/etc/nginx';
+$conf['nginx']['vhost_conf_dir'] = '/etc/nginx/sites-available';
+$conf['nginx']['vhost_conf_enabled_dir'] = '/etc/nginx/sites-enabled';
+$conf['nginx']['init_script'] = 'nginx';
+$conf['nginx']['vhost_port'] = '8080';
+$conf['nginx']['cgi_socket'] = '/var/run/fcgiwrap.socket';
+$conf['nginx']['php_fpm_init_script'] = 'php-fpm';
+$conf['nginx']['php_fpm_ini_path'] = '/etc/php.ini';
+$conf['nginx']['php_fpm_pool_dir'] = '/etc/php-fpm.d';
+$conf['nginx']['php_fpm_start_port'] = 9010;
+$conf['nginx']['php_fpm_socket_dir'] = '/var/lib/php5-fpm';
+
+//* vlogger
+$conf['vlogger']['config_dir'] = '/etc';
+
+//* cron
+$conf['cron']['init_script'] = 'crond';
+$conf['cron']['crontab_dir'] = '/etc/cron.d';
+$conf['cron']['wget'] = '/usr/bin/wget';
+
+//* OpenVZ
+$conf['openvz']['installed'] = false;
+
+?>
diff --git a/install/dist/lib/centos80.lib.php b/install/dist/lib/centos80.lib.php
new file mode 100644
index 0000000000000000000000000000000000000000..3dcd7494d3326bd3618d229c950518e8c200f3e4
--- /dev/null
+++ b/install/dist/lib/centos80.lib.php
@@ -0,0 +1,40 @@
+<?php
+
+/*
+Copyright (c) 2014, Till Brehm, ISPConfig UG
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of ISPConfig nor the names of its contributors
+      may be used to endorse or promote products derived from this software without
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+require_once realpath(dirname(__FILE__)) . '/centos_base.lib.php';
+
+class installer extends installer_centos {
+
+	protected $clamav_socket = '/var/run/clamd.amavisd/clamd.sock';
+	
+	// everything else is inherited from installer_centos class
+}
+
+?>
diff --git a/install/lib/install.lib.php b/install/lib/install.lib.php
index 1e49e025ca0360944a5ba6bd0bd12f5a7543dc4f..02ebba28503541ac5c4db11d3508e7cc57b6a850 100644
--- a/install/lib/install.lib.php
+++ b/install/lib/install.lib.php
@@ -341,6 +341,15 @@ function get_distname() {
 				$distid = 'centos72';
 			}
 			swriteln("Operating System: CentOS $var\n");
+                } elseif(stristr($content, 'CentOS Linux release 8')) {
+                        $distname = 'CentOS';
+                        $distver = 'Unknown';
+                        $distbaseid = 'fedora';
+			$distid = 'centos80';
+                        $var=explode(" ", $content);
+                        $var=explode(".", $var[3]);
+                        $var=$var[0].".".$var[1];
+                        swriteln("Operating System: CentOS $var\n");
 		} else {
 			$distname = 'Redhat';
 			$distver = 'Unknown';
diff --git a/interface/lib/classes/aps_guicontroller.inc.php b/interface/lib/classes/aps_guicontroller.inc.php
index 8a764a9c5c776618156be1023cdb5ca2a9f4f590..8e4c17af7938bf4e4d867bc65ee84be1eb735b94 100644
--- a/interface/lib/classes/aps_guicontroller.inc.php
+++ b/interface/lib/classes/aps_guicontroller.inc.php
@@ -637,11 +637,27 @@ class ApsGUIController extends ApsBase
 						// The location might be empty but the DB return must not be false!
 						if($location_for_domain) $used_path .= $location_for_domain['value'];
 
+						// If user is trying to install into exactly the same path, give an error
 						if($new_path == $used_path)
 						{
 							$temp_errstr = $app->lng('error_used_location');
 							break;
 						}
+
+						// If the new path is _below_ an existing path, give an error because the
+						// installation will delete the files of the existing APS installation
+						if (mb_substr($used_path, 0, mb_strlen($new_path)) === $new_path) {
+							$temp_errstr = $app->lng('error_used_location');
+							break;
+						}
+
+						// If the new path is _within_ an existing path, give an error. Even if
+						// installation would proceed fine in theory, deleting the "lower" package
+						// in the future would also inadvertedly delete the "nested" package
+						if (mb_substr($new_path, 0, mb_strlen($used_path)) === $used_path) {
+							$temp_errstr = $app->lng('error_used_location');
+							break;
+						}
 					}
 				}
 			}
diff --git a/interface/web/dashboard/lib/lang/it.lng b/interface/web/dashboard/lib/lang/it.lng
index db8858aafd91a6b2f02237957262fc08a60d5d61..6a22e7cf5ebbdae3c20939eb333b65412a460a31 100644
--- a/interface/web/dashboard/lib/lang/it.lng
+++ b/interface/web/dashboard/lib/lang/it.lng
@@ -1,4 +1,5 @@
 <?php
 $wb['welcome_user_txt'] = 'Buongiorno %s';
 $wb['available_modules_txt'] = 'Moduli disponibili';
+$wb['last_login_ip'] = "Ultimo login %s da %s";
 ?>
diff --git a/interface/web/dashboard/lib/lang/it_dashlet_customer.lng b/interface/web/dashboard/lib/lang/it_dashlet_customer.lng
index 4fe6cb0ef7db195cb03d4e73c5ba9b232a7d58bb..bb6c2c5a6d04aee882bf54ea1ceda24ef81ec242 100644
--- a/interface/web/dashboard/lib/lang/it_dashlet_customer.lng
+++ b/interface/web/dashboard/lib/lang/it_dashlet_customer.lng
@@ -1,4 +1,4 @@
 <?php
-$wb['customerdata_txt'] = 'My Data';
-$wb['edit_txt'] = 'Edit';
+$wb['customerdata_txt'] = 'I miei dati';
+$wb['edit_txt'] = 'Modifica';
 ?>
diff --git a/interface/web/dashboard/lib/lang/it_dashlet_databasequota.lng b/interface/web/dashboard/lib/lang/it_dashlet_databasequota.lng
index bd2402dbf6c113dde8190fbbdec29490f948d725..61ab6d9b21a40b3959e1d3a798c72b7cbd01f113 100644
--- a/interface/web/dashboard/lib/lang/it_dashlet_databasequota.lng
+++ b/interface/web/dashboard/lib/lang/it_dashlet_databasequota.lng
@@ -1,7 +1,7 @@
 <?php
-$wb['databasequota_txt'] = 'Database Quota';
-$wb['database_txt'] = 'Database Name';
-$wb['used_txt'] = 'Used Space';
+$wb['databasequota_txt'] = 'Quota Database';
+$wb['database_txt'] = 'Nome Database';
+$wb['used_txt'] = 'Spazio Usato';
 $wb['quota_txt'] = 'Quota';
-$wb['no_database_accounts_txt'] = 'No databases found.';
+$wb['no_database_accounts_txt'] = 'Nessun database trovato.';
 ?>
diff --git a/interface/web/dashboard/lib/lang/it_dashlet_limits.lng b/interface/web/dashboard/lib/lang/it_dashlet_limits.lng
index dd83e1ad5847834f7b1b173fe4836167e25146f9..895f619864720b0f8c3e695f9707be243343c66b 100644
--- a/interface/web/dashboard/lib/lang/it_dashlet_limits.lng
+++ b/interface/web/dashboard/lib/lang/it_dashlet_limits.lng
@@ -1,14 +1,14 @@
 <?php
 $wb['limits_txt'] = 'Sintesi account';
 $wb['of_txt'] = 'su';
-$wb['limit_maildomain_txt'] = 'Domini email';
-$wb['limit_mailbox_txt'] = 'Caselle email';
-$wb['limit_mailalias_txt'] = 'Alias di email';
+$wb['limit_maildomain_txt'] = 'Domini e-mail';
+$wb['limit_mailbox_txt'] = 'Caselle e-mail';
+$wb['limit_mailalias_txt'] = 'Alias di e-mail';
 $wb['limit_mailaliasdomain_txt'] = 'Alias di domini';
-$wb['limit_mailforward_txt'] = 'Inoltro email';
-$wb['limit_mailcatchall_txt'] = 'Account catchall email';
-$wb['limit_mailrouting_txt'] = 'Instradamento email';
-$wb['limit_mailfilter_txt'] = 'Filtri email';
+$wb['limit_mailforward_txt'] = 'Inoltro e-mail';
+$wb['limit_mailcatchall_txt'] = 'Account catchall e-mail';
+$wb['limit_mailrouting_txt'] = 'Instradamento e-mail';
+$wb['limit_mailfilter_txt'] = 'Filtri e-mail';
 $wb['limit_fetchmail_txt'] = 'Account fetchmail';
 $wb['limit_spamfilter_wblist_txt'] = 'Filtri spamfilter white / blacklist';
 $wb['limit_spamfilter_user_txt'] = 'Utenti spamfilter';
@@ -25,9 +25,9 @@ $wb['limit_shell_user_txt'] = 'Utenti Shell';
 $wb['limit_webdav_user_txt'] = 'Utenti Webdav';
 $wb['limit_client_txt'] = 'Client';
 $wb['limit_database_txt'] = 'Database';
-$wb['limit_mailmailinglist_txt'] = 'Number of mailing lists';
-$wb['limit_domain_txt'] = 'Number of Domains';
-$wb['limit_mailquota_txt'] = 'Assigned mailbox quota';
-$wb['limit_web_quota_txt'] = 'Assigned web quota';
-$wb['limit_database_quota_txt'] = 'Assigned database quota';
+$wb['limit_mailmailinglist_txt'] = 'Numero mailing-list';
+$wb['limit_domain_txt'] = 'Numero domini';
+$wb['limit_mailquota_txt'] = 'Quota mailbox assegnata';
+$wb['limit_web_quota_txt'] = 'Quota web assegnata';
+$wb['limit_database_quota_txt'] = 'Quota database assegnata';
 ?>
diff --git a/interface/web/dashboard/lib/lang/it_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/it_dashlet_mailquota.lng
index 1ab1e66658fbcab9841ac79a17eb76deb42e40a7..daaaa67f49c948861df6a5a049c2758212d6964e 100644
--- a/interface/web/dashboard/lib/lang/it_dashlet_mailquota.lng
+++ b/interface/web/dashboard/lib/lang/it_dashlet_mailquota.lng
@@ -1,8 +1,8 @@
 <?php
-$wb['mailquota_txt'] = 'Mailbox Quota';
-$wb['email_txt'] = 'Email Address';
-$wb['name_txt'] = 'Name';
-$wb['used_txt'] = 'Used Space';
+$wb['mailquota_txt'] = 'Quota Mailbox';
+$wb['email_txt'] = 'Indirizzo e-mail';
+$wb['name_txt'] = 'Nome';
+$wb['used_txt'] = 'Spazio Usato';
 $wb['quota_txt'] = 'Quota';
-$wb['no_email_accounts_txt'] = 'No email accounts found.';
+$wb['no_email_accounts_txt'] = 'Nessun account e-mail trovato.';
 ?>
diff --git a/interface/web/dashboard/lib/lang/it_dashlet_modules.lng b/interface/web/dashboard/lib/lang/it_dashlet_modules.lng
index 69d5c079978cda232d9826df38b6bea5b946b266..a80b302092d013bde2177ddb5491912712d5c7a2 100644
--- a/interface/web/dashboard/lib/lang/it_dashlet_modules.lng
+++ b/interface/web/dashboard/lib/lang/it_dashlet_modules.lng
@@ -1,4 +1,4 @@
 <?php
 $wb['available_modules_txt'] = 'Moduli disponibili';
-$wb['go_to_txt'] = 'Go to';
+$wb['go_to_txt'] = 'Vai a';
 ?>
diff --git a/interface/web/dashboard/lib/lang/it_dashlet_quota.lng b/interface/web/dashboard/lib/lang/it_dashlet_quota.lng
index de7b5a893612c6c8abb9117bfe933d0eddd782af..63799d2ee3dfa48e7e0177ec64abafab2cd13f8c 100644
--- a/interface/web/dashboard/lib/lang/it_dashlet_quota.lng
+++ b/interface/web/dashboard/lib/lang/it_dashlet_quota.lng
@@ -1,8 +1,8 @@
 <?php
-$wb['quota_txt'] = 'Website Harddisk Quota';
-$wb['domain_txt'] = 'Domain / Website';
-$wb['used_txt'] = 'Used space';
-$wb['hard_txt'] = 'Hard limit';
-$wb['soft_txt'] = 'Soft limit';
-$wb['no_sites_txt'] = 'No web sites found.';
+$wb['quota_txt'] = 'Quota disco domini';
+$wb['domain_txt'] = 'Dominio';
+$wb['used_txt'] = 'Spazio usato';
+$wb['hard_txt'] = 'Limite (forzato)';
+$wb['soft_txt'] = 'Limite';
+$wb['no_sites_txt'] = 'Nessun dominio trovato.';
 ?>
diff --git a/interface/web/login/lib/lang/it.lng b/interface/web/login/lib/lang/it.lng
index 017d60df78beb46a9a6ee5654caaee0a915d8e1f..6d23aa0ccb86d29572ac822080597687e36cda91 100644
--- a/interface/web/login/lib/lang/it.lng
+++ b/interface/web/login/lib/lang/it.lng
@@ -2,32 +2,32 @@
 $wb['error_user_password_empty'] = 'Nome utente o password vuoti.';
 $wb['error_user_password_incorrect'] = 'Nome utente o password errati.';
 $wb['error_user_blocked'] = 'Utente bloccato.';
-$wb['error_user_too_many_logins'] = 'Troppi tentativi errati di login. Riprovare tra 15 minuti';
+$wb['error_user_too_many_logins'] = 'Troppi tentativi errati di login. Riprovare tra 15 minuti.';
 $wb['pass_reset_txt'] = 'Una nuova password sarà  generata e spedita alla tua email se lemail inserita corrisponde a quella delle impostazioni dellutente.';
 $wb['pw_reset'] = 'La password è stata reimpostata e spedita al tuo indirizzo mail.';
-$wb['pw_error'] = 'Nome utente o email non corrispondenti.';
-$wb['pw_error_noinput'] = 'Inserisci nome utente e indirizzo email.';
-$wb['pw_reset_mail_msg'] = 'La password nel tuo pannello di controllo ISPConfig 3 è stata reimpostata. La nuova password è: ';
-$wb['pw_reset_mail_title'] = 'Password del pannello di controllo ISPConfig 3 reimpostata.';
+$wb['pw_error'] = 'Nome utente o e-mail non corrispondenti.';
+$wb['pw_error_noinput'] = 'Inserisci nome utente e indirizzo e-mail.';
+$wb['pw_reset_mail_msg'] = 'La password nel tuo pannello di controllo è stata reimpostata. La nuova password è: ';
+$wb['pw_reset_mail_title'] = 'Password del pannello di controllo reimpostata.';
 $wb['user_regex_error'] = 'Nome utente contenente caratteri non permessi oppure più lungo di 64 caratteri.';
 $wb['pw_error_length'] = 'Lunghezza password maggiore di 64 caratteri.';
 $wb['username_txt'] = 'Nome utente';
 $wb['password_txt'] = 'Password';
 $wb['login_button_txt'] = 'Accedi';
 $wb['pw_lost_txt'] = 'Password smarrita';
-$wb['error_maintenance_mode'] = 'Il pannello di controllo ISPConfig è in manutenzione. Saremo online tra breve. Grazie per la collaborazione.';
+$wb['error_maintenance_mode'] = 'Il pannello di controllo è in manutenzione.';
 $wb['login_txt'] = 'Accedi';
 $wb['pw_reset_txt'] = 'Password reset';
 $wb['pw_button_txt'] = 'Invia password';
-$wb['email_txt'] = 'Email';
-$wb['theme_not_compatible'] = 'Il tema selezionato non è compatibile con questa versione del pannello ISPConfig. Verificare esistenza di una nuova versione del tema.<br />Il tema di default è stato attivato automaticamente.';
+$wb['email_txt'] = 'E-mail';
+$wb['theme_not_compatible'] = 'Il tema selezionato non è compatibile con questa versione del pannello. Verificare esistenza di una nuova versione del tema.<br />Il tema di default è stato attivato automaticamente.';
 $wb['back_txt'] = 'Indietro';
 $wb['email_error'] = 'Email contiene caratteri non autorizzati o un formato non valido.';
 $wb['stay_logged_in_txt'] = 'Ricordami';
 $wb['lost_password_function_disabled_txt'] = 'The lost password function is not available for this user.';
 $wb['pw_reset_act'] = 'You have been sent an activation link. Please visit the link to confirm your password request.';
-$wb['pw_reset_act_mail_title'] = 'Confirm ISPConfig 3 Control panel password reset';
-$wb['pw_reset_act_mail_msg'] = 'Please confirm that your want to reset your ISPConfig 3 control panel account password by visiting the following activation link: ';
+$wb['pw_reset_act_mail_title'] = 'Conferma reset password';
+$wb['pw_reset_act_mail_msg'] = 'Per confermare il reset della password si prega di visitare questo link: ';
 $wb['lost_password_function_wait_txt'] = 'You cannot request a new password, yet. Please wait a few minutes.';
 $wb['lost_password_function_expired_txt'] = 'This activation link has expired. Please request a new one.';
 $wb['lost_password_function_denied_txt'] = 'This activation link is not valid.';
diff --git a/server/lib/classes/cron.d/100-monitor_system_update.inc.php b/server/lib/classes/cron.d/100-monitor_system_update.inc.php
index 3d4ebf408e4fb5349646bca0b5bbe84ed8daf4b6..34f944fa676d086737637089ec43a3ff121f5f1b 100644
--- a/server/lib/classes/cron.d/100-monitor_system_update.inc.php
+++ b/server/lib/classes/cron.d/100-monitor_system_update.inc.php
@@ -160,28 +160,38 @@ class cronjob_monitor_system_update extends cronjob {
 			 */
 			$data['output'] = shell_exec('zypper lu');
 		} elseif(file_exists('/etc/redhat-release')) {
-			/*
-			 * update and find the upgrade.
-			 * if there is any output, then there is a needed update
-			 */
-			$aptData = shell_exec('yum -q list updates');
-			if ($aptData == '') {
-				/* There is nothing to update! */
-				$state = 'ok';
-			} else {
-				/*
-				 * There is something to update! this is in most cases not critical, so we can
-				 * do a system-update once a month or so...
-				 */
-				$state = 'info';
-			}
-
-			/*
-			 * Fetch the output
-			 */
-			$data['output'] = shell_exec('yum -q list updates');
+                        /*
+                         * update and find the upgrade.
+                         * if there is any output, then there is a needed update
+                         */
+
+			/* try to figure out the default package manager first */
+                        if(file_exists('/usr/bin/dnf') && (is_link('/usr/bin/yum'))) {
+                                $rhPkgMgr = 'dnf';
+                        } elseif(file_exists('/usr/bin/dnf') && (!file_exists('/usr/bin/yum')) || (!is_link('/usr/bin/yum'))) {
+                                $rhPkgMgr = 'dnf';
+                        } else {
+                                $rhPkgMgr = 'yum';
+                        }
+
+                        $aptData = shell_exec($rhPkgMgr. ' -q list updates');
+                        if ($aptData == '') {
+                                /* There is nothing to update! */
+                                $state = 'ok';
+                        } else {
+                                /*
+                                 * There is something to update! this is in most cases not critical, so we can
+                                 * do a system-update once a month or so...
+                                 */
+                                $state = 'info';
+                        }
+
+                        /*
+                         * Fetch the output
+                         */
+                        $data['output'] = shell_exec($rhPkgMgr. ' -q list updates');
             
-        } else {
+	        } else {
 			/*
 			 * It is not Debian/Ubuntu, so there is no data and no state
 			 *
diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php
index d8d325fe60fbfc3d1d100ca77ee5c762bbabc9b6..aba19df7a4242ff8da31cbd546b896fb43608fa2 100644
--- a/server/lib/classes/monitor_tools.inc.php
+++ b/server/lib/classes/monitor_tools.inc.php
@@ -319,6 +319,14 @@ class monitor_tools {
 			} else {
 				$distid = 'centos72';
 			}
+                } elseif(stristr($content, 'CentOS Linux release 8')) {
+                        preg_match_all('/([0-9]{1,2})\.?([0-9]{0,2})\.?([0-9]*)/', $content, $version);
+                        $distname = 'CentOS';
+                        $distver = is_array($version)? implode('.', array_filter(array($version[1][0],$version[2][0],$version[3][0]),'strlen')) :'Unknown';
+                        $distbaseid = 'fedora';
+                        $var=explode(" ", $content);
+                        $var=explode(".", $var[3]);
+                        $var=$var[0].".".$var[1];
 		} else {
 			$distname = 'Redhat';
 			$distver = 'Unknown';