Download : Oops Proxy and BerkeleyDB.4.7 for ClarkConnect
Ton-Or — 16 April, 2009 - 18:51
Download : Oops Proxy and BerkeleyDB.4.7 for ClarkConnect
พอดีเห็นวันก่อนมีใน request ว่าขอ Oops Proxy ไหนๆ จะลบ image vmware ของ ClarkConnect แล้ว
(ตอนนี้เปลือง Hard Disk มากเพราะกดไปหลาย snapshot อยู่ - -')
จัดให้คาดว่าน่าจะเป็นตัว download ตัวสุดท้ายของ ClarkConnect จากทาง linux.blog
ตัว install คงไม่ได้ทำนะครับเพราะ file มันรวมอยู่ที่เดียวกันทั้งคู่ tar เอาแล้ว mv ไปไว้ได้เลย
การติดตั้ง BerkeleyDB ตัวนี้จะเป็น lib base ในการใช้งานของ program บางตัวตอนทำ oops เห็นว่าควรใช้ด้วยเลยทำไว้ให้ทีเดียวครับ
wget http://linux.blog.in.th/system/files/BerkeleyDB.4.7.ClarkConnect-4.3.tar.gz
tar zxvf BerkeleyDB.4.7.ClarkConnect-4.3.tar.gz
mv BerkeleyDB.4.7 /usr/local
cd /usr/local
ln -sf BerkeleyDB.4.7 BerkeleyDB
การติดตั้ง Oops Proxy
useradd Oops
wget http://linux.blog.in.th/system/files/oops-1.5.23.linux.blog.in.th.tar.gz
tar zxvf oops-1.5.23.linux.blog.in.th.tar.gzmv oops /usr/local
chown -R Oops /usr/local/oops/
chgrp -R Oops /usr/local/oops/
เวลา Oops ทำงานจะทำงานใน user Oops เหมือนกับ squid ที่ทำงานใน user squid แต่ของ squid จะปรับแก้ user run ได้ใน config แต่เจ้า Oops นี่ไม่ได้นะครับ
วิธีใช้งาน Oops ศึกษากันดูก่อนแล้วกันครับผมยังใช้ไม่เป็นเลย :P
file ที่ติดตั้งใช้งาน config จะอยู่ใน /usr/local/oops/ ทั้งหมดครับ
อ้างอิง
http://zipper.paco.net/~igor/oops.eng/download.html
http://www.oracle.com/technology/software/products/berkeley-db/index.html
จากที่ post ไว้ใน linuxthai
เข้าว่ากันว่าเอาไว้ช่วย load file ที่ยกเลิกลางคันไว้ต่ออืม คงมาจากกระทู้ talesrunner น่ะ น่าจะช่วยเก็บ patch talesrunner ได้เท่าที่อ่่าน faq ผ่านๆ ก็เหมือนๆ squid ตัวนึงนั่นเอง
เวลา จะใช้งาน ก็เปิด port อย่าไปชนกับ squid หล่ะ refer ของไทย ต้องสมัครสมาชิกน่ะ
ใครสมัครไว้แล้ว copy มาหน่อยสิ แว่วๆ ว่าของคุณ delphi เขียนไว้นะ
http://forum.systemnetworkcare.com/index.php?topic=90.0 refer ของไทย
พอดีผมชอบอ่านก่อนค่อยสมัครน่ะ web ไหนสมัครก่อนอ่านผมไม่เคยสมัครเลย
หรือจุดธูปเชิญคุณ delphi มาเขียนใหม่อีกทีสิผมลองหาในนี้แล้วไม่เจอน่ะ
Edit
!!!!อ่าน config มันก็ เข้าใจแล้วเหะ เหมือนๆ squid เลยน่ะครับ
อีกอย่างตัวที่ทำนี่ อัด log เข้า mysql ได้ตรงๆ เลยหล่ะ เพราะทำคู่กับ BerkeleyDB มาให้ด้วย
ลองเล่นกันดูครับเดี๋ยวรอ คุณ Muzazhi ทำ ตัว service ไว้สั่ง service oops restart stop ให้อีกทีแล้วกันครับ
file นี้ /usr/local/oops/oops.cfg
จากบทความเก่าของคุณ delphi จาก linuxthai นะครับ มีคนใจดี copy มาให้แล้ว
จากกระทู้ของท่าน delpi น่ะครับใน www.internetcafe.in.th
จะเห็นความแตกต่าง ระหว่าง ไฟล์ที่ไม่ได้โหลดด้วย IE นั้นก็คือ tr1.pkg กะ tr2.pkg (ไม่ไหวขี้เกียดโหลดแล้ว)
ส่วนไฟล์ tr3.pkg และ tr4.pkg ก็โหลดกับ IE ก่อนรอบนึง
เหตุผลก็คือว่า ถ้าเราไม่โหลดกะ IE ก่อนรอบนึง ตัวโปรแกรมเกมส์จะพยายามแตกไฟล์ tr1 tr2 tr3 และ tr4 ออกเป็นชิ้นส่วนย่อยๆ
เพราะว่า patch server ของ talesrunner นั้น ใช้ 3 ตัว ทำโหลดบาลานซ์กัน เผื่อลดการโหลดหนัก
จึงทำให้ squid ไม่เก็บไฟล์
root@ubuntu:~# nslookup trdownload.in.th
Server: 203.146.237.237
Address: 203.146.237.237#53Non-authoritative answer:
Name: trdownload.in.th
Address: 203.113.9.104
Name: trdownload.in.th
Address: 203.113.9.105
Name: trdownload.in.th
Address: 203.113.10.20
จะ เห็นได้ว่าตัวโหลด patch ของ talerunner เค้าออกแบบเรื่องของการแบ่งงานกันทำของ server ได้ดีมากครับ แต่วิธีการนี้มันเป็นปัญหากับ Squid ที่ไม่สามารถกำหนดให้มัน load แบบcontinue ไปเรื่อยๆ ได้ แต่ Squid จะใช้วิธี load มาเก็บใหม่จน size เท่ากับต้นทาง หลังจากที่อ่านเจอความเห็นของคุณ xxxkung ผมก็เลยเกิด idea อีกนั้นล่ะ 555+ ในเมื่อ Squid มันทำไม่ได้(ใครทำให้ squid load แบบต่อไฟล์ได้ก็เฉลยบ้างก็ได้นะครับ) ผมเลยไปหา Proxy ตัวอื่นมันมีความสามารถแบบนี้ ผมเลยมาเจอเจ้า oops พร้อมกับร้อง oops! ตามมัน ตัวที่ผมเคยเสนอแนวทางก่อนหน้านั้นซึ่งมันมี parameter อยู่ตัวหนึ่งคือ force_completion ตัวนี้ครับพระเอกตัวจริง แต่หลายๆท่านคงไม่อยากเอามันมาทดแทนเจ้าปลาหมึกสุดที่รักของท่าน แน่นอนครับ ผมก็ไม่อยากเอามาแทนโดยสิ้นเชิงเท่าไหร่ แต่เราจะให้มันทำงานร่วมกันโดยใช้ parameter parent ของ squid นะครับ
แล้วเข้าไปแก้ที่ไฟล์ /etc/oops/oops.cfg
โดยที่
http_port 3129 #--->เป็น port ที่ไม่ซ้ำใน squid
icp_port 3130 #--->เป็น port ที่ไม่ซ้ำใน squid เช่นกัน
mem_max 128m
# มีความหมายเท่ากับ maximum_object_size_in_memory ของ squid ครับ ที่ผมตั้งไว้เยอะเพราะไม่ต้องการให้ oops เก็บ cache ไว้ใน disk ครับdefault-expire-value 1ftp-expire-value 1max-expire-value 1#1 คือกำหนดแค่ 1 วันครับdefault-expire-interval 1#ด้านบนอันนี้คือ 1 ชั่วโมงครับforce_completion 1#พระเอกของเราครับมันจะเข้าไปอ่านใน mem_max ก่อนว่าไฟล์ที่ load เข้ามามีขนาดใหญ่สุดขนาดไหนครับ### If user-requestor aborted connection to proxy, but there was received more# then some percent ot the document - then continue.# default value - 75%##ด้านผมตั้งไว้ 1% พอครับ ถ้ารอให้ 75% ตาม default มัน talerunner ต้องโหลดใหม่แน่ๆ ครับ
maxresident 50m
#คล้ายกับ maximum_object_size ของ squid ครับสุดท้ายของการ config oops แบบฉบับผมครับ
ค้นหาบรรทัด
group paco {แล้วเข้าไปแก้สมาชิกในบรรทัด
networks 195.114.128/19 127/8 195.5.40.93/32 ;
โดยเพิ่ม localnetwork ของร้านท่าน ถ้าเป็น 192.168.1.0/24 ก็เพิ่มตามตัวอย่างนี้ครับ
networks 195.114.128/19 127/8 195.5.40.93/32 192.168.1.0/24 ;
ส่วน
storage {กำหนด size 0m ; พอครับ เพราะไม่ต้องให้มันเก็บเป็น disk cacheเสร็จก็ทำการ reload config โดยสั่ง
/etc/init.d/oops reload
เป็นการเสร็จการ config ของ oops ครับ
ต่อไปเราทำให้ squid ไปเกาะเจ้า oops ให้ช่วยงานก่อนนะครับ
โดยเข้าไปแก้ไฟล์ squid.conf โดยแก้ที่บรรทัด
cache_peer 127.0.0.1 parent 3129 3130 default no-query no-delay
แล้วก็ reconfig เป็นอันเสร็จเรียบร้อยแล้วครับ
ทดสอบดูโดยการ
tail -f /var/log/squid/access.log
ดูก็ได้ครับ
ปล. ใครเอาวิธีผมไปสอนหรือเขียนบทความหรือไปวางระบบต่อขอ เครดิตหน่อยนะครับ เว้นแต่ว่าคุณมั่นใจว่าคุณคิดเอง
หมายเหตุ
http://www.internetcafe.in.th/showthread.php?t=3334 link อ้างอิงของบทความด้านบน ข้อมูลไม่อยู่แล้วท่านใดมีก็เอามาใส่ให้หน่อยนะครับ
| Attachment | Size |
|---|---|
| BerkeleyDB.4.7.ClarkConnect-4.3.tar.gz | 8.73 MB |
| oops-1.5.23.linux.blog.in.th.tar.gz | 735.9 KB |
- 3089 reads

เสร็จก็ทำการ reload config โดยสั่ง
/etc/init.d/oops reload
พี่ Ton-or ครับ
ผมทำตามตั้งแต่ต้นแต่มาติดตรงนี้คือ file ที่แก้ไขอยู่ที่ /user/local/oops/oops.cfg
1. แต่ทำไมเรามา reload ที่ /etc/ini.d/oops ผมลอง ls ดูแล้วก็ไม่เห็นมี oops อยู่ที่ /etc/ini.d/ เลยครับ
ลองใช้คำสั่ง /etc/init.d/oops reload มันตอบรับว่า
-bash: oops: command not found
2. ไปดูที่ /usr/local โดย ใช้ winscp มองไม่เห็น dir oops แต่ดูผ่าน putty ก็มองเห็น อยากทราบวิธีทำให้มองเห็นใน putty ครับ
3. ตรงที่บอกว่า "แล้วเข้าไปแก้ไฟล์ /etc/oops/oops.cfg ผมหาไม่เจอแต่ผมได้เข้าไปแก้ใน /usr/local/oops/oops.cfg ตรงนี้ผิดหรือถูกอย่างไรครับ
4. ผมเห็นใน oops.cfg มี
nameserver 195.114.128.50
nameserver 193.219.193.130
ผมแก้เป็น cc gateway ของผม
nameserver 10.0.0.2
# nameserver 193.129.193.130
ถูกไหมครับ