Awstats na Ubuntu 12.04

Krátký návod jak nainstalovat a nastavit Awstats na Ubuntu.

awstatsV tomto návodu vám popíši, jak co nejjednodušeji nastavit awstats pro užívání na ubuntu. Tento návod nebude řešit zabezpečení daného scriptu ale jeho funkčnost.

Instalace balíčků pro následnou funkčnost doplňků GeoIP a IPv6 v Awstats:

sudo cpan -i YAML Geo::IP Geo::IP::PurePerl Net::IP Net::DNS

Tento příkaz nainstaluje potřebné Perl balíčky, které jsou pro běh výše uvedených doplňků v Awstats nezbytné.

Instalace Awstats

sudo apt-get install awstats -y

Tímto příkazem jsme si nainstalovali základní balíček, který bez dalších nastavení fungovat nebude.

Takže začneme úpravou práv v rotaci logů. Otevřete si /etc/logrotate.d/apache2 a změňte z:create 640 root adm na create 644 root adm

Když máte hotovo, tak změníme práva již vytvořeného souboru a i složky kam se log ukládá: sudo chmod 755 /var/log/apache2/*.log
sudo chmod 755 /var/log/apache2
Toto nám zajistí, že budou mít awstats přístup k logům.

Zajištění, aby rotace logů nezničila data

Awstats běží každých 10 min, takže by mohlo dojít ke ztrátě hitů. Aby k tomu nedošlo, tak přidáme script, který to zajistí. Nejprve vytvoříme adresář:sudo mkdir -p /etc/logrotate.d/httpd-prerotate a pak přidáme script, který to zajistí:sudo tee /etc/logrotate.d/httpd-prerotate/awstats << 'EOF'
#!/bin/sh
if [ -x /usr/share/awstats/tools/update.sh ]; then
su -l -c /usr/share/awstats/tools/update.sh www-data
fi
EOF
A nastavíme práva pro script:sudo chmod 755 /etc/logrotate.d/httpd-prerotate/awstats

Oprava Awstats

Awstats po instalaci na ubuntu bohužel nemají správně provedené nastavení knihoven a cest. To opravíme následujícím způsobem:

Otevřete si soubor /usr/share/doc/awstats/examples/awstats_configure.pl a opravte údaje na řádku 31-37 na: $AWSTATS_PATH="/usr/share/awstats";
$AWSTATS_ICON_PATH="/usr/share/awstats/icon";
$AWSTATS_CSS_PATH="/usr/share/awstats/css";
$AWSTATS_CLASSES_PATH="/usr/share/awstats/lib";
$AWSTATS_CGI_BIN="/usr/lib/cgi-bin";
$AWSTATS_MODEL_CONFIG="/usr/share/doc/awstats/examples/awstats.model.conf";
$AWSTATS_DIRDATA_PATH="/var/lib/awstats";

Konfigurace Apache

Do /etc/apache2/httpd.conf přidáme tyto řádky:
Options None
AllowOverride None
Order allow,deny
Allow from all



Options None
AllowOverride None
Order allow,deny
Allow from all



Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all



AlowOverride All


ScriptAlias /awstats.pl /usr/lib/cgi-bin/awstats.pl
Alias /awstats-icon/ /usr/share/awstats/icon/
Alias /awstatsclasses/ /usr/share/java/awstats/

Blížíme se k závěru

Nyní nastavíme awstats pro defaultní síť, povolíme moduly a ukážeme si, jak nastavit více hostů.

Otevřete si /etc/awstats/awstats.conf.local a nastavte:SiteDomain="moje.domena"

Otevřete si soubor /etc/awstats/awstats.conf a změňte LogFormat na 1 a odkomentujte pluginy pro něž jsme si na začátku nainstalovali Perl knihovny: ...
LogFormat=1
...
LoadPlugin="ipv6"
...
LoadPlugin="geoip GEOIP_STANDARD /usr/share/GeoIP/GeoIP.dat"
...

Nyní přidáme další configurační soubory pro ostatní weby do /etc/awstats ve tvaru: awstats.dalsi.domena.conf. Na prvním řádku souboru musí být Include "/etc/awstats/awstats.conf"Takže obsah konfiguračního souboru pro další doménu bude vypadat nějak takto: Include "/etc/awstats/awstats.conf"
SiteDomain="dalsi.domena"
HostAliases="dalsi.domena www.dalsi.domena"
DirData="/var/lib/awstats/dalsi.domena"
LogFile="/var/log/apache2/dalsi.domena_access.log"

Nyní již vytvoříme jen adresář pro statistiky daného webu a nastavíme mu práva sudo mkdir -p /var/lib/awstats/dalsi.domena
sudo chown www-data:www-data /var/lib/awstats/dalsi.domena

Nechcete-li čekat 10 minut, až se logy načtou, můžete vyvolat aktualizaci manuálně sudo su -l -c /usr/share/awstats/tools/update.sh www-data

A už se můžeme koukat na příslušné logy na adrese http://moje.domena/awstats.pl?config=dalsi.domena

Zdroj v EN koo.fi blog

Autor: