Konfigurasi Awstats dan Nginx di Debian 6

Tutorial ini dibuat karena terkadang akses ke blog agak terasa lambat jika pengunjung harus ikut serta membuka tracker dari Piwik ataupun tracker yang lokasinya diluar server misalnya Statcounter maupun GoogleAnalytics.

Untuk keperluan tambahan, maka dibuat monitoring internal dengan memakai Awstats yang bertugas membaca file Log dari Nginx kemudian menampilkannya dalam bentuk file html sehingga lebih mudah dan enak dibaca.

Jika memakai Cpanel, maka semuanya lebih mudah karena sudah tersedia, namun karena konfigurasi server ini semuanya dari shell, maka agak sedikit perlu ketelitian dan ketekunan.

Instalasi awstats di Debian 6 32bit :

File konfigurasi awstats pada umumnya berada di /etc/awstats, dan biasanya sudah tersedia contoh konfigurasinya di /etc/awstats/awstats.conf

Untuk membuat monitoring website kita, maka kita perlu mengcopy dua file sesuai kebutuhan kita, misalnya nama domainnya adalah www.erawan.me, maka :

Selanjutnya, sesuaikan setingan awstats.erawan.me.conf dengan setingan log di Nginx.

 

Konfigurasi Log di Nginx

Misalnya saya memakai format log berikut di file /etc/nginx/nginx.conf saya :

Setiap kali Nginx melayani permintaan terhadap request, maka akan dibuat sebuah log yang dapat dipanggil, dengan format $remote_addr [$time_local] “$request” $status $bytes_sent “$http_referer” “$http_user_agent”.

Hasilnya seperti ini :

Untuk memakai fungsi log tersebut kita dapat memanggil nama dari fungsi log yang kali ini saya memakai nama slim, log_format slim. Nama fungsi log ini bisa diganti apapun, terserah dengan keinginan 🙂

Contoh pemakaiannya pada file konfigurasi saya di /etc/nginx/hosts.d/erawanarifnugroho.com.conf

Jika memakai konfigurasi di atas, maka file Log yang nanti dipergunakan oleh Awstats akan berada di /home/http/logs/access.erawanarifnugroho.com.log

 

Konfigurasi Awstats

File konfigurasi Awstats saya pada contoh kali ini berlokasi di /etc/awstats/awstats.erawanarifnugroho.com.conf, dan perlu dilakukan beberapa penyesuaian pada isinya seperti berikut ini :

Dari baris diatas, maka Awstats akan membaca file log di /home/http/logs/access.erawanarifnugroho.com.log, dengan tipe log untuk Webserver, format lognya sesuai dengan format di Nginx, untuk domain www.erawanarifnugroho.com, dan datanya akan disimpan di /home/http/hosts/stats.erawanarifnugroho.com/

 

Menampilkan hasil dari Awstats

Karena kita menyimpan hasil Awstats di /home/http/hosts/stats.erawanarifnugroho.com/, maka perlu dibuat file konfigurasi di Nginx agar kita dapat melihat hasilnya dari web browser.

Contoh file konfigurasi saya di /etc/nginx/hosts.d/stats.erawanarifnugroho.com.conf

Untuk menghindari error yang mungkin muncul karena ketidaksesuaian antara log Nginx yang sebelumnya telah ada dan pembacaan Awstats, maka perlu dilakukan penghapusan file log yang lama, atau Awstats harus disesuaikan agar bisa membaca file log yang lama.

Testing Awstats apakah bisa berjalan dengan normal, serta menampilkan hasilnya di /home/http/hosts/stats.erawanarifnugroho.com

Jika berhasil, maka akan muncul hasilnya, dan selanjutnya tinggal diseting untuk Cron jobnya.

 

Setting Cron untuk Awstats

Saya set cronjob agar running setiap jam, dan berikut adalah contohnya

 

 

Semoga bermanfaat, dan silakan dilakukan konfigurasi sesuai dengan kebutuhan.

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *