SUSE LINUX Enterprise & openSUSE Community
มกราคม 18, 2019, 10:20:08 AM *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
ข่าว:
 
   หน้าแรก   ช่วยเหลือ ค้นหา เข้าสู่ระบบ สมัครสมาชิก  

[Why we need your support] SUSE and openSUSE are trademarks of Attachmate Group, Inc. - WE ARE NOT IN ANY WAY ASSOCIATED WITH SUSE AND ATTACHMATE GROUP. SUSEThailand.com is a SUSE Linux user and community found in Thailand but not limited to other country suse linux user to join in. Currently active contents (How to's, Scripts, Tips, Tricks, Tutorials, Linux Command Line, and Troubleshooting) this suse linux how to's and expert support are SUSE Linux.
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน
หัวข้อ: ติดตั้ง squid3 บน openSUSE 12.1  (อ่าน 1627 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« เมื่อ: พฤษภาคม 24, 2012, 10:01:43 PM »


How to installing squid3 on openSUSE 12.1

1. ติดตั้ง Squid3 ผ่าน zypper (คล้ายกับคำสั่ง yum นั้นแหละครับ)

โค๊ด:
zypper install squid3 squidGuard yast2-squid

2. ตรวจสอบแพคเกจ

โค๊ด:
rpm -qa | grep squid
squidGuard-1.4-14.1.3.i586
squid3-3.1.16-2.3.1.i586
yast2-squid-2.21.2-2.1.2.i586

3. คอนฟิก Squid3

พาทไฟล์คอนฟิกจะเก็บที่ /etc/squid/squid.conf

- แสดงค่าคอนฟิกเริ่มต้น

โค๊ด:
grep -v ^# /etc/squid/squid.conf | grep -v ^$

โค๊ด:
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 3128
coredump_dir /var/cache/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

- แก้ไขไฟล์คอนฟิก

โค๊ด:
vi /etc/squid/squid.conf

ออก comment ออกหน้าบรรทัด #cache_dir aufs /var/cache/squid 100 16 256

โค๊ด:
...
# Uncomment and adjust the following to add a disk cache directory.
cache_dir aufs /var/cache/squid 100 16 256
...

เพิ่มบรรทัด

โค๊ด:
# Log
access_log /var/log/squid/access.log squid

- สตาร์ squid เซิอร์วิส

โค๊ด:
systemctl start squid.service

- ตรวจสอบสถานะ

โค๊ด:
systemctl status squid.service

- ตรวจสอบ Logfile

โค๊ด:
tail -f /var/log/squid/access.log

โค๊ด:
1337849439.204    188 192.168.1.100 TCP_MISS/200 9796 GET http://www.susethailand.com/suseforum/ - DIRECT/122.155.168.150 text/html
1337849439.766    136 192.168.1.100 TCP_MISS/200 871 GET http://tracker.stats.in.th/tracker.php? - DIRECT/203.146.170.203 text/javascript
1337849454.428    149 192.168.1.100 TCP_MISS/200 525 GET http://www.suse.in.th/ - DIRECT/122.155.1.8 text/html
1337849454.872     73 192.168.1.100 TCP_MISS/200 17986 GET http://www.suse.in.th/favicon.ico - DIRECT/122.155.1.8 image/vnd.microsoft.icon
1337849465.214  10455 192.168.1.100 TCP_MISS/200 30716 GET http://www.susethailand.com/ - DIRECT/122.155.168.150 text/html
1337849465.516    131 192.168.1.100 TCP_MISS/200 1500 GET http://www.susethailand.com/plugins/system/cdscriptegrator/libraries/highslide/css/cssloader.php? - DIRECT/122.155.168.150 text/css


- แปลง Unix timestamp ใน Logfile

ซึ่งตัวเลขข้างหน้า "1337849438" นั้นหมายถึงเวลาในรูปแบบ Unix timestamps เรามาแก้ไขใหม่ให้ดูเข้าใจง่ายขึ้น
โดยค่าเริ่มต้นแล้วรูปจะเป็นดังด้านล่างนี้ (Squid3.1) ค่าเหล่านี้เป็น defaul จะไม่อยู่ในไฟล์คอนฟิก

โค๊ด:
logformat squid %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt
logformat squidmime %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt [%>h] [%<h]
logformat common %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st %Ss:%Sh
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh

ถ้าต้องการกำหนดค่าใหม่ก็เพิ่มบรรทัด เช่น อยากได้รูปแบบเวลาที่ดูง่าย

logformat custom <ว่าไปครับอยากได้แบบไหน>
access_log /var/log/squid/access.log custom


ดูการกำหนดค่าตัวแปรต่างๆ ได้ที่ Squid3 logformat

แต่กรณีที่เรายก log ไปยังเครื่อง Centralized Log Server (ก็ไม่ต้องแก้ไขอะไรในส่วนข้างบนที่กล่าวครับ) เพราะเครื่องมือ syslog viwer จะทำการแปลง timestamp ให้อยู่แล้ว


หรือหากต้องการ monitor ด้วยคำสั่งข้างล่างนี้

โค๊ด:
tail -f /var/log/squid/access.log | perl -p -e 's/^([0-9]*)/"[".localtime($1)."]"/e'

ผลลัพธ์ที่ได้

โค๊ด:
Thu May 24 16:13:22 2012].296     71 192.168.1.100 TCP_MISS/301 650 GET http://www.susethailand.com/suseforum - DIRECT/122.155.168.150 text/html
[Thu May 24 16:13:22 2012].500    199 192.168.1.100 TCP_MISS/200 9792 GET http://www.susethailand.com/suseforum/ - DIRECT/122.155.168.150 text/html

เป็นอันเสร็จสำหรับการติดตั้งและคอนฟิก squid3 สำหรับใช้งานเบื้องต้น


TIPS:

- การกำหนดค่า cache_mem โดยพารามิเตอร์ default กำหนดไว้เป็น cache_mem 256 MB หลักการ squid ต้องการแรม 100MB ต่อพื้นที่จัดเก็บแคช (cache storage) 1GB (ต้องใช้คำสั่ง free เพื่อตรวจสอบพื้นที่แรกที่เหลืออยู่หลังระบบทำงานแล้ว)

ตัวอย่าง สมมุติว่าเรามีแรมทั้งหมด 4GB บนเซิร์ฟเวอร์ (free ) และเซอร์วิสทุกอย่างกำลังทำงานอยู่ เราสามารถที่จะแบ่งแรก 1GB มาใช้คำนวณหาค่าเหมาะสมให้ cache_mem ได้อย่างสบาย และเก็บไว้ใช้กรณีสถานการณ์ฉุกเฉินบางโปรแซสทำงานอีกซัก 512MB  ดังนั้นหน่วยความจำที่เหลือกก็แบ่งไปให้ squid ซะ 2.5 GB

โค๊ด:
cache_mem 2500 MB

- ขนาด cache_dir

ตัวอย่าง เช่น กำหนด cache storage ไว้ที่ 50GB

รูปแบบ cache_dir STORAGE_TYPE DIRECTORY SIZE_IN_Mbytes L1 L2 [OPTIONS]

โดยที่ cached object ขนาดเท่ากับ 16KB

โค๊ด:
ufs /var/cache/squid 51200 32 512

หมายความว่า 51200x1024÷(32x512x16) = 200 ออบเจ็คแคชต่อไดเรกทอรี

- แยกพาร์ติชันสำหรับเก็บแคช เช่น /var/cache/squid และกำหนดออปชันใน fstab เป็นตามข้างล่างนี้

โค๊ด:
/dev/sdc1 /var/cache/squid   reiserfs defaults,notail,noatime 1 2
« แก้ไขครั้งสุดท้าย: พฤษภาคม 24, 2012, 10:08:56 PM โดย Sontaya » แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

(@)2007 SUSE Linux user community found in Thailand. This site is not an official openSUSE and SUSE website, and is not in any way affiliated with or endorsed by SUSE Linux GmbH or Novell. openSUSE and SUSE are trademarks of Novell, Inc. in the United States and other countries.
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.031 วินาที กับ 19 คำสั่ง (Pretty URLs adds 0.007s, 2q)