posted on 01 Jul 2009 13:35 by pongtawat in admin
บางครั้งเวลาเราสั่ง apt-get update จะเกิด warning เกี่ยวกับ signature แบบนี้:
W: A error occurred during the signature verification. The repository is not updated and the previous index files will be used.GPG error: http://[...]: The following signatures were invalid: [...]
W: Failed to fetch [...]
W: Some index files failed to download, they have been ignored, or old ones used instead.
W: You may want to run apt-get update to correct these problems
ส่วนมากปัญหาจะเกิดจาก repository ที่เราเพิ่มเข้ามาเอง
วิธีแก้ไขก็ง่ายๆ
sudo rm -rf /var/lib/apt/lists/partial/*
แล้วก็สั่ง apt-get update ใหม่ ก็จะใช้ได้ทันที
ที่มา: Parijat’s Weblog
edit @ 1 Jul 2009 13:41:34 by pongtawat
posted on 25 May 2009 22:33 by pongtawat in admin
จดไว้กันลืม เนื่องจากลืมไปแล้วรอบหนึ่ง
วิธีเปิด SSL บน Apache 2 บน Ubuntu
- ต้องสร้าง SSL Certificate/Key ก่อน วิธีสร้างแบบละเอียดไปดูได้ที่ mini-Howto หรือที่นี่ ส่วนวิธีสร้างแบบขี้เกียจอ่านก็ตามนี้เลย
openssl genrsa -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
- อีกวิธีในการสร้าง Certificate คือใช้ SSLeay script ช่วย แต่จำ link ไม่ได้แล้ว
- เราจะได้ไฟล์มาสองไฟล์ server.key กับ server.crt ให้ copy ไปไว้ตามนี้
server.crt -> /etc/ssl/certs
server.key -> /etc/ssl/private
- enable SSL ใน apache
a2enmod ssl
- แก้ Virtual host file ของเรา ให้เริ่มต้นไฟล์ด้วย
NameVirtualHost *:443
เพื่อจะได้ไม่ตีกับ Virtual host ปกติ และแก้ <VirtualHost *> ให้เป็น <VirtualHost *:443>
- เพิ่ม config ต่อไปนี้ลงใน Virtual Host ของเรา
SSLEngine on
SSLProtocol -all +TLSv1 +SSLv3
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
SSLCipherSuite HIGH:MEDIUM
- restart Apache 2 เป็นอันเสร็จ
จริงๆ แล้วมีวิธีที่ง่ายกว่ามากๆ คือใช้ stunnel ครอบ Apache เอา
แต่ว่า stunnel ดันมีปัญหากับการใช้กับ subversion เนื่องจากเวลาที่สั่ง svn copy (เช่นเวลา branch, tag) subversion WebDAV จะใช้ full URL ทำให้ source URL (ผ่าน stunnel แล้วเลยเป็น http) กับ destination URL (ยังคงเป็น https) มันถูกมองเป็นคนละ site กัน มันเลยจะขึ้น Error 502 Bad Gateway เท่าที่ค้นหาดูก็ไม่เห็นมีวิธีแก้ไขเลย เลยทำให้ต้องมาใช้ SSL บน Apache แทน
หมายเหตุ
- การใช้งาน SSL นั้น "ไม่" สนับสนุนการทำ Name-based Virtual Host เนื่องจากข้อจำกัดของตัว protocol เอง (แต่ถ้าใช้ stunnel จะใช้ Virtual Host ได้ตามปกติ)
- เวลาสร้าง Certificate ถ้ามี subdomain สามารถใส่ * เพื่อให้ใช้กับทุก subdomain ได้ เช่น *.exteen.com
posted on 29 Apr 2009 20:13 by pongtawat in admin
บางทีเวลา clone disk ไปๆ มาๆ ทำให้ GRUB boot loader หายไป
วิธีเอาคืนมาจริงๆ ก็น่าจะง่ายๆ เพราะว่า Ubuntu Live CD เวลาเข้าไปใน Recovery mode แล้วมันมีเมนูใหน reinstall GRUB ด้วย แต่เอาเข้าจริงบางทีมันก็ใช้ไม่ได้ซะงั้น
วิธีแก้ไขก็คือใช้ Live CD boot เข้าไปที่ shell ของ root partition แล้วติดตั้ง GRUB ใหม่เอง
(ถ้าใช้ shell ของ installer ก็ต้อง export LD_LIBRARY_PATH=/target/lib ด้วย)
จากนั้นสั่ง
$ sudo grub
ตามด้วย
grub> find /boot/grub/stage1
เพื่อหาว่ามี grub boot loader อยู่ที่ไหนบ้าง ซึ่ง grub จะ list ออกมา สมมติว่าเป็น (hd0,0) เราก็สั่ง
grub> root (hd0,0)
เพื่อบอก grub ว่า root partition คือ (hd0,0) ตามด้วย
grub> setup (hd0)
เพื่อติดตั้ง grub ลงใน MBR ของ hd0
แล้วก็ออกจาก grub และ reboot ได้
grub> quit
ใน grub (hd0) หมายถึง harddisk ตัวแรก ส่วน (hd0,0) หมายถึง partition แรกของ harddisk ตัวแรก ซึ่งถ้าคิดแบบ device file ก็จะเป็น /dev/sda1 นั่นเอง
ที่มา: How to install GRUB from a live Ubuntu CD