thaiall logomy background

ลีนุกซ์ (Linux) : superuser

my town
หน้าหลัก | ลีนุกซ์คืออะไร | แนะนำหนังสือ | superuser | บันทึกปัญหา |
 0972
9.72 ติดตั้ง squid เป็น Proxy server ที่ 3128
: โปรแกรมนี่จะทำให้ความเร็วในการให้บริการ internet โดยรวมขององค์กรดีขึ้น ถ้าปฏิบัติตามระเบียบในการใช้ proxy
    ระเบียบการใช้ proxy
  1. เมื่อติดตั้ง squid ลงไปใน linux server ขององค์กรแล้ว ท่านก็จะได้เครื่อง proxy server ขึ้นมา 1 ตัว
  2. ไปกำหนดในเครื่องทุกเครื่องให้มองมาที่ proxy server ตัวนี้ เช่น www.isinthai.com บน port 3128 อย่ากำหนดมาที่นี่นะครับ เพราะจะทำให้เครื่องท่าน เปิดเว็บช้าโดยใช่เหตุ แต่ถ้าเครื่องของท่านตั้งอยู่ในเครือข่ายของโยนก นั่นจะเป็นอะไรที่ถูกต้อง
  3. หลังจากกำหนด proxy ให้ชี้ไปที่ www.isinthai.com อย่างถูกต้องแล้ว ทุกครั้งที่เปิดเว็บด้วย browser จะวิ่งไปที่เครื่องนั้นก่อน เพื่อตรวจว่า เว็บที่ขอเปิดเคยเปิดหรือไม่ ถ้าเคยเมื่อไม่นานนี้ ก็จะไม่ออกไปนอกเครือข่าย แต่จะเอาข้อมูลจาก proxy มาให้ท่าน ทำให้ไม่ต้องออกไปนอกเครือข่าย โดยไม่จำเป็น

ขั้นตอนข้างล่างนี้ อาจไม่จำเป็น ต้องทำทุกขั้นตอน ถ้าตอน install linux ได้เลือก squid หรือ everything ก็ไม่จำเป็นต้อง ลงโปรแกรมอีกรอบ เพียงแต่เข้าไป set up แฟ้ม squid.conf ใน /home/squid/etc/squid.conf หรือ /etc/squid/squid.conf แต่ถ้าเปลี่ยนใจต้องการ ลง squid ใหม่ แทนที่จะใช้ตัวที่ติดตั้งมาก็ลบตัวเดิมออกด้วยคำสั่ง rpm -e squid-2.3.STABLE1-5 เพราะผมใช้คำสั่ง rpm -qa|grep squid แล้วพบว่า install มาตอนติดตั้ง linux ครับ (squid-2.3-200103110000-src.tar.gz ขนาด 971,877 byte)
ติดตั้ง squid เพื่อทำให้ server เป็น proxy สำหรับองค์กร ที่ต้องการลดปัญหาคอขวด มีบทความแนะนำที่ http://www.thailinux.com/1999/04/18/topic1.html คุณ new way เขียนได้ละเอียดดีมาก ต้องยกนิ้วให้ครับ ซึ่งแนะนำให้ Download squid ของ http://squid.nlanr.net/Squid/ เมื่อลง squid ตามขั้นตอนแล้ว มี จุดที่ต้องแก้ไขในแฟ้ม ~/etc/squid.conf คือ cache_effective_user squid และ cache_effective_group squid และ cache_peer www.isinthai.com parent 3128 3130 และ http_access allow all
ดู log file ของ squid ที่ห้อง ~/logs ในแฟ้ม cache.log (ต้องใช้ user squid ในการ set squid ตลอดนะครับ) โดยใช้คำสั่ง tail -f access.log และสามารถอ่านรายละเอียด การกำหนดเพิ่มเติม ได้ที่ http://www.squid-cache.org/Doc/Hierarchy-Tutorial/
    ขั้นตอนการติดตั้ง squid ให้เครื่องเป็น proxy server http://www.thailinux.com/1999/04/18/topic2.html
    su
    adduser squid
    passwd squid
    su squid (ไม่ใช้ user squid ก็ได้ แต่ถ้าใช้ดูด้วยว่า gcc เปิดหรือไม่)
    cd /home/httpd/html/thaiall
    tar xfvz squid-2.3-200103110000-src.tar.gz
    cd squid-2.3-200103110000
    ./configure --prefix=/home/squid
    make all
    make install (แปลกมากที่ บรรทัดนี้ error แต่ก็ไม่เป็นไร เพราะใช้งานได้ปกติ)
    cd /home/squid/etc
    pico squid.conf
    
      # Detail in file /home/squid/etc/squid.conf หรือ /etc/squid/squid.conf http_port 3128 cache_peer www.isinthai.com parent 3128 3130 cache_mem 8 MB cache_swap_low 90 cache_swap_high 95 maximum_object_size 4096 KB minimum_object_size 0 KB ipcache_size 1024 ipcache_low 90 ipcache_high 95 cache_dir ufs /home/squid/cache 100 16 256 cache_access_log /home/squid/logs/access.log cache_log /home/squid/logs/cache.log cache_store_log /home/squid/logs/store.log refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 563 acl Safe_ports port 80 21 443 563 70 210 1025-65535 acl Safe_ports port 280 acl Safe_ports port 488 acl Safe_ports port 591 acl Safe_ports port 777 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 all icp_access allow all miss_access allow all cache_effective_user squid cache_effective_group squid
    ทดสอบการทำงานของ squid
    cd /home/squid/bin หรือ /usr/sbin
    squid -z สร้าง swap directory
    squid สั่ง start manual
    ps aux|grep squid  ดูว่า squid ทำงานใน process หรือไม่
    cd /home/squid/logs ห้องนี้เก็บ ผลการทำงานเมื่อใช้ squid
    tail -f access.log เมื่อมีคนเปิดเว็บแล้วใช้บริการ squid จะมีผลต่อแฟ้มนี้
    
    วิธีทำให้ทุกครั้งที่เปิดเครื่องแล้ว run squid อัตโนมัติ หรือปรับปรุง
    # เพิ่มบรรทัดข้างล่างนี้ไปในแฟ้ม /etc/rc.d/rc.local
    su -c "nohup /home/squid/bin/squid&" squid
    หรือ
    su -c "nohup /usr/sbin/squid&" squid
    
    # เมื่อปรับค่า เช่นขนาดของ cache ใน /home/squid/etc/squid.conf หรือ /etc/squid/squid.conf แล้วต้องทำบรรทัดข้างล่างนี้ เพื่อ update ค่าต่าง ๆ ใหม่ squid -k reconfigure
    # แสดง option ของ squid ให้พิมพ์ว่า squid -k

---
สารบัญ
บทที่ 9 : การบริหารระบบ โดย Super User
9.1 กำหนด IP address และ host name
9.5 Shell script เพิ่มผู้ใช้ _crt
9.6 Shell script ลบผู้ใช้
9.9 แก้ไข aliases ของ user account
9.10 เพิ่ม IP ใน Server ตัวเดียวด้วย IFCONFIG
9.11 เพิ่ม Virtual hosts
9.12 ตัวอย่าง router configuration และการ block port
9.50 ความผิดพลาด
9.52 ปรับระบบให้แข็งแรง
9.53 การทำ restricted shell
9.54 ติดตั้ง TCPWrapper เพื่อตรวจสอบ IP เครื่องต้นทาง
9.55 Network security
9.56 Procmail เพื่อกรอง spam mail และ junk mail
9.58 โปรแกรมภาษา c เพื่อสร้าง crypt ให้ shadow
9.59 ลีนุกซ์บนวินโดวส์ ด้วย cygwin (Unix Simulator)
9.61 ลืมรหัสผ่านของ root
9.62 แก้ไข httpd.conf เพื่อแก้ปัญหาของ web server
9.63 วิธีเปิดบริการ FTP server ด้วย vsftpd
9.64 วิธีเปิดบริการ homepage ให้ ~username ใน linux
9.65 วิธีเปิดบริการ samba
9.66 วิธีเปิดบริการ DNS server
9.67 ติดตั้งโปรแกรมสำหรับ Free hosting ด้วย easyhost_free.zip by CyberScript
9.68 ติดตั้งโปรแกรมสำหรับ Web-based mail ด้วย uebimiau-2.7.2-any.zip
9.69 ติดตั้ง DHCP server แจก Dynamic IP
9.71 ติดตั้ง Web Mail ของ Adjeweb หรือ Squirrelmail
9.72 ติดตั้ง squid เป็น Proxy server ที่ 3128
9.73 เพิ่ม incoming ในบริการ ftp
9.74 User authentication ด้วย .htpasswd + .htaccess
9.75 เปิดบริการ SSI (Server Side Include)
9.76 การติดตั้ง Radius
9.77 ติดตั้ง Modem สำหรับให้บริการเรียกเข้ามา
9.78 SMTP สำหรับ outgoing ของ Outlook ..
9.79 ติดตั้ง SSL (Secure Sockets Layer)
9.95 การย้ายระบบ user จากเครื่องหนึ่งไปอีกเครื่องหนึ่ง
9.96 วิธี copy server หรือ host(Backup)
9.97 Server ตัวนี้ให้บริการอะไรได้บ้าง
9.98 ขั้นตอนการทำ server ตัวนี้
9.99 การบำรุงรักษา และตรวจสอบ
Thaiall.com