เปลี่ยน permission ของโฟลเดอร์เป็น 711 และ ไฟล์เป็น 644
สำหรับเว็บไซท์ที่ใช้ suPHP ส่วน code บรรทัดแรกยังไม่รู้เหมือนกันว่าทำอะไร ส่วนบรรทัดสุดท้ายนั้นจะเปลี่ยน owner/group ให้เป็นของแต่ละคน ซึ่งอาจจะไม่จำเป็น
cd /usr/local/directadmin/scripts && ./set_permissions.sh user_homes find /home/*/domains/*/public_html -type d -print0 | xargs -0 chmod 711 find /home/*/domains/*/public_html -type f -print0 | xargs -0 chmod 644 cd /usr/local/directadmin/data/users && for i in `ls`; do { chown -R $i:$i /home/$i/domains/*/public_html;}; done;
หาคำในไฟล์
ในที่นี้จะเป็นการหาคำว่า iframe แล้วบันทึกเก็บไว้ในไฟล์ iframe.txt
find /home/*/domains/*/public_html/ -maxdepth 100 -name *index* -exec grep -H "iframe" {} ";" > iframe.txt

เพิ่งไปซื้อเครื่องพิม์มาใหม่ ได้ Canon iP2700 มา เสียบปุ๊บ สั่ง add printer Ubuntu 11.04 64bit มองเห็นครับ แต่มีรุ่นให้เลือกแค่ iP2000 ลองเลือกดู ผลคือสั่งพิมพ์แล้วเงียบฉี่ ไม่มีอะไรออกมาเลย
เอาแล้วไง!!!!!
ลองค้นดู เจอคนมีปัญหากันเยอะเหมือนกัน (ทำไมก่อนซื้อถึงไม่เช็คดูก่อนนะ) ลองหาทางดู
(เอาแบบประมาณก่อนนะ เพราะหลังจากทำจนติดตั้งได้ เครื่องก็แฮ้งค์โอเวอร์ ไฟล์ที่ทำไว้ใน /tmp หายเกลี้ยง เลยต้องทำใหม่ จึงไม่แน่ใจว่าถูกต้องไหม)
ติดตั้ง Ubuntu Desktop ให้เป็น Server (LAMP)
ผ่านไป 2 ปี ก็ถึงเวลาต้องติดตั้ง Ubuntu ใหม่เสียที คราวนี้เลยถือโอกาสเปลี่ยนเป็น Ubuntu 11.04 64 bit ไปเลย ก็เลยลองมารีวิวการติดตั้ง LAMP บน Ubuntu ใหม่ว่ามีอะไรที่เปลี่ยนแปลงไปบ้าง
หมายเหตุ : การติดตั้งต่อไปนี้ใช้สิทธิ์ของ root ขอให้เข้าสู่สิทธิ์ของ root โดยการเปิด terminal แล้วพิมพ์ sudo su
Install L.A.M.P Stack (Apache, Mysql, PHP) ทีเดียวซะเลย
root@god:/# apt-get install lamp-server^
แล้วก็ลง phpMyAdmin
root@god:/# apt-get install phpmyadmin
เลือก Apache แล้ว YES สำหรับ dbconfig-common.
ติดตั้งเพิ่มเติม
php5-curl
root@god# apt-get install php5-curl
หรือชอบที่จะลงทีละตัว ก็
Install Apache
root@god:/# apt-get install apache2
Enable mod_rewrite
root@god:/# a2enmod rewrite
เปลี่ยน DocumentRoot ของ apache เป็น folder อื่น และเปิดใช้งาน clean url
root@god:/# nano /etc/apache2/sites-available/default
- เปลี่ยนบรรทัด /var/www/ เป็น /my web folder/ จำนวน 2 ตำแหน่ง
- แก้ค่า AllowOverride ของ /my web folder/ จาก None เป็น AllowOverride All
Install PHP
root@god:/# apt-get install php5 libapache2-mod-php5 php5-gd root@god:/# /etc/init.d/apache2 restart
Install MySQL
root@god:/# apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin root@god:/# /etc/init.d/apache2 restart
หากมีข้อมูลเก่าของ mysql ก็สามารถ copy มาไว้ที่ /var/lib/mysql แล้ว โดยใช้คำสั่ง
root@god:/# cp /media/disk/var/lib/mysql/* /var/lib/mysql/ root@god:/# chown -hR mysql /var/lib/mysql/* root@god:/# chgrp -hR mysql /var/lib/mysql/*
ย้ายข้อมูล mysql ไปไว้ที่อื่น
root@god:/# /etc/init.d/mysql stop root@god:/# mkdir /home/mysql root@god:/# chown -R mysql:mysql /home/mysql root@god:/# cp -r /var/lib/mysql/mysql /home/mysql/ root@god:/# chown -R mysql:mysql /home/mysql/*
แล้วแก้ my.cnf
root@god:/# nano /etc/mysql/my.cnf
หาคำนี้ให้เจอ :
datadir = /var/lib/mysql
แล้วเปลี่ยนเป็นตำแหน่งใหม่ :
datadir = /home/mysql
เสร็จแล้วก็ restart mysql service
root@god:/# /etc/init.d/mysql start Starting MySQL database server mysqld [ OK ]
แล้ว mysql จะทำการสร้างไฟล์ ibdata1, ib_logfile0, อื่น ๆ ขึ้นมาใหม่
ทุกอย่างน่าจะเรียบร้อย แต่ผมไม่สามารถ start mysql ได้ มันค้างอยู่ เลยต้องไปแก้ค่าในไฟล์ /etc/apparmor.d/usr.sbin.mysqld โดยเปลี่ยนค่า /var/lib/mysql ให้เป็น /home/mysql ด้วย
แล้วคราวนี้ก็ทำการ copy ฐานข้อมูลเก่า ๆ มาได้เลย อย่าลืมเปลี่ยน owner/group เป็น mysql ด้วยนะ
ที่มา
- Installing LAMP On Ubuntu For Newbies
- How to move mysql database to another drive or partition
- howtoforge.com
#sudo apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
<a class="hashtag" href="/tags/sudo">#sudo</a> apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
เป็นเรื่องเลย เมื่อ boot Ubuntu ไม่ได้ ลองเปิดด้วย harddisk อีกตัว แล้ว mount ไม่ผ่าน มี error ด้านล่าง
Error mounting: mount: wrong fs type, bad option, bad superblock on /dev/sdb2, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so
ดูเหมือนว่า filesystem มีปัญหาเสียแล้ว เลยตามหาดูว่ามีทางแก้อย่างไรบ้าง
ลองเช็ค filesystem ด้วยคำสั่ง
e2fsck -f /dev/sdb2
มี error block จึง Ignore error ไป แล้วลอง mount ใหม่
ได้โว้ย ดีใจจัง กำลังจะลอง boot อีกที ดูว่าเรียบร้อยไหม?
ช่วยกันภาวนานะครับ.......
Rebooting.......
ยัง boot ไม่ได้ แต่มองเห็น /home แล้ว คาดว่าข้อมูลคงอยู่ครบ
แล้วก็ลองเช็ค filesystem ของ / อีก คราวนี้ใช้เวลานานมาก ๆ แล้วจึงลอง reboot ดีขึ้น แต่ก็ยังไม่ได้ จึงตัดใจ ลงใหม่เลยดีกว่า หลังจากที่ลง Ubuntu ตัวนี้มา(คาดว่า)เกือบ 2 ปี คงถึงเวลา clean install เสียที
การทำปุ่ม Like สำหรับหน้า Fan Page หรือทำปุ่ม Like สำหรับหน้าเว็บแต่ละหน้า
กำลังจะหัดเขียนโปรแกรมบน iPhone ขอรวบรวม resource มาเก็บไว้ศึกษาก่อน

Home - บ้านที่ใกล้จะตาย แต่ชีวิตยังคงมีหวัง หากว่า.....
โลกกำลังใกล้จะตาย? หรือว่า ไม่หรอก เราต่างหากที่กำลังจะสูญหายไปจากโลกที่จะยังคงมีชีวิตอยู่ต่อไปอีกยาวนาน.....

ผมรู้ตัวเองมาตลอดว่าเป็นคนนำเสนอไม่เก่ง ถึงขั้นไม่ได้เรื่อง คงมาจากเหตุหลาย ๆ ด้าน เช่น สรุปประเด็นไม่เก่ง เรียงประเด็นนำเสนอไม่ได้ ให้เวลากับการเตรียมตัวนำเสนอน้อย ข้อมูลไม่แน่น ฯลฯ
ได้ไปอ่านบทความจาก blog ของคุณพัชร เรื่อง วิธีพรีเซ้นท์ของ Steve Jobs เลยขออนุญาตนำมาเก็บไว้เพื่อให้ตนเองได้ระลึกและฝึกฝนตนเองให้ดียิ่งขึ้น
เรื่องราวที่คุณพัชรกล่าวไว้มีอย่างนี้
"สัญญาอนุญาต" หรือ license หมายถึงข้อกำหนดที่บอกว่าเราทำอะไรกับซอฟต์แวร์ (รวมถึงงานสร้างสรรค์อื่นๆ) ได้บ้าง
ในโลกของซอฟต์แวร์เสรี/โอเพนซอร์สก็มีสัญญาอนุญาตมาตรฐาน (เป็นแพ็กเกจสำเร็จรูป) ให้เลือกใช้ได้หลายชนิด ตามแต่ความต้องการของนักพัฒนาที่ต่างกันออกไป อย่างไรก็ตาม ปัญหาของการมีสัญญาอนุญาตจำนวนมากทำให้นักพัฒนาหน้าใหม่อาจจะงงว่าควรเลือกแบบไหนอย่างไรดี
Free Software Foundation (FSF) ในฐานะผู้ดูแลสัญญาอนุญาตยอดนิยมหลายตัว ได้ออกเอกสารแนะนำนักพัฒนาว่าควรเลือกใช้สัญญาอนุญาตแบบไหนบ้าง
แนวทางที่ FSF แนะนำมีดังนี้ (ผมถือว่าทุกคนรู้จัก copyleft กันหมดแล้วนะ ไม่ต้องอธิบายซ้ำ ส่วนชื่อสัญญาถ้าไม่รู้จักก็หาข้อมูลกันเองเช่นกัน)
- ซอร์สโค้ดที่ขนาดเล็กมากๆ ไม่ควรใช้สัญญาอนุญาตแบบ copyleft เพราะตัวข้อความของสัญญาจะยาวกว่าซอร์สโค้ดเสียอีก
- ซอฟต์แวร์ที่เขียนขึ้นเพื่อสนับสนุนมาตรฐานเปิด-เสรี เช่น Ogg Vorbis หรือ WebM ไม่ควรใช้ copyleft เพราะจะจำกัดการใช้งานของโค้ด (ที่ควรจะแพร่ออกไปมากๆ)
- งานที่ไม่เหมาะกับ copyleft ควรเลือกใช้ Apache License 2.0 เพราะจะช่วยคุ้มครองผู้สร้างซอฟต์แวร์จากการถูกฟ้องละเมิดสิทธิบัตรได้
- กรณีอื่นๆ ที่เหลือควรใช้ copyleft โดยแบ่งตามเงื่อนไขดังนี้
- ซอฟต์แวร์ที่ทำหน้าที่เป็นไลบรารี ควรใช้ LGPL
- ซอฟต์แวร์ที่อยู่บนเซิร์ฟเวอร์ ให้บริการแก่ผู้ใช้ทางอ้อม ผู้ใช้ไม่ได้ดาวน์โหลดซอฟต์แวร์มาใช้โดยตรง ควรใช้ Affero GPL (AGPL)
- อื่นๆ ที่เหลือทั้งหมดควรใช้ GPL
- งานที่ไม่ใช่ซอฟต์แวร์ เช่น เอกสาร ควรใช้ GNU Free Documentation License (FDL)
- งานเอกสารที่มีซอร์สโค้ดแถมเพื่อเป็นตัวอย่าง ควรกำหนดสัญญาอนุญาตของโค้ดด้วย โดย FSF แนะนำให้ปล่อยโค้ดเป็น public domain ด้วยสัญญาอนุญาต CC0
- ภาพวาด ไอคอน กราฟิก ฟอนต์ ที่ใช้ประกอบกับซอฟต์แวร์ ควรกำหนดเป็นสัญญาอนุญาตแบบเดียวกับซอฟต์แวร์นั้นๆ เพื่อลดความซับซ้อนในการใช้งาน
- ถ้าไม่มีสัญญาอนุญาตที่ตรงใจเลย ลองพิจารณา Creative Commons Attribution-ShareAlike น่าจะช่วยได้
ที่มา - blognone.com ผ่าน GNU.org ผ่าน Slashdot