Wednesday, February 6, 2008

Advanced Web Statistics

สวัสดีครับ หากท่านเป็นคนหนึ่งที่ต้องดูแลเว็บไซต์ให้กับหน่วยงานหรือองค์กรต่าง ๆ สิ่งหนึ่งที่ขาดเสียมิได้ คือการทำ Counter เพื่อดูจำนวนการเข้าเยี่ยมชมเว็บไซต์ของท่าน แต่ในปัจจุบันเราไม่ต้องมาเสียเวลานั่งเขียน Script เองแล้วครับ(เวลามันน้อย ไม่ใช่ขี้เกียจนะก๊าบ) เพราะมีโปรแกรมที่ทำงานคล้าย ๆ กับที่ผมได้กล่าวมาข้างต้น ที่ใช้กันในปัจจุบันก็มีหลายตัวนะครับ เช่น Webalizer, HitBox เป็นต้น แต่วันนนี้ผมจะขอแนะนำการติดตั้ง AWStats ซึ่งเป็น OpenSource สามารถใช้งานได้ฟรี(เจ๋งม๊ากมาก) และได้รับความนิยมมากในปัจจุบัน ในการทดสอบการติดตั้งครั้งนี้ ผมใช้ FreeBSD5.4 เป็นฐานปฏิบัติการนะครับ
System Requirement.
1.สำหรับเครื่องที่จะติดตั้ง AWStats เราต้องติตตั้ง Apache+PHP เพื่อทำให้เครื่องนั้นให้บริการ Web Server ก่อนนะครับ ส่วน MySQL ไม่ต้องครับเนื่องจาก AWStats จะไปอ่านค่าต่าง ๆ จาก httpd-access.log
2. หากต้องการติดตั้งผ่าน ports ต้องเชื่อมต่ออินเตอร์เน็ตไว้ด้วยนะครับ(เป็นวิธีที่ผมใช้ในการทดลองครั้งนี้)
--พร้อมแล้วก็ลุยกันเลยครับ--
Step 1. #cd /usr/ports/www/awstats (ใช้คำสั่ง cd เพื่อเข้าไปยัง directory ดังกล่าว)

Step 2. #make install (ใช้คำสั่ง make install เพื่อติดตั้ง awstats)
---รอสักครู่ใหญ่ ๆ เพราะ FreeBSD กำลังไปดาวน์โหลด packet มาติดตั้ง---

Step 3. เข้าไปแก้ไขไฟล์ httpd.conf ที่ /usr/local/etc/apache2 แล้วเพิ่ม Script ตามที่ระบบแนะนำหลังติดตั้งเสร็จ ดังนี้
Alias /awstatsclasses "/usr/local/www/awstats/classes/"
Alias /awstatscss "/usr/local/www/awstats/css/"
Alias /awstatsicons "/usr/local/www/awstats/icons/"
ScripAlias /awstats/ "/usr/local/www/awstats/cgi-bin/"
(เพิ่มต่อท้ายบรรทัดที่เขียนว่า Alias /icons/ "/usr/local/www/icons/" นะครับ)

---ถัดมา เพิ่ม Script เหล่านี้ต่อเข้าไป---


---ถัดมา ค้นหาคำว่า .cgi แล้วเอาเครื่องหมาย # ออก และเพิ่ม .pl ต่อท้ายเข้าไป ดังนี้---
AddHandler cgi-script .cgi .pl
---เรียบร้อยแล้วก็บันทึก แล้วออกมาเลยครับ---
***หลังการแก้ไข Step 3 อย่าลืม restart service apache นะครับ***
#apachectl restart(แล้ว enter ไปเลยครับ)

Step 4. #cd /usr/local/www/awstats/cgi-bin (enter เข้าไปเลยครับ อย่ารอช้า อิอิ..)

Step 5. #cp awstats.model.conf awstats.YourIPAddress.conf
---ใช้คำสั่ง cp เพื่อ copy ไฟล์(ถ้าใน windows ก็คล้าย ๆ กับ Save as ครับ) ในขั้นตอนนี้เราต้องใส่ ip address ของเครื่องเราลงไป เช่น awstats.192.168.1.2.conf เป็นต้น---

Step 6. ทำการแก้ไขไฟล์ awstats.YourIPAddress.conf โดยใช้ editor ที่ท่านถนัดแล้วกันครับ(ผมใช้ vi)
---แก้ไขค่าต่าง ๆ ให้สอดคล้องกับเครือข่ายที่ท่านใช้งานอยู่ ดังนี้---
LogFile="/var/log/httpd-access.log"
SiteDomain="YourIpAddress"
---เรียบร้อยแล้วบันทึก ออกมาเลยครับ---

Step 7. #cd /usr/local/www/awstats/cgi-bin

Step 8. #./awstats.pl -config=YourIpAddress -update (ใช้คำสั่ง ./awstat.pl ตามด้วยพารามิเตอร์ต่าง ๆ เพื่อสร้างรายงานจากไฟล์ httpd-access.log) ระหว่างนี้ก็จิบกาแฟรอไปก่อนครับ

Step 9. #cd /usr/local/www/awstats/cgi-bin

Step 10. #chmod 755 awstats.pl

Step 11. ใช้เครื่องลูกข่ายทดสอบการทำงานโดยเรียกไปที่ ip ของเซิร์ฟเวอร์ที่เราได้ติดตั้ง awstats ไปเมื่อสักครู่ เช่น http://192.168.1.2/awstats/awstats.pl

หากทดสอบการใช้งานแล้วมี error แสดงออกมาก็แก้ปัญหาตามที่ error นั่นแหล่ะครับ
ติดตั้งครั้งแรกอาจจะงง ๆ สักหน่อยนะครับ แต่ก็ลองดู....(รับรอง awstats เจ๋งจริง Confirm)

1 comment:

Mr.Khaweewat Jung-in said...

Tips
หากต้องการให้ awstats สร้างรายงานให้ทุกวันเพื่อเป็นการ update กราฟ ก็ให้ไปเพิ่มคำสั่งต่อไปนี้ ที่ /etc/crontab
0 23 * * * root /usr/local/www/awstats/cgi-bin/awstats.pl -config=YourIPAddress -update
จากนั่นก็บันทึกออกมาเลยครับ
***อย่าลืมไปเพิ่ม cron_enable="YES" ที่ /etc/rc.conf ด้วยหล่ะ