diff --git a/lib/os/class.ISPConfigDebianOS.inc.php b/lib/os/class.ISPConfigDebianOS.inc.php index e5c8a5a97ad69c42f5e757c7a41bdf9043e1b899..cb958328567cf0d62c56efe74a5df79ad2a55f3c 100644 --- a/lib/os/class.ISPConfigDebianOS.inc.php +++ b/lib/os/class.ISPConfigDebianOS.inc.php @@ -102,8 +102,13 @@ class ISPConfigDebianOS extends ISPConfigBaseOS { 'resolvconf', 'clamav', 'clamav-daemon', + 'clamav-docs', + 'zip', 'unzip', 'bzip2', + 'xz-utils', + 'lzip', + 'rar', 'arj', 'nomarch', 'lzop', @@ -111,15 +116,12 @@ class ISPConfigDebianOS extends ISPConfigBaseOS { 'apt-listchanges', 'libnet-ldap-perl', 'libauthen-sasl-perl', - 'clamav-docs', 'daemon', 'libio-string-perl', 'libio-socket-ssl-perl', 'libnet-ident-perl', - 'zip', 'libnet-dns-perl', - 'libdbd-mysql-perl', - 'dnsutils' + 'libdbd-mysql-perl' ); if(ISPConfig::shallInstall('local-dns')) { @@ -281,6 +283,15 @@ class ISPConfigDebianOS extends ISPConfigBaseOS { } } + protected function addGoAccessRepo() { + ISPConfigLog::info('Activating GoAccess repository.', true); + $cmd = 'echo "deb https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list >/dev/null 2>&1 ; wget -O - https://deb.goaccess.io/gnugpg.key 2>&1 | sudo apt-key --keyring /etc/apt/trusted.gpg.d/goaccess.gpg add - 2>&1'; + $result = $this->exec($cmd); + if($result === false) { + throw new ISPConfigOSException('Command ' . $cmd . ' failed.'); + } + } + protected function shallCompileJailkit() { return true; } @@ -465,6 +476,10 @@ mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"'; $this->addSuryRepo(); } + if(ISPConfig::shallInstall('web')) { + $this->addGoAccessRepo(); + } + $this->updatePackageList(); ISPConfigLog::info('Updating packages (after enabling 3rd party repos).', true); @@ -984,7 +999,8 @@ mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"'; 'pure-ftpd-common', 'pure-ftpd-mysql', 'webalizer', - 'awstats' + 'awstats', + 'goaccess' ); $this->installPackages($packages);