• เดินต่อไป
  • ranking : สมาชิกทั่วไป
  • email : mailmyhome@sanook.com
  • วันที่สร้าง : 2007-09-16
  • จำนวนเรื่อง : 11
  • จำนวนผู้ชม : 3425
  • จำนวนผู้โหวต : 6
  • ส่ง msg :
more
บันทึกกันลืม งานคอมพิวเตอร์
บันทึกกันลืม งานคอมพิวเตอร์
Permalink : http://www.oknation.net/blog/nukes
วันพฤหัสบดี ที่ 22 พฤศจิกายน 2550
การติดตั้ง Squid เพื่อใช้สำหรับเป็น Proxy (ตอนที่ 1)
Posted by เดินต่อไป , ผู้อ่าน : 414 , 17:14:13 น.  
พิมพ์หน้านี้


เมื่อวานนี้ ได้โทรคุยกับพี่เก้ง เรื่องจะขอไปดูงาน HOSxP ที่นั่น ในส่วนของงานโภชนาการ ปรากฎว่าพี่เค้าบอกว่า ยังไม่ได้ implement อะไรเท่าไหร่เลย แต่จะมาดูก็ไม่เป็นไร ดูในภาพรวมๆ ทั้งระบบน่าจะดี และขอให้เอาของแถมติดไปด้วย นั่นคือระบบ proxy ผมก็เลยบอกว่ายินดีครับ จะเอา Squid ไป implement ให้ พร้อมทั้ง script ต่างๆ ที่ใช้ในการบริหารระบบ นัดกันเดือนหน้า

วันนี้ งานเลิกแล้ว พอมีเวลาเล็กน้อย จึงมาดูว่าตอนนี้ Squid ไปถึงรุ่นไหนแล้ว จะได้มา refresh วิธีการติดตั้งก่อนจะเอาไป implement ให้พี่เค้า รวมทั้งจะได้ปัดฝุ่น scripts ต่างๆ ที่เคยทำไว้เละๆ เทะๆ ให้เป็นเรื่องเป็นราวมากกว่านี้ ใช้เวลาตอนเย็นๆ มีเวลาค่อยๆ มาเขียนทีละนิดทีละหน่อย

ณ เวลานี้ รุ่นที่ stable ที่สุดก็คือรุ่น 2.6 stable 16 ไปดูได้ที่เว็บของ Squid
http://www.squid-cache.org

1. โหลด Squid

ไปดาวน์โหลดมา ใน shell ของ linux ใช้ wget ในการดาวน์โหลด ผมเลือกโหลดจาก ออสเตรเลีย

# wget -b http://mirror.aarnet.edu.au/pub/squid/squid-2/STABLE/squid-2.6.STABLE16.tar.bz2

ที่เลือกไฟล์เป็น bz2 ก็เพราะว่ามันตัวเล็กกว่า tar.gz แต่จะเลือกตัวไหน ก็เหมือนกัน แป๊บเดียวก็โหลดเสร็จ ประมาณ 1.2 เม็กกว่าๆ เห็นจะได้

2. Compile binary

คราวนี้ ก็แตกไฟล์เพื่อทำการคอมไพล์ซอร์สโค๊ด ว่าไปตามนี้เลย

# tar -jxvpf squid-2.6.STABLE16.tar.bz2
# cd squid-2.6.STABLE16

ติดตั้งไปที่ /usr/local ตามค่ามาตรฐาน

./configure --prefix=/usr/local/squid
make all
make install

เป็นอันเสร็จสิ้นกระบวนการอีกขั้นหนึ่ง

ทีนี้ ระบบที่เราตั้งใจไว้ ก็คือต้องการให้ เวลาคนในองค์กร จะใช้งานอินเตอร์เน็ต เปิด browser มาเรียกเข้าเน็ตปุ๊บ จะต้องมีการเรียกถาม log-in กับ password ก่อน เพื่อจะได้รู้ว่าใครมาใช้ (แล้วตรวจสอบได้ว่า) ใช้ไปที่ไหนบ้าง ยิ่งมีเรื่อง พรบ.การทำความผิดทางด้านคอมพิวเตอร์ด้วย ผู้บริหารก็ต้องระวังตัวใครใช้เน็ตในทางเสียๆ หายๆ บ้าง อันนั้น พี่เก้ง Request มากๆ ขอเก็บ log file ไว้หลายๆ วันด้วย เผื่อมีคนใน รพ. ไปโพสต์ด่าใครเข้า จะได้ตามแกะมาดู

ก็ต้องทำระบบ Authenticate คือต้องมีระบบความปลอดภัย เอาที่ง่ายๆ ที่สุด ผมก็เลือกใช้ NCSA Authenticate

ให้เข้าไปดูที่ directory (ซอร์สโค๊ด) /helpers/basic_auth/NCSA

ให้ทำการ compile ตัวโปรแกรมตรวจสอบชื่อ กับรหัสผ่าน ncsa_auth ให้เรียบร้อย โดยพิมพ์

make
make install

แค่นั้น ก็จะได้ไฟล์เล็กๆ ที่ทำงานได้ชื่อ ncsa_auth ซึ่งจะถูกติดตั้งไปที่ /usr/local/squid/libexec/

3. Initialize

จากนั้นให้สร้าง cache ให้ squid เก็บไฟล์จากเว็บต่างๆ ไว้ที่ server จะให้ cache มีขนาดเท่าไหร่ ก็ตั้งค่าได้ที่ squid.conf ค่าตั้งต้นคือ 100 Mb ดูได้ที่ /usr/local/squid/etc/squid.conf โดยค้นหาคำว่า cache_dir จะพบว่าเป็นดังนี้

#
#Default:
# cache_dir ufs /usr/local/squid/var/cache 100 16 256

ตรงเลข 100 นั้น เราเปลี่ยนแปลงได้ ว่าจะให้ cache มีขนาดเท่าไหร่ เช่น 1024 (ประมาณ 1 Gb) เปลี่ยนแล้ว อย่าลืมเอา comment ออกด้วยนะครับ สำหรับ directory ที่ใช้เก็บ cache ก็สามารถเปลี่ยนได้ตรงบรรทัดนี้แหละ ว่าจะให้ไปเก็บไว้ที่ไหน เช่น อาจจะเอาไปไว้คนละ partition

ถ้าใช้ค่าตั้งต้น มันจะไปเก็บไว้ที่ /usr/local/squid/var/cache ซึ่งยังไม่มี directory นี้ ให้ไปสร้างก่อน แล้วทำการทำการอนุญาตให้ cache เป็น nobody (ค่าตั้งต้น) แล้วสร้าง directory cache ย่อยโดยเรียก squid -z


mkdir /usr/local/squid/var/cache
chown nobody:nobody /usr/local/squid/var/cache
chown nobody:nobody /usr/local/squid/var/logs
/usr/local/squid/sbin/squid -z

มันจะทำการสร้าง directory ย่อยไว้สำหรับเก็บไฟล์ต่างๆ ไว้ที่ cache

เริ่มต้นเรียก squid ให้ทำงานได้เลย

/usr/local/squid/sbin/squid -D

(ตัว -D หมายความว่า ไม่ต้องทดสอบ Domain Name Server ตอนเริ่มต้น)

เมื่อเสร็จแล้ว ลองไปตรวจสอบดูว่า ทุกอย่างปกติ เรียบร้อยหรือไม่ โดยไปดูที่ log files ถ้าทุกอย่างโอเค ก็เป็นอันว่า squid ทำงานได้เรียบร้อยแล้ว ที่เหลือ เรามาปรับค่าของ squid ว่าจะให้มันทำงานอย่างไร ต่อไป ....


แสดงความคิดเห็น

  เข้าสู่ระบบ   |   สมัครสมาชิก
ชื่อ:  
อีเมล์:  
เว็บไซต์:  
ความคิดเห็น:  
   

ถึง บล็อกเกอร์ ทุกท่าน โปรดอ่าน
   ด้วยทาง บริษัท จีเอ็มเอ็ม แกรมมี่ จำกัด (มหาชน) ได้ติดต่อขอความร่วมมือ มายังเว็บไซต์และเว็บบล็อกต่าง ๆ รวมไปถึงเว็บบล็อก OKnation ห้ามให้มีการเผยแพร่ผลงานอันมีลิขสิทธิ์ ของบริษัท จีเอ็มเอ็ม แกรมมี่ฯ บนเว็บ blog โดยกำหนดขอบเขตของสิ่งที่ห้ามทำ และสามารถทำได้ ดังนี้
ห้ามทำ
- การใส่ผลงานเพลงต้นฉบับให้ฟัง ทั้งแบบควบคุมเพลงได้ หรือซ่อนเป็นพื้นหลัง และทั้งที่อยู่ใน server ของคุณเอง หรือ copy code คนอื่นมาใช้
- การเผยแพร่ file ให้ download ทั้งที่อยู่ใน server ของคุณเอง หรือฝากไว้ server คนอื่น
สามารถทำได้
- เผยแพร่เนื้อเพลง ต้องระบุชื่อเพลงและชื่อผู้ร้องให้ชัดเจน
- การใส่เพลงที่ร้องไว้เอง ต้องระบุชื่อผู้ร้องต้นฉบับให้ชัดเจน
จึงเรียนมาเพื่อโปรดปฎิบัติตาม มิเช่นนั้นทางบริษัท จีเอ็มเอ็ม แกรมมี่ฯ จะให้ฝ่ายดูแลลิขสิทธิ์ ดำเนินการเอาผิดกับท่านตามกฎหมายละเมิดลิขสิทธิ์
OKNATION



กฎกติกาการเขียนเรื่องและแสดงความคิดเห็น
1 การเขียน หรือแสดงความคิดเห็นใด ๆ ต้องไม่หมิ่นเหม่ หรือกระทบต่อสถาบันชาติ ศาสนา และพระมหากษัตริย์ หรือกระทบต่อความมั่นคงของชาติ
2. ไม่ใช้ถ้อยคำหยาบคาย ดูหมิ่น ส่อเสียด ให้ร้ายผู้อื่นในทางเสียหาย หรือสร้างความแตกแยกในสังคม กับทั้งไม่มีภาพ วิดีโอคลิป หรือถ้อยคำลามก อนาจาร
3. ความขัดแย้งส่วนตัวที่เกิดจากการเขียนเรื่อง แสดงความคิดเห็น หรือในกล่องรับส่งข้อความ (หลังไมค์) ต้องไม่นำมาโพสหรือขยายความต่อในบล็อก และการโพสเรื่องส่วนตัว และการแสดงความคิดเห็น ต้องใช้ภาษาที่สุภาพเท่านั้น
4. พิจารณาเนื้อหาที่จะโพสก่อนเผยแพร่ให้รอบคอบ ว่าจะไม่เป็นการละเมิดกฎหมายใดใด และปิดคอมเมนต์หากจำเป็นโดยเฉพาะเรื่องที่มีเนื้อหาพาดพิงสถาบัน
5.การนำเรื่อง ภาพ หรือคลิปวิดีโอ ที่มิใช่ของตนเองมาลงในบล็อก ควรอ้างอิงแหล่งที่มา และ หลีกเลี่ยงการเผยแพร่สิ่งที่ละเมิดลิขสิทธิ์ ไม่ว่าจะเป็นรูปแบบหรือวิธีการใดก็ตาม 6. เนื้อหาและความคิดเห็นในบล็อก ไม่เกี่ยวข้องกับทีมงานผู้ดำเนินการจัดทำเว็บไซต์ โดยถือเป็นความรับผิดชอบทางกฎหมายเป็นการส่วนตัวของสมาชิก
คลิ้กอ่านเงื่อนไขทั้งหมดที่นี่"
OKnation ขอสงวนสิทธิ์ในการปิดบล็อก ลบเนื้อหาและความคิดเห็น ที่ขัดต่อความดังกล่าวข้างต้น โดยไม่ต้องชี้แจงเหตุผลใดๆ ต่อเจ้าของบล็อกและเจ้าของความคิดเห็นนั้นๆ
   

กลับไปหน้าที่แล้ว กลับด้านบน