Archive for the ‘เพนกวิ้น’ Category

Thursday, August 28th, 2008

ทำไว้เมื่อสองหรือสามอาทิตย์ก่อนไม่แน่ใจแต่ไม่ได้จดไว้ เดี๊ยวลืมวันนี้ว่างๆ เลยจดไว้ซะหน่อย(ว่างจริงหรอฟะ) สำหรับปัญหาที่ทำให้ต้องติดก็คือ เวลามีคนมาโหลดไฟล์ใหญ่ๆ จากเซิร์ฟเวอร์มากๆ เนี๊ยะเว็บเซิร์ฟเวอร์ที่แสนดีอย่าง Apache มันก็จะอืดลงไปทันตาเห็น คือเข้าเว็บที่เป็น php ธรรมดากว่าจะประมวลผลแล้วส่งกลับมาต้องรอเป็นนาที ไม่รู้มันทำอะไรของมัน แต่จะทิ้งไว้ก็ใช่ที่ ฉะนั้นอย่ารอช้าเลย เอาพวกไฟล์ใหญ่ๆ เหล่านี้ย้ายไปให้ lighttpd ทำแทนดีกว่า มันตายไปตัวหลักก็ยังรอดด้วย(แต่เท่าที่เห็น มันไม่เคยตายเลยแฮะ ทนกว่า Apache อีก -_-”)

อ้อสำหรับใครที่ยังไม่รู้ว่าผมทำอะไร ทำไมมันถึงมีไฟล์ขนาดใหญ่ จริงๆ แล้วเซิร์ฟเวอร์นี้มีโดเมนย่อยอยู่อันนึงไว้เป็นที่ดาวโหลดลินุกซ์(และอื่นๆ อีกมากมายสำหรับเขียนโปรแกรม) เก็บไว้อยู่ด้วย ใครอยากดูหรืออยากโหลดก็เข้าไปที่ http://mirror.nytes.net ได้หรืออยากให้เพิ่มอะไรที่ไม่เถื่อนก็บอกมาละกัน ถ้าพื้นที่ยังเพียงพอก็จะพยายามยัดเข้าไปให้

อ่าวบ่นเยอะและเขียนวิธีทำบ้างดีกว่า

  1. เริ่มจากติด lighttpd ก่อนโดยไปที่ /usr/port/www/lighttpd แล้วก็​ make install ธรรมดาอันนี้ไม่มีอะไรพิเศษ
  2. ไปที่ /usr/port/www/apache22 แล้ว make config จากนั้นเลือก mod_proxy, mod_proxy_connect และ mod_proxy_http เพิ่มแล้วก็เลือก ok ออกไป
  3. สั่ง make deinstall install -DFORCE_PKG_REGISTER เพื่อขืนใจให้มันลงใหม่ให้ จริงๆเกิดจากเปลี่ยน mpm ด้วยแต่ก่อนใช้ prefork ตอนนี้เปลี่ยนเป็น worker มันเลยไม่ยอมเชื่อฟังจนถึงบัดนี้เลยแฮะ
  4. แก้ไฟล์ httpd.conf โดยเพิ่มบรรทัดด้านล่างลงไป
    LoadModule proxy_module libexec/apache22/mod_proxy.so
    LoadModule proxy_connect_module libexec/apache22/mod_proxy_connect.so
    LoadModule proxy_http_module libexec/apache22/mod_proxy_http.so
    
  5. จากนั้นไปแก้ไฟล์ที่เก็บข้อมูล virtual host ต่างๆ ให้บอกว่า path ไหนจะส่งไปที่ไหนแทน อย่างที่ใช้อยู่นี่จะให้ใครก็ตามที่เรียกมาที่ mirror.nytes.net จะส่งไปที่ lighttpd แทนไม่ให้ apache ทำงานก็เลยไปแก้ vhost ของ domain nytes.net โดยเพิ่มบรรทัดด้านล่างไป
    
      ServerName mirror.nytes.net
      ProxyRequests Off
      ProxyPreserveHost On
      ProxyPass / http://localhost:81/
    
    
  6. reload apache รอบนึงแล้วรอดูผลงาน
Friday, August 1st, 2008

เวลาเปิดคอมมาใช้ส่วนตัว ปกติก็คงอยากให้เข้าระบบเลย ไม่ต้องค้างที่หน้าจอใส่รหัสกัน แต่หลังจาก Fedora9 เปลี่ยน gdm เป็นตัวใหม่เท่านั้นแหละ ปัญหาเลยตามมาเลย -_-” เพราะมันทำให้เข้าระบบอัตโนมัติแบบเดิมไม่ได้ ต้องตั้งให้มันนับถอยหลังเอาด้วย TimeLogin ลองดูวิธีทำก่อนละกัน
ผมแก้ไฟล์ /etc/gdm/custom.conf เอาโดยเพิ่มค่าด้านล่างลงไป

[daemon]
TimedLoginEnable=true
TimedLogin=
TimedLoginDelay=10

บรรทัดแรกก็คือบอกว่าเปิดให้ใช้ TimedLogin บรรทัดถัดมาบอกว่าจะ login เข้า user ไหน บรรทัดสุดท้ายให้รอเท่าไหร่ ถ้าอยากให้เปิดเครื่องปุ๊บเข้าเลยก็ให้บรรทัดสุดท้ายเป็น 0 พอเข้ามาถึงหน้า login มันก็จะเข้าระบบไปทันที
แต่ๆ ปัญหาที่เจอคือ มันไม่สมบูรณ์แบบ Ubuntu คือเข้ามาแล้วต้องกรอกรหัสอีกชั้นเพื่อให้ใช้รหัสผ่านที่เคยเก็บไว้ได้ ซึ่ง Ubuntu ไม่ต้องกรอกอีกทีแล้ว(ตามที่ pFz บอก เพราะยังไม่เคยลองเองแล้วได้ผลเลย -_-”)
เห้อ ช่วงนี้เขียนแต่เรื่องปวดหัวแฮะ เรื่องไร้สาระเริ่มไม่มีอีกและ สงสัยต้องหาอะไรมาเล่นหน่อยแล้ว
อ้างอิง: Fedora personal guide

Tuesday, July 29th, 2008

เมื่อวานพี่ที่ทำงานจะเอา redmine ลงก็เลยมาถามแล้วก็เอาที่เคยเขียนไปให้ดูปรากฏว่าไม่สำเร็จ พี่อีกคนทำมั่งก็บอกว่าหา module ของ apache ไม่เจอก็เลยไปดูบ้างปรากฏว่ามันเปลี่ยนรุ่นไปไกลแล้ว จากที่เคยลงมันเป็นรุ่น 1.0.5 ตอนนี้มันกลายเป็น 2.0.2 หละพร้อมกับการตั้งค่าที่เปลี่ยนไป เลยทำให้ปวดหัวเล็กน้อย วันนี้ตอนเช้าเลยลองทำและก็ถือโอกาสอัพเกรดซะด้วยเลย
ขั้นตอนๆ

  1. เริ่มจากอัพเกรด mod_passenger เป็นรุ่นใหม่ก่อน ขั้นนี้ง่ายๆ เพราะมี gem อยู่ก็สั่งอัพเกรดบรรทัดเดียวด้วยคำสั่ง

    #gem upgrade

    ที่เหลือก็ปล่อยมันดาวโหลดไป
  2. จากนั้นต้องให้มันคอมไพล์ออกมาเป็น .so สำหรับยัดเข้า apache แต่มันมี binary ให้พร้อมอยู่แล้วแค่สั่ง

    #passenger-install-apache2-module
  3. จากนั้นแก้ไข apache config โดยการเพิ่มสามบรรทัดนี้เข้าไป

    LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.2/ext/apache2/mod_passenger.so
    PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.2
    PassengerRuby /usr/local/bin/ruby18
  4. จากนั้นกำหนด vhost ตามเดิมก็ใช้ได้หละ แล้วสั่ง apache ให้เริ่มใหม่ก็เรียบร้อย

ของเก่าดูได้จากที่นี่: Redmine กับ Phusion Passenger™