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

Friday, October 17th, 2008

อาทิตย์นี้ทั้งอาทิตย์วุ่นๆ ทั้งอาทิตย์เพราะจัดการแฟ้มๆ ต่างๆ ในเซิร์ฟเวอร์ใหม่หมดจากเดิมที่ข้อมูลโดเมนและเว็บแต่ละคนจะอยู่ในแฟ้มบ้านแต่ละคนตอนนี้ย้ายมาอยู่ที่เดียวกัน แล้วคนที่เข้ามาแก้ไขข้อมูลก็อยู่ในแฟ้มโดเมนนั้นไปเลย ไม่ให้ออกมาเพ่นพ่านแฟ้มคนอื่น ตอนแรกก็คิดว่ามันคงไม่ยากอะไร เพราะตั้งใจจะย้ายไปใช้ Lighttpd แต่ปรากฏว่ามันดันใช้ .htaccess เพื่อแก้ url แบบ Apache ไม่ได้พวกค่่าต่างๆ ที่ใช้ใน Wordpress และโปรแกรมอื่นๆ พังหมด -_-” พยายามหาทางแก้ข้ามวันข้ามคืนว่า Lighttpd มีทางออกที่ดีกว่าไปเขียน url ใหม่ที่เป็นแบบ Lighttpd โดยเฉพาะหรือป่าว ก็ไม่มีสุดท้ายเลยยอมแพ้ กลับมาใช้ Apache เหมือนเดิม
ที่อยากใช้ Lighttpd มากเพราะนอกจากมันเบาแล้วมันยังมีอุปกรณ์เสริมอีกตัวนึงที่อยากได้ใน Apache แต่ดันไม่มี(จริงๆ เหมือนจะมีแต่กำหนดได้งี่เง่ามาก) นั่นคือ mod_evhost เนื่องจากเซิร์ฟเวอร์ที่ดูแลอยู่มันยังไม่มีโปรแกรมที่ใช้ควบคุมเหมือนคนอื่น(พวก Direct Admin, Plesk, cPanel ไรพวกนั้นหนะ) ด้วยเหตุผลว่าจะทำเอง(จนพวกนั้นมันแพง -_-”) ก็เลยต้องหาทางให้แก้ไขไฟล์ต่างๆของเซิร์ฟเวอร์ให้น้อยที่สุด จะได้ไม่ต้องไปรีโหลด หรือเปิดปิดเว็บเซิร์ฟเวอร์บ่อยๆ แล้วโมดูลตัวนี้มันสามารถกำหนดโดยใช้พวก %1 … ต่างๆได้เพื่อกำหนดไปว่าถ้ามีคนเปิดเว็บโดเมนนี้ จะไปอ่านที่แฟ้มไหน โดยไม่ต้องไปเพิ่มไฟล์เพื่อให้เซิร์ฟเวอร์รู้เลย ซึ่ง Apache มันก็มีชื่อว่า mod_vhost_alias แต่มันไม่ฉลาดเท่านี่สิ เช่น ถ้าผมมีโดเมน example.com แล้วมี subdomain sub1 ถ้าใช้ mod_evhost ก็แค่บอกว่า /path/to/www/%0/%3 แต่ถ้าเป็น Apache กลายเป็นว่าต้องใส่ /path/to/www/%2+/%1 แล้วถ้าเข้า example.com Apache ก็จะงี่เง่าทันทีเพราะ %2+ ของมันนับตั้งแต่ com เป็นต้นไปแทน หรือไม่งั้นก็ต้องไปใช้ mod_rewrite กำหนด url เอาเองแต่วิธีกำหนดมันก็ไม่ง่ายเท่า mod_evhost อ่ะเห้อ
ตอนนี้ก็เลยปรับ Apache ให้เหมือนเดิมเกือบทุกอย่างไว้มีเวลาทดลองอะไรแปลกๆ จะเอาใหม่ แล้วก็จะทำ DNS server เองและ หลังจากที่ไปใช้ของคนอื่นอยู่เสียนาน เพราะว่าอัพเดทแล้วมันต้องแก้สองที่ เอามารวมอยู่ที่เดียวนี่แหละ จะได้ไม่ต้องปวดหัว สงสัยต้องทำ Control panel ให้เป็นรูปเป็นร่างเร็วๆ ซะแล้ว

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