Εγκατάσταση AWStats και εργαλείων
Διαμόρφωση AWStats για τον ιστότοπό σας
Ρύθμιση αδειών
Εκτελέστε το AWStats για πρώτη φορά
Διαμόρφωση του Nginx για προβολή του AWStats online
Ασφάλιση AWStats
Εκτέλεση AWStats καθημερινά και όταν εναλλάσσονται τα αρχεία καταγραφής
Το AWStats είναι ένα χρήσιμο εργαλείο για την ανάλυση της κυκλοφορίας στον ιστό. Η διεπαφή HTML του είναι προσβάσιμη μέσω του προγράμματος περιήγησης, δίνοντάς σας εύκολες πληροφορίες σχετικά με το ποιος βλέπει τον ιστότοπό σας. Αυτό το σεμινάριο θα σας καθοδηγήσει στην εγκατάσταση, τη ρύθμιση παραμέτρων και την ασφάλεια των AWStats για έναν διακομιστή web Nginx στο Fedora 28.
Εάν δεν έχετε εγκαταστήσει ακόμα το Nginx, κάντε το τώρα:
sudo dnf install nginx
sudo systemctl enable --now nginx
Πρώτα, θα χρειαστεί να εγκαταστήσετε μερικά πράγματα. Ευτυχώς, αυτό είναι πολύ εύκολο, καθώς όλο το λογισμικό που θα χρειαστείτε βρίσκεται στα αποθετήρια του Fedora:
sudo dnf install awstats httpd-tools php-fpm
httpd-toolsείναι ένα πακέτο που περιέχει ορισμένα εργαλεία που θα χρειαστούμε, όπως htpasswd. Σχεδιάστηκε για χρήση με το Apache, αλλά τα περισσότερα εργαλεία λειτουργούν και με το Nginx. Το άλλο εργαλείο, php-fpm, μας επιτρέπει να εκτελούμε σενάρια PHP από το Nginx.
Θα πρέπει να ενεργοποιήσουμε php-fpmμέσω systemctl:
sudo systemctl enable --now php-fpm
Διαμόρφωση AWStats για τον ιστότοπό σας
Θα χρειαστεί να διαμορφώσουμε το AWStats για να μπορέσουμε να το χρησιμοποιήσουμε. Αντιγράψτε το αρχείο διαμόρφωσης μοντέλου για να δημιουργήσετε μια νέα διαμόρφωση για τον ιστότοπό σας:
sudo cp /etc/awstats/awstats.model.conf /etc/awstats/awstats.<yoursitename>.conf
Τώρα επεξεργαστείτε αυτό το αρχείο:
sudoedit /etc/awstats/awstats.<yoursitename>.conf
Κάντε κύλιση προς τα κάτω στη γραμμή που λέει LogFile="/var/log/httpd/access_log". Επειδή χρησιμοποιούμε Nginx αντί για Apache, πρέπει να το αλλάξουμε αυτό. Αλλάξτε το σε LogFile="/var/log/nginx/access.log".
Στη συνέχεια, κάντε κύλιση προς τα κάτω μέχρι τη γραμμή που λέει DirIcons="/awstatsicons". Εάν δεν μπορείτε να το βρείτε, πληκτρολογήστε και /DirIcons, στη συνέχεια, πατήστε ENTERγια να μεταβείτε σε αυτό. Αλλάξτε αυτήν τη γραμμή σε DirIcons="../icon".
Τέλος, η AWStats πρέπει να γνωρίζει τον ιστότοπο που αναλύει. Με αυτόν τον τρόπο μπορεί να αναφέρει πράγματα όπως ποιοι χρήστες προέρχονται από εξωτερικούς ιστότοπους. Οι δύο σχετικές επιλογές διαμόρφωσης εδώ είναι SiteDomainκαι HostAliases. SiteDomainθα είναι απλώς το όνομα τομέα του ιστότοπου. και HostAliasesθα είναι μια λίστα με τυχόν άλλα ονόματα τομέα που μπορεί να χρησιμοποιηθούν (για παράδειγμα, εάν ο ιστότοπός σας είναι www.example.com, μπορείτε να βάλετε example.comεδώ εάν είναι ο ίδιος ιστότοπος).
Όλες οι επιλογές διαμόρφωσης τεκμηριώνονται στο αρχείο διαμόρφωσης. Εάν θέλετε να μάθετε τι ακριβώς κάνει μια επιλογή ή εάν θέλετε να δείτε όλες τις επιλογές που έχει να προσφέρει το AWStats, απλώς διαβάστε τα σχόλια σε αυτό το αρχείο.
Ρύθμιση αδειών
Συνιστάται ανεπιφύλακτα να μην εκτελείτε το AWStats ως χρήστης root. Θα εκτελέσουμε το AWStats κάτω από τον nginxχρήστη που έχει ήδη ρυθμιστεί κατά την εγκατάσταση του Nginx.
Για να γίνει αυτό, θα πρέπει να ορίσουμε nginxτον κάτοχο του καταλόγου όπου το AWStats αποθηκεύει τη βάση δεδομένων του ( /var/lib/awstats):
sudo chown -R nginx /var/lib/awstats
Εκτελέστε το AWStats για πρώτη φορά
Σε επόμενο βήμα, θα ρυθμίσουμε το AWStats ώστε να εκτελείται όταν περιστρέφονται τα αρχεία καταγραφής διακομιστή. Αυτήν την πρώτη φορά, ωστόσο, είναι καλύτερο να το εκτελέσετε χειροκίνητα. Κάντε το με την ακόλουθη εντολή:
sudo -u nginx /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=<yoursitename>
Σημείωση: Το -u nginxτμήμα λέει sudoνα εκτελεστεί η εντολή ως nginxχρήστης και όχι ως root.
Η έξοδος θα είναι παρόμοια με την παρακάτω:
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.
Διαμόρφωση του Nginx για προβολή του AWStats online
Στη συνέχεια, θα διαμορφώσουμε το Nginx ώστε να μπορούμε να προβάλλουμε τα στατιστικά στοιχεία του ιστότοπού μας από τον ίδιο τον ιστότοπο και όχι μέσω μιας διεπαφής γραμμής εντολών. Επεξεργαστείτε το κύριο αρχείο διαμόρφωσης Nginx:
sudoedit /etc/nginx/nginx.conf
Εδώ, θα προσθέσουμε έναν φάκελο που περιέχει την ενότητα AWStats του ιστότοπου. Σε αυτό το σεμινάριο, θα το ονομάσουμε webstats, αλλά μπορείτε να το ονομάσετε όπως θέλετε.
Βρείτε την ενότητα του αρχείου διαμόρφωσης που λέει server. Μετά τη γραμμή include /etc/nginx/default.d/*.conf;. Προσθήκη νέας ενότητας:
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;
}
}
Αυτή η ενότητα λέει στο Nginx ότι όταν πηγαίνουμε στον webstatsκατάλογο στο πρόγραμμα περιήγησής μας, θα πρέπει να εξυπηρετεί τη ρίζα ιστού του AWStats και αν ζητήσουμε ένα σενάριο στον cgi-binκατάλογο, θα πρέπει να το εκτελέσει.
Μετά την επεξεργασία του αρχείου ρυθμίσεων, πρέπει να επανεκκινήσουμε το Nginx:
sudo systemctl restart nginx
Τώρα ανοίξτε το πρόγραμμα περιήγησής σας και μεταβείτε στο <your website>/webstats/cgi-bin/awstats.pl?config=<yoursitename>. Αυτή είναι η αρχική σελίδα της AWStats για τον ιστότοπό σας. Θα μοιάζει κάπως έτσι:

Βεβαιωθείτε ότι η σελίδα φορτώνει σωστά και ότι μπορείτε να δείτε το λογότυπο AWStats στην επάνω δεξιά γωνία. Εάν η σελίδα δεν φορτώνεται ή το λογότυπο λείπει, μπορεί να έχετε διαμορφώσει λάθος κάτι σε προηγούμενο βήμα -- επιστρέψτε και βεβαιωθείτε ότι όλες οι διαδρομές είναι σωστές.
Ασφάλεια AWStats
Η αποτυχία να ασφαλίσετε τη σελίδα στατιστικών στοιχείων σας μπορεί να οδηγήσει σε κακά πράγματα, όπως ανεπιθύμητα μηνύματα παραπομπής . Επίσης, δεν θέλετε τα λεπτομερή αναλυτικά δεδομένα σας να εκτίθενται σε ολόκληρο το Διαδίκτυο.
Θα χρησιμοποιήσουμε το Nginx για να τοποθετήσουμε έναν κωδικό πρόσβασης στη σελίδα στατιστικών στοιχείων. Ανοίξτε /etc/nginx/nginx.confξανά, επιστρέψτε στην ενότητα που προσθέσατε και προσθέστε τις ακόλουθες γραμμές κάτω από location /webstats/ {:
auth_basic "Username and password required to access AWStats";
auth_basic_user_file /etc/nginx/.htpasswd;
Τώρα πρέπει να δημιουργήσουμε αυτό το .htpasswdαρχείο. Βγείτε από το αρχείο ρυθμίσεων και εκτελέστε την ακόλουθη εντολή:
sudo htpasswd -c /etc/nginx/.htpasswd <username>
Το όνομα χρήστη σας μπορεί να είναι ως επί το πλείστον οτιδήποτε, αλλά δεν θα πρέπει να περιέχει κενά και θα πρέπει να είναι μοναδικό, όχι κάτι εύκολο να μαντέψετε όπως adminή webmaster. Όταν εκτελείτε την εντολή, θα σας ζητηθεί κωδικός πρόσβασης. Εισαγάγετε έναν ασφαλή κωδικό πρόσβασης και, στη συνέχεια, επιβεβαιώστε τον.
Επαναφόρτωση Nginx:
sudo systemctl restart nginx
Προσπαθήστε να αποκτήσετε ξανά πρόσβαση στο AWStats. Αυτή τη φορά, θα σας ζητηθεί το όνομα χρήστη και ο κωδικός πρόσβασής σας. Εισαγάγετε τα και θα σταλθείτε στην αρχική σελίδα του AWStats όπως πριν.
Εκτέλεση AWStats καθημερινά και όταν εναλλάσσονται τα αρχεία καταγραφής
Τέλος, χρειαζόμαστε τα στατιστικά μας για ενημέρωση. Θα χρησιμοποιήσουμε cronγια αυτό. Είναι ένα βοηθητικό πρόγραμμα προγραμματισμού εργασιών και είναι προεγκατεστημένο στο Fedora (και στις περισσότερες άλλες διανομές Linux). Θα το κάνουμε να τρέχει το AWStats κάθε μέρα τα μεσάνυχτα. Επεξεργαστείτε /etc/crontabκαι προσθέστε την ακόλουθη γραμμή στο κάτω μέρος:
0 0 * * * nginx /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=<yoursitename>
Για να αποφύγουμε την απώλεια δεδομένων, θα θέλουμε επίσης να εκτελείται το AWStats όταν τα αρχεία καταγραφής περιστρέφονται. Για να το κάνετε αυτό, επεξεργαστείτε το /etc/logrotate.d/nginx. Πάνω από την postrotateενότητα, προσθέστε τα ακόλουθα:
prerotate
/usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=<yoursitename>
endscript
Το AWStats είναι πλέον έτοιμο και έτοιμο.