���� ���ö����ͧ

Archive for the ‘Linux Blog’ Category

วิธีป้องกันไม่ให้ Run คำสั่งใน /tmp

noexec = ไม่ให้ Run คำสั่งใน /tmp ได้
วันนี้โดนอะไรซักอย่างจาก ip ปลายทางสั่งให้อะไรซักอย่างทำงานใน tmp ซึ่งไม่รู้จะทำยังไงเหมือนกัน ผมสั่ง stop apache แล้วแต่มันก็ยังรันได้อยู่เข้าไปดูใน tmp ก็ไม่มีอะไรแต่นั่นไม่ใช่ปัญหา ปัญหาของผมคือมันไม่สามารถ start apache ขึ้นมาได้เลยดังตัวอย่างตามนี้
root@server:# /etc/init.d/apache2 restart
* Restarting web server apache2
[Sat Aug 07 12:27:22 2010] [warn] NameVirtualHost *:80 has no VirtualHosts
[Sat Aug 07 12:27:22 2010] [warn] NameVirtualHost *:80 has no VirtualHosts
(98)Address already in use: make_sock: could not bind to [...]

shell script copy รูปไปไว้ที่ใหม่

Shell เอาไว้ Copy รูปจากที่เก่าไปที่ใหม่แบบทีล่ะเยอะๆ

เนื่องจากก่อนหน้านี้เมื่อประมาณ 4-5 ปีที่แล้วมีการเขียนโปรแกรมเว็บ รถยนต์มือสอง แบบเก็บรูปทั้งหมดไว้ในโฟลเดอร์เดียวแบบไม่มีแตกย่อยโฟลเดอร์ ซึ่งไม่ได้คำนึงถึงรูปที่มีการเพิ่มขึ้นมาเรื่อยๆของแต่ล่ะวัน พอโฟลเดอร์เยอะๆ Server ไม่สามารถสร้างไฟล์รูปขึ้นมาได้ เลยต้องมีการย้ายไฟล์รูปไปแตกซอยย่อยออกเพื่อที่จะรองรับไฟล์ขนาดมหาศาลในอนาคต หากจะนั่ง cp ไปทีล่ะโฟลเดอร์คงนานเลยต้องเขียน shell script สั่งรันผ่าน server เอาง่ายสุด มีเทพน้องป๊อบมาช่วยเขียนให้ครับ แก้ที่เครื่อง server ก็อบปี้ไฟล์ก่อนแล้วแก้ที่โปรแกรมอีกที ผมเขียนไว้เตือนตัวเองใช้อีกครั้งในอนาคต เริ่มกันเลย

ย้าย Server เข้าตู้ใหม่ที่ INET

ตู้ใหม่จัดตู้ซ่ะสวยเซียว (ตู้ไหนไม่ว่าขอ inter อย่าช้าแล้วกัน อุอุ)
คืนวันเสาร์นั่งทำงานอยู่น้องโทรมาบอกจะย้าย Server ไปตู้ใหม่เลย shutdown -h now ไปสองเครื่อง นั่ง ping  ip รอประมาณเกือบครึ่งชั่วโมงเข้าไม่ได้โทรไปสอบถามว่าเป็นยังไงบ้าง น้องบอกว่าเครื่อง  boot เข้ามาแล้วค้างไปที่ (initramfs) ไม่รู้จะทำยังไงเหมือนกัน ให้น้องแก้ให้นั่งรอไม่ไหวเผลอนอนหลับไปตื่นเช้ามาเช็คดูก็ยังไม่ได้เลยต้องไป INET เ้อง นั่งหาข้อมูลตั้งแต่เช้าถึงเี่ที่ยงก็ไม่ได้อะไร เลยตัดสินใจไปมั่วที่หน้าเครื่องดีกว่า ไปก็ไม่รู้จะทำไงเหมือนกัน พอตอน boot ก็กด ESC เพื่อให้มันเลือก GRUB Boot Loader

Installing varnish reverse proxy for Ubuntu

varnish reverse proxy คืออะไร

แสดงการทำงานของ varnish
อธิบายง่ายๆมันก็คือ reverse proxy นั่นเองง่ายไหมอิอิ varnish มันก็คือชื่อเรียกของ cache หรือ reverse proxy นั่นแหล่ะตามที่ผมเข้าใจ Varnish reverse proxy หลักการทำงานก็คือ เมื่อมีคนเรียกเว็บเข้ามามันก็จะผ่าน varnish reverse proxy ก่อนแล้ว varnish reverse proxy ก็จะทำหน้าที่เรียกไปยัง port ที่เราเชตไว้เช่น apache (หรือ images file เป็นต้น) มันจะไม่ผ่าน apache โดยตรงครับ

MySQL to ramdisk

เขียน /Tmp  MySQL ลง memomy

หลังจาก mont แล้วก็ du -h ดูครับว่ามันมายัง
สืบเนื่องจากบทความนี้ MySQL Tuner ทำแล้วก็ยังไม่ดีขึ้นเพราะว่าไม่ได้จูนตามที่โปรแกรมแนะนำเท่าไหร่ มาวันนี้เทพ Grizzly แห่ง sanook.com บอกว่าทำไมมึงไม่ทำลง memory ว่ะ ก็เลยบอกว่าทำไมพี่ไม่บอกผมตั้งแต่ทีแรกล่ะว่ะ อิอิ ก็ไม่มีรอจากที่เขียน tmp ลง Disk ก็เปลี่ยนจากการเขียน Mysql ลง Memory หรือที่เรียกว่า Ramdisk นั่นเอง ไปดูวิธีการทำง่ายๆกันเลยครับ

Installing sphinx on Ubuntu

Installing sphinx

free open-source SQL full-text search engine
วันนี้ได้รับบัญชามาจากสวรรค์ให้ผมลง Sphinx ที่ Server ก็เลยต้องหาข้อมูลแล้วก็ลองมั่วดูครับคงไม่น่ายาก Sphinx เอาไว้ทำอะไรนั้นลองค้นหาดูนะครับ อธิบายสั้นๆคือเอาไว้ทำ Search ให้มันค้นหาไวๆครับอยากให้คลิ้กค้นหาที่เว็บของเราแบบเร็วๆก็ใช้ sphinx นี่แหล่ะช่วยได้เยอะ เริ่มกันเลย
# sudo aptitude install libmysql++-dev libmysqlclient15-dev checkinstall
# wget http://www.sphinxsearch.com/downloads/sphinx-0.9.8.1.tar.gz
# tar xvzf sphinx-0.9.8.1.tar.gz
# cd sphinx-0.9.8.1/
# ./configure
# make
# make install

สถิติกลับมาปกติแล้ว

รูปสถิติคนเข้าเว็ป
สืบเนื่องจากคนที่เข้ามา Blog แล้วเจอ error แจ้งมา 500 นั้นผมก็หาสาเหตุและดู log ของ Server ตั้งนานก็ไม่เห็นมีอะไรรายงานจนวันนึงมานั่งคิดดูว่าเราได้แก้ไขอะไรไปนั้นก็เลยบ้างอ้อว่าก่อนหน้านี้มีการเปลี่ยนเอา code เก็บสถิติคนเข้ามาเว็บได้เอามาใส่ที่ Header.php ซึ่งตรงนี้นี่เองที่คนเปิดเข้ามาแล้วมันแจ้ง 500 รีเฟสอีก2-3รอบก็เข้าได้ปกติ สาเหตุมาจาก php มันปิด connection ของ header เลยทำให้หน้าเว็บเข้าไม่ได้ ตอนนี้แก้ไขเอา code ไปไว้ที่ footer แล้วก็สามารถเข้าได้ปกติสถิติต่างๆกลับเพิ่มขึ้นมาเท่าตัวเลยครับ สำหรับท่านใดที่มีอาการแบบนี้ก็ลองแก้ไขดูนะครับ วันนี้หงส์ชนะผีตั้ง 4-1 นอนหลับฝันดีครับ

MySQL Tuner

เก็บ MySQLTuner มาฝากครับเอาไว้จูน Mysql ว่าต้องปรับอะไรบ้างจริงๆมีตั้งนานแล้วล่ะครับแต่พี่ที่ทำงานพึ่งส่งให้ เริ่มกันเลยนะครับก็โหลดมาด้วยการใช้ wget 
 
MySQLTuner
root:#wget http://mysqltuner.pl/mysqltuner.pl
root:#  /usr/bin/perl mysqltuner.pl
หลังจากนั้นก็จะมีรายงานขึ้นมาเพียบเลยครับอ่านรายละเอียดแล้วแก้ไขตามที่ระบบแจ้งมาครับ หลังจากนั้นก็ปรับจูน my.cnf แล้วเช็คดูครับ
 >>  MySQLTuner 1.0.0 – Major Hayden <major@mhtx.net>
 >>  Bug reports, feature requests, and downloads at http://mysqltuner.com/
 >>  Run with ‘–help’ for additional options and output filtering
Please enter your MySQL administrative login: fuckadmin
Please enter your MySQL administrative password:

โดน Hack อีกล่ะ

โดนของอีกล่ะ Goo

โดน hack ไม่รู้ของเขมรอ่ะเปล่า
ห่างหายไปนานเรื่อง Hack วันนี้กลับมาแล้วโดนฝังสคริปในวันพ่อซ่ะงั้น อยู่ดีๆเปิดเว็บมารู้สึกแปลกๆว่าทำไมมันต้องให้โหลดไฟล์ .PDF ทีแรกคิดว่าเป็น ADS จากเว็บอื่นที่ไหนได้จาก Blog เราเองค้นหาชื่อตาม URL ที่มันให้โหลดก็ไม่เจอ ใช้ Firefox หาก็ยังไม่เจอแต่รู้แล้วว่ามี URL แปลกๆเข้ามาไล่ตามหาพวกไอเฟรมทั้งหมดมีแต่ไอเฟรมของ แจกฟรี มือถือ Omnia เท่านั้นที่ใส่ไปล่าสุดคิดว่าเว็บนั้นโดนเล่นงานซ่ะแล้วก็ยังไม่ใช่ เลยนั่งวิวโค๊ดดูถึงบ้างอ้อว่ามันมาอีกแล้วเว็บ Goo นั่นเอง

Upgrade Ubuntu 8.04 To 8.10 Server

Upgrade Ubuntu 8.04 To 8.10 Server
อัพเกรด Ubuntu เป็นเวอร์ชั่นใหม่ครับ ไม่กี่ขั้นตอนก็เสร็จแล้ว เริ่มทำกันเลย
sudo su
Then run
apt-get update
and install the package update-manager-core:
apt-get install update-manager-core
Open the file /etc/update-manager/release-upgrades…
nano /etc/update-manager/release-upgrades
[...]
Prompt=normal
do-release-upgrade
cat /etc/issue
Ubuntu 8.10 n l
หลังจากนั้นก็กด Yes yes No no ก็เสร็จเรียบร้อยแล้วครับผม