AWStats è uno strumento utile per l'analisi del traffico web. La sua interfaccia HTML è accessibile tramite il browser, fornendo informazioni dettagliate su chi sta visualizzando il tuo sito Web. Questo tutorial ti guiderà attraverso l'installazione, la configurazione e la protezione di AWStats per un server Web Nginx su Fedora 28.
Se non hai ancora installato Nginx, fallo ora:
sudo dnf install nginx
sudo systemctl enable --now nginx
Innanzitutto, dovrai installare alcune cose. Fortunatamente, questo è molto semplice, poiché tutto il software di cui hai bisogno è nei repository di Fedora:
sudo dnf install awstats httpd-tools php-fpm
httpd-toolsè un pacchetto contenente alcuni strumenti di cui avremo bisogno, come htpasswd. È stato progettato per l'uso con Apache, ma la maggior parte degli strumenti funziona anche con Nginx. L'altro strumento, php-fpmci consente di eseguire script PHP da Nginx.
Dovremo abilitare php-fpmtramite systemctl:
sudo systemctl enable --now php-fpm
Configurazione di AWStats per il tuo sito
Prima di poterlo utilizzare, dovremo configurare AWStats. Copia il file di configurazione del modello per creare una nuova configurazione per il tuo sito:
sudo cp /etc/awstats/awstats.model.conf /etc/awstats/awstats.<yoursitename>.conf
Ora modifica quel file:
sudoedit /etc/awstats/awstats.<yoursitename>.conf
Scorri verso il basso fino alla riga che dice LogFile="/var/log/httpd/access_log". Poiché stiamo usando Nginx invece di Apache, dobbiamo cambiarlo. Modificalo in LogFile="/var/log/nginx/access.log".
Quindi, scorri verso il basso fino alla riga che dice DirIcons="/awstatsicons". Se non riesci a trovarlo, digita /DirIcons, quindi premi ENTERper passare ad esso. Cambia questa riga in DirIcons="../icon".
Infine, AWStats deve sapere quale sito Web sta analizzando. In questo modo può segnalare cose come quali utenti provengono da siti esterni. Le due opzioni di configurazione rilevanti qui sono SiteDomaine HostAliases. SiteDomainsarà semplicemente il nome di dominio del sito; e HostAliasessarà un elenco di tutti gli altri nomi di dominio che potrebbero essere utilizzati (ad esempio, se il tuo sito è www.example.com, potresti metterlo example.comqui se è lo stesso sito).
Tutte le opzioni di configurazione sono documentate nel file di configurazione. Se vuoi sapere esattamente cosa fa un'opzione, o se vuoi vedere tutte le opzioni che AWStats ha da offrire, leggi i commenti in quel file.
Impostazione delle autorizzazioni
Si consiglia vivamente di non eseguire AWStats come utente root. Eseguiremo AWStats con l' nginxutente che è già stato impostato durante l'installazione di Nginx.
Per fare ciò, dovremo rendere nginxil proprietario della directory in cui AWStats memorizza il suo database ( /var/lib/awstats):
sudo chown -R nginx /var/lib/awstats
Esegui AWStats per la prima volta
In un passaggio successivo, configureremo AWStats per l'esecuzione quando i registri del server vengono ruotati. Questa prima volta, tuttavia, è meglio eseguirlo manualmente. Fallo con il seguente comando:
sudo -u nginx /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=<yoursitename>
Nota: la -u nginxparte indica sudodi eseguire il comando come nginxutente anziché come root.
L'output sarà simile al seguente:
Create/Update database for config "/etc/awstats/awstats.<yoursitename>.conf" by AWStats version 7.7 (build 20180105)
From data in log file "/var/log/nginx/access.log"...
Phase 1: First bypass old records, searching new record...
Direct access after last parsed record (after line 0)
Jumped lines in file: 0
Found 0 already parsed records.
Parsed lines in file: 0
Found 0 dropped records,
Found 0 comments,
Found 0 blank records,
Found 0 corrupted records,
Found 0 old records,
Found 0 new qualified records.
Configurazione di Nginx per visualizzare AWStats online
Successivamente, configureremo Nginx in modo da poter visualizzare le statistiche del nostro sito Web dal sito Web stesso, anziché tramite un'interfaccia della riga di comando. Modifica il tuo file di configurazione principale di Nginx:
sudoedit /etc/nginx/nginx.conf
Qui, aggiungeremo una cartella per contenere la sezione AWStats del sito Web. In questo tutorial, lo chiameremo webstats, ma puoi chiamarlo come vuoi.
Trova la sezione del file di configurazione che dice server. Dopo la linea include /etc/nginx/default.d/*.conf;. Aggiungi una nuova sezione:
location /webstats/ {
alias /usr/share/awstats/wwwroot/;
location ~ /cgi-bin/(.+\.pl) {
include fastcgi.conf;
fastcgi_pass php-fpm;
fastcgi_split_path_info ^/webstats/(.+\.pl)(.*)$;
fastcgi_param SCRIPT_FILENAME /usr/share/awstats/tools/nginx/awstats-fcgi.php;
fastcgi_param X_SCRIPT_FILENAME /usr/share/awstats/wwwroot/$fastcgi_script_name;
fastcgi_param X_SCRIPT_NAME $fastcgi_script_name;
}
}
Questa sezione dice a Nginx che quando andiamo alla webstatsdirectory nel nostro browser, dovrebbe servire la web root di AWStats e se chiediamo uno script nella cgi-bindirectory, dovrebbe eseguirlo.
Dopo aver modificato il file di configurazione, è necessario riavviare Nginx:
sudo systemctl restart nginx
Ora apri il tuo browser e vai a <your website>/webstats/cgi-bin/awstats.pl?config=<yoursitename>. Questa è la homepage di AWStats per il tuo sito web. Sarà un po 'così:

Assicurati che la pagina sia caricata correttamente e che sia possibile vedere il logo AWStats nell'angolo in alto a destra. Se la pagina non viene caricata o manca il logo, è possibile che nel passaggio precedente sia stato configurato qualcosa di errato: tornare indietro e assicurarsi che tutti i percorsi siano corretti.
Protezione di AWStats
Non riuscire a proteggere la tua pagina delle statistiche può portare a cose cattive, come lo spam dei referrer . Inoltre, non vuoi che i tuoi dati analitici dettagliati siano esposti a Internet intero.
Useremo Nginx per mettere una password nella pagina delle statistiche. Apri di /etc/nginx/nginx.confnuovo, torna alla sezione che hai aggiunto e aggiungi le seguenti righe in location /webstats/ {:
auth_basic "Username and password required to access AWStats";
auth_basic_user_file /etc/nginx/.htpasswd;
Ora dobbiamo creare quel .htpasswdfile. Esci dal file di configurazione ed esegui il comando seguente:
sudo htpasswd -c /etc/nginx/.htpasswd <username>
Il tuo nome utente può essere praticamente qualsiasi cosa, ma non dovrebbe contenere spazi e dovrebbe essere unico, non facile da indovinare admino webmaster. Quando esegui il comando, ti verrà richiesta una password. Immettere una password sicura, quindi confermarla.
Ricarica Nginx:
sudo systemctl restart nginx
Prova ad accedere nuovamente ad AWStats. Questa volta ti verrà chiesto il nome utente e la password. Inseriscili e verrai inviato alla homepage di AWStats come prima.
Esecuzione di AWStats ogni giorno e quando i log vengono ruotati
Infine, abbiamo bisogno di aggiornare le nostre statistiche. Useremo cronper quello. È un'utilità di pianificazione attività ed è preinstallata su Fedora (e sulla maggior parte delle altre distribuzioni Linux). Faremo funzionare AWStats ogni giorno a mezzanotte. Modifica /etc/crontabe aggiungi la seguente riga in fondo:
0 0 * * * nginx /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=<yoursitename>
Per evitare la perdita di dati, vorremmo anche eseguire AWStats quando i registri vengono ruotati. Per farlo, modifica /etc/logrotate.d/nginx. Sopra la postrotatesezione, aggiungi quanto segue:
prerotate
/usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=<yoursitename>
endscript
AWStats è ora tutto pronto e pronto per partire.