Awstats 7.6 upgrade na verzi Awstats 7.8 pro ISPconfig 3 Debian 10

AWStats je open source nástroj pro tvorbu zpráv o webové analytice, který je vhodný pro analýzu dat z internetových služeb, jako jsou webové servery, servery pro streamování médií, poštovní servery a servery FTP. AWStats analyzuje a vyhodnocuje soubory protokolu serveru a vytváří zprávy ve formátu HTML. Data jsou v sestavách vizuálně prezentována pomocí tabulek a sloupcových grafů.

Statické sestavy lze vytvářet prostřednictvím rozhraní příkazového řádku a sestavy na vyžádání jsou podporovány prostřednictvím programu CGI webového prohlížeče. AWStats podporuje většinu hlavních formátů souborů protokolu webového serveru včetně Apache (kombinovaný formát protokolu NCSA/XLF/ELF nebo Common Log Format (CLF)), WebStar, IIS (formát protokolu W3C) a mnoha dalších běžných formátů protokolu webového serveru.

Zdrojový kód vývojáře Awstats od zhruba roku 2014 najdete místo SourceForge na GitHub.

ISPConfig 3 Awstats

ISPConfig používá celkem tři druhy statistik, Webalizer, GoAccess a Awstats. Pokud jste si oblíbili Awstats pak snad už od dob Debian 8 lze nainstalovat pouze verzi balíčku Awstats 7.6 i když data vydání verze 7.7 i 7.8 nejsou nejmladší. Konkrétne verze Awstats 7.6 byla vydána 12. 03 2017, poslední verze 7.8 již před více než rokem, konkrétně 30. 04 2020.

Přehled změn Awstats

Změny, zejména v poslední verzi Awstats jsou významné.

Awstats 7.8
Přidání SelectBoxu pro režim DatabaseBreak: měsíc,den a hodina.
Aktualizace stavových kódů http
Přidat další typy souborů
Aktualizace souboru README.md
Oprava problému s formátováním geoip2
Corner case 99
Oprava některých nesouvislých záznamů v souboru search_engines.pm
Oprava zásuvného modulu geoip2 ve Windows přejmenováním.
Aktualizace souboru robots.pm s údaji PR118. Přidat:
    - PiplBot bot
    - Um-IC & um-LN bot
    - arcemedia
    - bit.ly
    - bidswitchbot
    - bnf.fr_bot
    - contxbot
    - flamingo
    - getintent (varianta)
    - laserlikebot
    - mappy
    - mojeek (varianta)
    - serendeputy
    - trendiction
    - yak (linkinfluence)
    - zoominfobot
Změna markdown pro lepší čitelnost
Aktualizace roku autorských práv
Změna odkazů na https
Oprava odkazů pro stažení perlu
NOVĚ přidat značku %time6 do formátu protokolu pro podporu některých formátů protokolu IIS
geoip2: Oprava chyby formátování tabulky. Chybějící značka položky "<td>".
Změny v souboru robots.pm
Přidání podpory pro soubory DMG a PKG systému macOS
Oprava detekce prohlížeče se stavovým kódem HTTP 206
Podpora systému macOS 10.13/10.14 + vylepšená komprese obrázků ikon.
Oprava použití 5 nejčastějších návštěv jako základny 100 pro graf, který zobrazuje 5 nejčastějších návštěv.
Vyčištění modulů geoip2 a geoip2 city
    * Správně převádí názvy dns na adresy ip4 a ip6 pomocí getaddrinfo
    * Vyhledávání pouze v případě, že IP je typu public
      a zachytí další chyby při vyhledávání
    * Ukládání a zobrazování výstupu GeoIP City v HTML escaped
    * Kód pro provádění a ukládání do mezipaměti skutečného vyhledávání je konsolidován
    * Obecné zlepšení kódu a jeho čitelnosti
Ztrátové zmenšení velikosti obrázků PNG o cca 33 % pomocí zopfli, pngout a oxipng. Přidány také ikony os pro systémy macOS 10.13 a 10.14.
Přidání robota: Znalostní umělá inteligence
Oprava chyby: RobotsSearchIDOrder_listx není stejný počet záznamů.
Úpravy robotů, vyhledávačů a sledování webových stránek
Optimalizace pole OptimizeArray
Přidáno UptimeRobot https://uptimerobot.com/
Oprava několika gramatických chyb v konfiguraci modelu
Ignorovat vyhledávací fráze delší než 80 znaků.
Oprava neaktualizující se stránky s detailem 404
Dekódování "nevyhrazených znaků" v adresách URL podle RFC 3986.
Varování před vnořenými include pro Perl > 5.6.
Aktualizace souboru domains.pm
Oprava dvou neplatných záznamů v souboru search_engines.pm
Formátování terabajtů
Oprava chyby "Nepovolené dělení nulou".
Zlepšení zpracování chyb v souboru awstats_buildstaticpages.pl
Vyloučení soukromých IP adres, protože GeoIP2::Reader je nepodporuje
Ignorovat vyhledávací fráze delší než 80 znaků.
Vyčistit pouze data pro uloženou část.
Zprovoznit zásuvný modul pro města
Opravit problém se sekcí ShowHost, když je adresa vyřešena.
Počáteční implementace vyhledávání města GeoIP2.
Oprava několika problémů s vyhledáváním zemí.
Počáteční implementace. Vyhledávání pouze kódu země pro IPv4 a IPv6.
Aktualizace souboru v hebrejštině
Poměrně málo doplňků a úprav. Zejména detekce yahoo.
Přidán poměr pixelů zařízení ( dpr ) do souboru awstats_misc_tracker.js.
Přidáno 37 nových robotů do souboru robots.pm s použitím souboru robots.pm verze 7.7 jako základního souboru.
Přesunutí položky oBot níže, aby nebyla nesprávně vybrána pro ostatní roboty *obot.
Dekódování "nevyhrazených znaků" v adresách URL podle RFC 3986.  Díky tomu awstats považuje "/foo" a "/%66%6f%6f" za ekvivalentní.
Chybějící příznak Sint Maarten
Chybná značka viz https://dev.maxmind.com/geoip/legacy/codes/iso3166/
Oprava problému název země není správný
Oprava souborů utf bom
Oprava další zranitelnosti nahlášené bezpečnostním týmem cPanel (může spustit libovolný kód).
Přidat další testy


Awstats 7.7
Oprava zabezpečení: CVE-2017-1000501
Oprava zabezpečení: Chybějící sanitizace parametrů
Oprava LogFormat=4 s url obsahujícími mezery.
Oprava zranitelnosti window.opener v externích odkazech na referenční stránky.
Přidání methodurlprot do klíče pro definici formátu protokolu.
Přidání dynamického vyhledávání DNS.
Oprava podpory edge.

Upgrade Awstats v produkčním systému

Debian 10 používá všechny požadované (minimální) verze závislosti pro fungování nejnovější verze Awstats 7.8, zejména Perl 5. Díky poslední verzi Debian 11 BullsEye existuje přímo i .deb balíček Awstats 7.8, to znamená obejdeme se bez kompilace. Upgrade na nejnovější verzi je triviální.

wget http://ftp.de.debian.org/debian/pool/main/a/awstats/awstats_7.8-2_all.deb
dpkg -i awstats_7.8-2_all.deb
cp /etc/logrotate.d/httpd-prerotate/awstats.dpkg-new /etc/logrotate.d/httpd-prerotate/awstats.sh

Popis kroků aktualizace Awstats

  1. Stažení Awstats 7.8 debian balíčku
  2. Instalace debian balíčku pomocí dpkg
  3. Obnovení spouštěče (skriptu) pre logrotate

Chybová hláška u instalace

dpkg -i awstats_7.8-2_all.deb
(Reading database ... 56464 files and directories currently installed.)
Preparing to unpack awstats_7.8-2_all.deb ...
Unpacking awstats (7.8-2) over (7.6+dfsg-2+deb10u1) ...
dpkg: warning: awstats: conffile '/etc/logrotate.d/httpd-prerotate/awstats' is not a plain file or symlink (= '/etc/logrotate.d/httpd-prerotate/awstats')
Setting up awstats (7.8-2) ...
Installing new version of config file /etc/awstats/awstats.conf ...
dpkg: warning: awstats: conffile '/etc/logrotate.d/httpd-prerotate/awstats' is not a plain file or symlink (= '/etc/logrotate.d/httpd-prerotate/awstats')
Processing triggers for man-db (2.8.5-2) ...

Chybu řeší vytvoření nového souboru awstats.sh pomocí

cp /etc/logrotate.d/httpd-prerotate/awstats.dpkg-new /etc/logrotate.d/httpd-prerotate/awstats.sh

(popsáno výš).

Porovnání konfiguračních souborů

Pokud nemáme zálohu, nakopírujeme na server kde je aktualizovaná verze Awstats starší soubor awstats.conf a porovnáme jej s nejnovějším

scp -P21122 /etc/awstats/awstats.conf user@11.22.33.44:/user/backup
diff soubor_A.conf soubor_B.conf

Použít lte i vizuální porovnávač třeba na diffchecker.com.

Nejpodstatnějším rozdílem je přidaný plugin GeoIP

#LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/share/GeoIP/GeoIPCity.dat"
# PLUGIN: GeoIP2_City
# REQUIRED MODULES: GeoIP2::Database::Reader (from Maxmind)
# PARAMETERS: [/pathto/GeoLite2-City.mmdb[+/pathto/override.txt]]
# DESCRIPTION: This plugin adds a column under the hosts field and tracks the pageviews
# and hits by city including regions.
# Replace spaces in the path of geoip data file with string "%20".
#
#LoadPlugin="geoip2_city /pathto/GeoLite2-City.mmdb"
Aktualizace Awstats Debian Linux ISPconfig
Aktualizace Awstats Debian Linux + ISPconfig

V novém konfiguračním souboru nejsou mimo opravy pravopisních chyb žádné změny.

Užitečné

Statistika Awstats na Debian Linux serveru.
Projekt Awstats na webu.

ICTIS.CZ