Posted by AnnoMundi
on August 08, 2008
ช่วงนี้ใช้งาน Linux Console บ่อยและด้วยความที่ขี้เกียจคำสั่งที่เคยพิมพ์ไปแล้ว และจำได้ว่ามันมี command ที่ใช้รันคำสั่งที่เราเคยพิมพ์ไปแล้ว ปกติผมจะใช้ปุ่มลูกศรขึ้นลงเพื่อเลือกคำสั่งที่ผ่านๆมา แต่มันไม่สะดวกเพราะคำสั่งที่เคยพิมพ์ๆไปมันอาจพิมพ์ไปนานแล้ว ก็เลยลอง Search ดูก็เจอคำสั่งที่จะช่วยให้ประหยัดเวลาในการทำงาน
คำสั่งแรกเลย history
history
จะเป็นการลิสท์คำสั่งต่างๆที่เราเคยเรียกใช้งานไปแล้วทั้งหมด
history 10
จะเป็นการลิสท์คำสั่ง 10 คำสั่งสุดท้ายออกมา
เราสารถใช้คำสั่ง ! เพ่ือทำการรันคำสั่งนั้นอีกครั้ง เช่น
annomundi@develone:~$ history
55 history
56 pwd
57 ls
58 cd ~
59 history
annomundi@develone:~$ !57
ls
MyThread.class mbox rails-projects sources www
annomundi@develone:~$
จะเห็นว่าคำสั่ง !57 จะสั่งรันคำสั่ง ls นอกจากนี้เราสามารถใช้คำสั่ง
!!
เพื่อรันคำสั่งก่อนหน้านี้
นอกจากนี้ก็มีคำสั่ง !$ จะหมายถึงข้อความที่ตามหลังคำสั่งที่แล้ว เช่น
ls /etc/hosts
vi !$
คำสั่งหลังก็คือคำสั่ง vi /etc/host นั่นเอง
คำสั่ง !<start of command> เป็นการรันคำสั่งหลังสุดที่ขุึ้นต้นด้วย <start of command> เช่น
pwd
ls -la
cd www
!ls
คำสั่ง !ls จะเป็นการรันคำสั่ง ls -la อีกครั้งนึงนั่นเอง
คำสั่ง !-<number> จะเป็นการรันคำสั่งที่ <number> ก่อนหน้านี้ เช่น
pwd
ls -la
cd www
!ls
!-4
คำส่ัง !-4 จะเป็นการรันคำสั่ง pwd อีกครั้งนึง
สำหรับคำสั่งพวกนี้บางคนอาจคุ้นเคยแล้ว แต่ผมเองเคยเห็นเพื่อนๆใช้กันแกต่ไม่ค่อยได้จำและเอามาใช้สักที เลยต้อง search หาเอามาใช้ซะหน่อยจะได้ประหยัดเวลาการพิมพ์คำสั่งบนคอนโซล ^^ ไว้อาจมีต่อภาค 2 เพราะผมยังไม่แม่นเรื่อง command parameter เท่าไหร่
Posted by AnnoMundi
on June 18, 2007
วิธีการสร้าง Self-Signed Certificate สำหรับเว็ปไซต์บนเครื่องที่ใช้ Ubuntu
Feisty Fawn สำหรับบทความนี้ผมขอไม่กล่าวถึงการลง Apache2, PHP5 และ
MySQL นะครับ จะกล่าวถึงเฉพาะการสร้าง Self-Signed Certificate เท่านั้น
- ถ้า Apache ที่ลงไว้แต่ยังไม่ได้ Enable mod_ssl ก็ให้เปิดใช้งานด้วยคำสั่ง
sudo a2enmod ssl
- เริ่มด้วยการสร้าง Private Key สำหรับเครื่องเซิร์ฟเวอร์ หรือเครื่องที่เรารัน
เว็ปเซิร์ฟเวอร์
$ sudo openssl genrsa -des3 -out server.key 1024
เมื่อโปรแกรมให้เราใส่ pass phrase ซึ่งเราจะใส่หรือไม่ใส่ก็ได้
- จากนั้นก็สร้าง Certificate File ขี้นมาด้วยคำสั่ง
$ sudo openssl req -new -x509 -nodes -sha1 -days 365 -key server.key -out server.crt
ซึ่งมันจะถาม Pass Phrase ที่เราตั้งไว้ในขึ้นตอนที่แล้วและให้เราใส่ชื่อโดเมนที่
เราต้องการจะใช้งาน SSL ตอนที่โปรแกรมให้เราใส่ Common Name ในที่นี้ผม
จะใส่เป็น *.mydomainname.com เผื่อไว้ใช้กับsubdomain ได้ด้วย
- ให้ทำการสร้างไดเร็กทอรี่ /etc/apache2/ssl แล้วคัดลอกไฟล์ทั้งสองไปยัง
ไดเร็กทอรี่ที่สร้างขึ้น
$ sudo mkdir /etc/apache2/ssl
$ sudo mv *.crt /etc/apache2/ssl
$ sudo mv *.key /etc/apache2/ssl
$ sudo chmod 400 /etc/apache2/ssl/*.key
- ถ้าในขั้นตอนแรกเรากำหนด Pass Phrase ไปด้วย ทุกครั้งที่ทำการ
restart apache จะมีการถาม pass phrase ทุกครั้ง ดังนั้นเพื่อให้เราไม่ต้องเสีย
เวลาใส่ pass pharse ก็ให้้เราสร้างไฟล์ /etc/apache2/ssl/password.sh
ขึ้นมา แล้วแก้ไขไฟล์โดยพิมพ์คำสั่งตามด้านล่างลงไป แต่ให้เปลี่ยน password
เป็น pass pharse ที่เราได้ระบุไว้นะครับ
#!/bin/bash
echo "password";
จากนั้นก็ให้แก้ไขไฟล์ /etc/apache2/mods-enabled/ssl.conf ให้มองหา
บรรทัดตามด้านล่างนี้
SSLPassPhraseDialog builtin
แล้วแก้เป็น
SSLPassPhraseDialog exec:/etc/apache2/ssl/password.sh
ที่ทำแบบนี้เพื่อแทนที่ apache จะรอถาม pass pharse ทุกครั้งที่ start/restart
ก็ให้มันไปรัน script ที่เราสร้างไว้แทน
- จากนั้นให้เราทำการแก้ไขไฟล์ /etc/apache2/ports.conf ตามด้านล่าง
Listen 80
Listen 443
แล้วจึงแก้ไขไฟล์คอนฟิกของเว็ปไซต์ในที่นี้ของผมจะอยู่รวมกันในไฟล์
/etc/apache2/sites-available/default ซึ่งบางคนอาจแยกคอนฟิกของแต่ล่ะ
เว็ปเป็นไฟลๆ์แยกกัน ก็ให้เปิดแก้ไขคอนฟิกเว็ปที่ต้องการใช้งาน SSL โดยแก้ไข
คอนฟิกดังนี้
<VirtualHost *:443>
...
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
...
</VirtualHost>
และในตอนต้นไฟล์ /etc/apache2/sites-available/default ต้องมีคำสั่งตาม
ด้านล่างด้วยนะครับ
NameVirtualHost *:80
NameVirtualHost *:443
จากนั้นก็สั่ง restart apache ได้เลย
sudo /etc/init.d/apache2 restart
เสร็จแล้ว เราก็จะสามารทดสอบและพัฒนาเว็ปซึ่งจำเป็นต้องมีส่วนที่ใช้งานผ่าน SSL ได้
เอกสารอ้างอิง : Creating Self-Signed Certs on Apache 2.2
Posted by AnnoMundi
on May 31, 2007
ช่วงนี้หลังจากหลับมาใช้ลินุกส์ ก็มีพวกไฟล์วิดีโอที่เก็บๆไว้มันเป็นฟอร์แมท WMV
ซึ่งมีปัญหาภาพมันจะเละๆเวลาเลื่อแถบเวลาไปยังตำแหน่งที่ต้องการจะดู เลยต้อง
หาวิธีแปลงฟอร์แมทไปเป็น avi ซึ่งที่เคยใช้ก็คือโปรแกรม mencoder ซึ่งเป็นโปรแกม
Command line ที่เราต้องเปิด Shell/Terminal ขึ้นมาพิมพ์คำสั่งเรียกใช้ ซึ่งที่ใช้
ถ้าใครไม่ได้ลงโปรแกรมนี้ไว้ ถ้าใช้ Ubuntu ก็จัดการลงก่อนครับ
sudo apt-get install mencoder
จากนั้นวิธเรียกใช้โปรแกรมเพ่อเปลงฟอร์แมตแบบง่ายๆก็คือ
mencoder inputfile.wmv -ofps 23.976 -ovc x264 -oac mp3lame -o outputfile.avi
ซึ่งจะแปลงไฟล์ฟอร์แมท WMV เป็น AVI โดย encode video/audio codec
เป็น H.264 และ mp3
แต่ถ้าใครชอบแปลงไฟล์โดยใช้โปรแกมแบบ GUI ก็มีเหมือนกันครับคือ avidemux
ก็จัดการลงโปรแกรมด้วยคำสั่ง
sudo apt-get install avidemux
หน้าตาของโปรแกรมจะเป็นแบบนี้ครับ

โดยโปรแกรม avidemux นี่นอกจากแปลงฟอร์แมทไฟล์ได้แล้วยังใช้ตัดไฟล์
ได้ด้วย โดยเลือกช่วงหนังที่เราต้องการตัดและก็เซฟ
ส่วนถ้าใครอยากศึกษาเพิ่มเติมเกี่ยวกับ Mencoder ก็ลองดูตามลิ้งก์ด้านล่างเลยครับ
Mencoder
HOWTO Mencoder Introduction Guide
HOWTO Rip DVD mencoder
Posted by AnnoMundi
on October 30, 2006
พอดีวันก่อนผมได้ทำการลง mod_security บนเครื่อง Colocated Server ซึ่งใช้ Gentoo
ซึ่งก็คิดว่าคงเรียบร้อย แต่วันนี้เข้าใช้งานเว็ปและต้องโพสท์กระทู้ กลับมีปัญหาคือไม่สามารถ
โพสท์ได้ เลยลองเซ็ค Log ของ apache ดูก็พบ error ตามด้านล่าง
mod_security: Access denied with code 500. Pattern match "multipart/form-data" at HEADER
ผมถึงได้รู้ว่าบาง Rules ของ mod_security เป็นสาเหตุทำให้ไม่สามารถโพสท์หรือแก้ไข content
ซึ่งผมไม่แน่ใจว่าเว็ปอื่นๆบนเครื่องจะมีปัญหาหรือเปล่า อย่างเว็ปที่ใช้ Joomla แต่ผมก็ได้ทำการ
แก้ไข ไฟล์ /etc/apache2/modules.d/99_mod_security.conf โดยแก้ไข rule ตรง
SecFilterForceByteRange เป็นดังด้านล่าง
SecFilterForceByteRange 1 255
และยกเลิก Rule หรือแก้ไขด้านล่างนี้ ถ้ายกเลิก ก็ใส่ # ด้านหน้าบรรทัดซะ
SecFilterSelective "HTTP_CONTENT_TYPE" multipart/form-data
หรือถ้าไม่ยกเลิก็ทำการแก้ไขให้ rule เป็นดังด้านล่างนี้ (ควรเปลี่ยนมากว่ายกเลิก)
SecFilterSelective HTTP_Content-Type "!(^$|^application/x-www-form-urlencoded$|^multipart/form-data;)"
ทั้งนี้ถ้าไม่สามารถแก้ไขไฟล์ 99_mod_security.conf ได้เองเพราะไม่ได้เป็น Admin
ก็ให้แก้ขในไฟล์ .htaccess ใน htdocs หรือ public_html ถ้าเว็ปนั้นเปิดใช้ mod_rewrite
เว็ปก็จะกลับมาใช้งานได้ตามปกติ
Posted by AnnoMundi
on June 26, 2006
หลังจากที่ผมได้แต่มองๆ VHCS2 มานานแต่ไม่ได้ลองลงบนเครื่องโคโลของตัวเองซะที
เพราะเนื่องจากตัว VHCS2 ผู้สร้างทำมาเพื่อใช้กับ Debian ถ้าเป็น Linux ตัวอื่นอาจต้อง
เซ็ตอัพโปรแกรมต่างๆในเครื่องให้ใช้งานร่วมกับ VHCS2 รวมถึงอาจต้องมีการแก้ไขสคริป์
ของ VHCS2 ให้ใช้กับ Linux ตัวนั้นๆด้วย ทำให้ผมที่ใช้ Gentoo อยู่ไม่กล้าลอง
จนกระทั่งเมื่อ 3-4 วันที่แล้ว ผมได้ตัดสินใจลองลงดูบนเครื่อง colocated server ของผม
โดยอาศัยวิธีการจาก Link ด้านล่างนี้ ซึ่งก็จะทำให้ลงบน Gentoo ได้แต่อาจมีปัญหาบางอย่าง
ให้ตามแก้ซึ่งก็ต้องอาสัยการ search หาวิธีการแก้ปัญหาจากบอร์ดของ VHCS เอาเอง
Gentoo Howto – The Second
HowTo Maia-Mailguard, Amavis, ClamAV und Spamassassin f?r VHCS
Regenerate configs
ซึ่งการลงตามขั้นตอนใน Link นั้นจะดีที่สุดถ้าทำตอนเพิ่งลง Gentoo เสร็จใหม่ แต่ถ้าเคยเซ็ตอัพ
อะไรต่อมิอะไรไว้แล้วก็อาจต้อง unmerge บางโปรแกรมแล้ว emerge ใหม่ ไม่งั้นอาจมีปัญหา
หลังจากผมแก้ปัญหาส่วนใหญ่หมดไปแล้วตอนนี้ยังเหลือบักอีกอย่างคือมันไม่แสดงข้อมูลของ
FTP ว่ามีการใช้ Bandwidth ไปเท่าไหร่ แต่ก็ไม่ใช่ปัญหาใหญ่ รวมๆแล้วตอนนี้การเพิ่มเว็ป
เข้าเครื่องเพิ่ม email บนเครื่องผมก็ทำได้ง่ายกว่าเดิมที่ต้องใช้วิธี ssh เข้าไปจัดการซึ่งค่อนข้าง
ยุ่งยากพอสมควร
สำหรับใครที่กำลังมองหา Web Hosting Control Panel ไว้ใช้น่าจะลอง VHCS2 ดูนะครับ
เพราะใช้งานค่อนข้างง่ายไม่ซับซ้อนเพียงพอกับความต้องการ เข้ากับนโยบายเศรษฐกิจพอเพียง ^^