เอามาเก็บไว้ที่นี่ด้วย พอดีไปเขียนไว้ linuxthai มาปีที่แล้ว ลืมไปแล้ว...เผื่อไว้ ๆ ลืม ๆ จะได้มาค้นหาได้
เอามาแบ่งปันกันครับ ผิดถูกประการใดขออภัยด้วยนะครับ
ตัวนี้ผมลองทำบน ClearOS 5.1 SP1 นะครับเป็นการเก็บ access.log ของ squid ให้ไปเก็บใน mysql แทนนะครับ..
ก่อนอื่นก็ไปโหลด plugin ตัวนี้มาก่อนเลยครับ
http://www.visolve.com/squid/squid-mysqllog.phpโหลดมาเสร็จก็จัดการ แตกไฟล์..ให้เรียบร้อย..
ให้ทำการแก้ไขไฟล์ makefile
PREFIX=/usr/local/test >> ที่อยู่ของ plugin
CC = gcc >> Compiler
ต่อมาให้แก้ไขไฟล์ db.cf hostname localhost >>
IP ของ MySQL Server user root >>
MySQL user password squid >>
Mysql password database squidlog_db >>
Database ที่จะใช้ mysqld_socket /tmp/mysqld.sock >>
ที่อยู่ของ mysql.sock table access_log >>
ชื่อตารางที่ใช้เก็บ logต่อมา..ให้สร้าง database หรือจะใช้ database ที่มีอยู่แล้วแล้วทำการสร้างตาราง โดยใช้ SQL Script ที่ชื่อ tbl.sql
$ mysql -pYOUrPassWorD databaseName < tbl.sqlขั้นตอนต่อไปก็ทำการ Compile เจ้า
logmysqldb_daemon กันนะครับ
โดยการสั่ง
make และตามด้วย
make installสุดท้ายแล้ว..แก้ไข squid.conf โดยการเพิ่มค่า config ตรงนี้ลงไปนะครับlogformat mysql_columns %ts.%03tu %tr %>a %Ss %Hs %<st %rm %ru %Sh %un %<A %mt
access_log daemon:
/usr/local/ldaemon/db.cf mysql_columns
logfile_daemon
/usr/local/ldaemon/logmysqldb_daemon ตรงที่ผมเน้นสีไว้ คือ
PREFIX ที่เราตั้งค่าใน
Makefile นะครับ
เสร็จแล้วทำการ service squid restart เป็นอันจบครับ...
การแก้ไข Makefileต้องลง gcc ก่อนครับ..ตัว compiler$ yum install gccPREFIX=/usr/local/mysqlsquid
>>ชื่อ Directory ที่จะนำ Execute file ไปไว้CC = gcc
>> Compiler gccCFLAGS = -g -Wall -I/usr/local/include
>>ไม่ต้องเปลี่ยนLDFLAGS = -L/usr/lib/mysql -lmysqlclient
>>ไม่ต้องเปลี่ยนMYSQL_OBJS = logmysqldb_daemon.o confparser.o
>>ไม่ต้องเปลี่ยนINSTALL = /usr/bin/install
>>ไม่ต้องเปลี่ยนCONF = db.cf
ตามด้วยคำสั่ง$ makeแล้วค่อย$ make install