Saturday, May 23, 2015

Solved Ubuntu 15.04 ไม่ได้รับ IP & Set up STATIC IP or Dynamic IP (get from DHCP)

  • ก่อนหน้านี่ใช้ Ubuntu 13.10 แล้ว Ethernet มันก็เล่น internet ไม่ได้ ทั้งที่ได้ IP ในเน็ตเวิร์คนั้น
  • แต่ปัจจุบัน ลง 15.04 มีปัญหาเรื่องคล้ายๆ เดิมคือ นั่งทำงานอยู่ชั้น 2 ก็ยังต่อสาย LAN ใช้เน็ตจาก LAN ได้
  • แต่พอย้ายลงไปชั้น 1 ใช้สาย LAN ของเครื่องอื่นที่เค้าใช้ทำงานนั่นแหละ Ubuntu เรามันไม่ได้รับ IP ซะงั้น ทำให้ไม่สามารถใช้เน็ตได้
Solved by Set Dynamic IP (get IP from DHCP Server)
  • แก้ปัญหาโดยแก้ไขไฟล์ /etc/network/interfaces ของระบบก่อนอื่นต้องกันเหนียวไว้ก่อน
sudo cp /etc/network/interfaces /etc/network/interfaces.old
sudo nano /etc/network/interfaces
  • โดยค่าเริ่มต้นของไฟล์มันมีแค่นี้หว่า ซึ่งมันไม่มีตรงใหนที่บ่งบอกว่า ตั้งค่า IP โดยรับจาก DHCP เลย
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
  • จากนั้นแก้ไขให้มันเป็นไปตามคอนฟิกของ Debian ต้นน้ำ ให้รับจาก DHCP
# interfaces(5) file used by ifup(8) and ifdown(8)
#auto lo
#iface lo inet loopback
auto eth0

iface eth0 inet dhcp
---------------------------------------------------------------------------
Explanations:
  • auto eth0 – enable at startup the eth0 
  • interface eth0 inet dhcp – consider that iface eth0 comes from interface eth0, inet tells you that the network configuration is IPv4 and dhcp that the dynamic ip is assigned by a dhcp server.
--------------------------------------------------------------------------- 
  • ทำการบันทึกไฟล์ให้เรียบร้อยแล้วก็สั่ง
sudo ifdown eth0 & ifup eth0 หรือ sudo /etc/init.d/networking restart
  • ถ้าสั่งแล้วมันยังไม่รับค่า IP จาก DHCP อีกก็ รีบูตมันเลยครับ

หรือในกรณีที่เราต้องการกำหนดแบบ SET STATIC IP ให้แก้ไขประมาณนี้ 
  • ทำการแก้ไขไฟล์ /etc/network/interfaces เช่นเดิมด้วยคำสั่ง
sudo nano /etc/network/interfaces
  • จากนั้นให้เราเพิ่มหรือแก้ไขคอนฟิกให้เป็นประมาณนี้
# interfaces(5) file used by ifup(8) and ifdown(8)
#auto lo
#iface lo inet loopback


auto eth0

iface eth0 inet static

address 192.168.10.5

netmask 255.255.255.0

network 192.168.10.0

broadcast 192.168.10.255

gateway 192.168.10.1
---------------------------------------------------------------------------
Explanation:
  •     auto eth0 – enable at startup the eth0 interface
  •     iface eth0 inet static- consider that iface eth0 comes from interface eth0, inet tells you that the network configuration is IPv4 and static that your network interface has static ip adresses.
  •     address – the network’s IP address
  •     netmask – the network’s mask address
  •     network – the network’s address
  •     broadcast – the broadcast address
  •     gateway – the gateway address
--------------------------------------------------------------------------- 

  • จากอ้างอิงเค้าบอกว่าไม่จำเป็นต้องระบุ network และ broadcast แล้วมันก็จะได้ประมาณนี้

# interfaces(5) file used by ifup(8) and ifdown(8)
#auto lo
#iface lo inet loopback


auto eth0

iface eth0 inet static

address 192.168.10.5

netmask 255.255.255.0

gateway 192.168.10.1
  • การตั้งค่าเป็น static ip เราต้องกำหนดค่า DNS Server ด้วยโดยการแก้ไขไฟล์ /etc/resolve.conf ก่อนทำการแก้ไขเช่นเคยอย่าลืม กันเหนียวไว้ก่อน
sudo cp /etc/resolv.conf /etc/resolv.conf.org
sudo nano /etc/resolv.conf
  • เราแก้ไขให้เป็นประมาณนี้
name server 8.8.8.8
  • ในตัวอย่างนี้เราใส่เป็น Google public DNS Server IP 8.8.8.8 หรือ 8.8.4.4
  • เมื่อกำหนดค่า DNS Server IP เรียบร้อยก็บันทึกไฟล์ สุดท้าย restart service network ด้วยคำสั่ง
sudo /etc/init.d/networking restart
Ref
  • http://linuxg.net/how-to-setup-static-or-dynamic-ip-addresses-on-debian-based-linux-systems/
  • http://askubuntu.com/questions/624337/where-in-system-settings-do-i-set-a-static-ip

Wednesday, May 20, 2015

Joomla blank page in the front (1.5) and Fatal error: Call to undefined function apc_fetch()

  • Joomla 1.5 ย้ายจาก Remote host (Debian 7) to Local host (Ubuntu 15.04)
  • แล้วรันหน้า front เป็น blank ทำไงหว่า จะ debug ไงวะ PHP ตูก็เขียนไม่ค่อยเป็นซะด้วยซวยล่ะ

Solved
  • turn error reporting on by editing your configuration.php.
     
  • added the following line after the } and before the ?> this is what you get
}
ini_set( 'display_errors', true ); error_reporting( E_ALL );
?>

  • it will show FATAL ERROR then search this error in google
  • in my case it show
Fatal error: Call to undefined function apc_fetch() in ...
  • solved this case by switching the cache setting from YES to NO. 

Ref
  • http://forum.joomla.org/viewtopic.php?f=36&t=260137&start=30
  • http://forum.joomla.org/viewtopic.php?p=2063314

Friday, May 15, 2015

Install Ubuntu 15.04 ติดปัญหา SATA และ Login display resolution เหมือนเดิมเลย

ปัญหาระหว่าง โน๊ตบุ๊ค ASUS F81SSeries กับ SATA และ ATI driver
ปัญหาแรกเรื่อง SATA เป็นมาตั้งแต่ Ubuntu 10.10 แล้วหว่า ตอนนี้ก็ยังเป็นอยู่

ปัญหาที่ 1
  • ติดตั้ง Ubuntu 10.10 ไม่ได้ (ด้วย CD หรือ USB) ปัญหาคือ มันโหลดไปถึงหน้าที่มีแค่ cursor กระพริบด้าน ซ้ายบน

วิธีแก้ปัญหาที่ 1
  • ตอนติดตั้ง(หน้าเลือกว่าจะ Try หรือ Install เลย หรือ Check mem หรือ Boot hardisk) สมมุติในที่นี้เราเลือก Install Ubuntu ก็แล้วกัน
  • จากนั้นให้เรากด F6 จะมี Popup สักอย่างขึ้นมา และกด ESC เพื่อเอา Popup นั้นออก เราจะเห็น Boot Options มองหาคำว่า "quiet splash" ลบออกซะ และใส่คำนี้แทน "pci=nomsi" จากนั้นกด Enter เพื่อทำการบูตเพื่อจะติดตั้ง เราก็จะสามารถทำการติดตั้งได้ เป็นปกติ

ปัญหาที่ 2
  • หลัง จากติดตั้งเรียบร้อย จะทำการเข้าระบบ Ubuntu เลือก OS ในหน้า Grub เสร็จ อาการมันเป็นเหมือนเดิมคือ มี cursor กระพริบที่ด้านซ้ายบน เหมือนปัญหาตอนติดตั้งแป๊ะเลย

วิธีแก้ปัญหาที่ 2
  • เมื่อ เปิดเครื่องเข้าหน้า Grub ให้เรากด E เพื่อแก้ไข Grub มองหาคำว่า "quiet splash" ลบมันออกเช่นเดิมและใส่คำว่า "pci=nomsi" จากนั้นกด Ctrl + X เพื่อบูตเข้าระบบ Ubuntu เรา
  • หรือถ้า ถ้าไม่พบ quiet splash เนื่องจากสาเหตุอื่นๆ ให้เราเติม pci=nomsi ต่อประมาณบรรทัดที่ 7 (เว้นวรรคด้วย) จึงกด Ctrl + X เพื่อเข้าสู่ระบบอีกที
  • หลังจากเข้าระบบได้แล้วให้เราไปแก้ไข grub
sudo gedit /etc/default/grub
  • มองหาคำว่า "quiet splash" ลบออก และ แทนด้วยคำว่า "pci=nomsi" หรือ จะลบออกเลยโดยปล่อยว่างก็ได้เช่นกัน ในกรณีไม่เอา Plymouth นะ
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
  • แก้ไหม่เป็น
GRUB_CMDLINE_LINUX_DEFAULT="pci=nomsi"
  • จากนั้น save ไฟล์ grub เราซะและทำการ update ด้วยคำสั่ง
sudo update-grub
  • เป็นอันเรียบร้อย เมื่อเราบูตระบบใหม่ เราก็จะเข้าะระบบได้ปกติแหละ
ปัญหาเรื่อง screen resolution หน้า login แก้ปัญหาโดย ตั้งแต่ 11.04 เลยนะ ตอนนี้ยังเหมือนเดิม
  • ปิดงานทั้งหมด logout ออก
  • กด ctrl+alt+F1
  • login เข้า user เราปกติ
sudo /etc/init.d/gdm stop
sudo Xorg -configure
sudo mv ./xorg.conf.new /etc/X11/xorg.confstartx
  • ทำตามด้านบนนี้แล้ว คำสั่งสุดท้าย sudo Xorg -configure มันก็ไม่สร้าง xorg.conf ให้เราเลย
  • แถมยัง fatal error ซะอีก
แก้ปัญหาเรื่อง login resolutionโดยสร้างไฟล์ xorg.conf แบบ manual ไง  
  • สร้างไฟล์ด้วยตัวเราเองโดยเปิด editor สักตัวขึ้นมา
sudo nano /etc/X11/xorg.conf
  • เพิ่มข้อมูลเข้าไปในไฟล์ xorg.conf เราซะหน่อยในที่นี้ Notebook เราใช้ค่าประมาณนี้ได้เลย (ในการแก้ปัญหา login resolution นะ)
 Section "Screen"
       Identifier "Screen0"
       Device     "Card0"
       Monitor    "Monitor0"
    
    SubSection "Display"
        Depth 24
        Modes "1024x768" "1280x960" "640x480" "800x600"
    EndSubSection
EndSection
  • สุดท้ายบันทึกไฟล์ reboot สักรอบเพื่อความชัวร์
ที่มา
  • http://juuier.blogspot.com/2010/10/sata-ubuntu-1010-mervarick.html
  • http://juuier.blogspot.com/2011/10/fix-login-screen-resolution-in-ubuntu.html
  • http://juuier.blogspot.com/2011/05/fix-login-screen-resolution-in-ubuntu.html

Friday, May 1, 2015

Error while change default data directory MySQL -> cp: failed to extend '/var/lib/mysql/ibdata1': Input/output error

ประเด็นอยู่มีอยู่ว่า
  • ก่อนหน้านี้ได้ทำการย้ายจาก data file MySQL ซึ่งค่าเริ่มต้นจะอยู่ที่พาธ /var/lib/mysql/ (อ้างอิง debian 7) และ ได้ย้ายไปที่ /media/DATA/mysql ด้วย โพสนี้ 
  • http://juuier.blogspot.com/2014/11/change-default-directory-mysql-debian-7.html
  • ซึ่งเป็น ต่อผ่าน SATA แต่ใช้ไปนานๆ มันช้าหว่า
  • เลยจะย้าย data directory ของ MySQL ไปพาธต้นฉบับ /var/lib/mysql ซึ่งเป็น SAS
  • เริ่มโดย /etc/init.d/mysql stop
  • ตามด้วยแก้ไขไฟล์ /etc/mysql/my.cnf แก้ไขให้เป็นดั้งเดิมซะ datadir = /var/lib/mysql
  • และใช้คำสั่ง cp data มาด้วย แต่ใช้คำสั่ง cp -R ... แล้ว มัน error ดังภาพด้านบน
cp: reading `/media/DATA/mysql/ibdata1': Input/output error
cp: failed to extend `/var/lib/mysql/ibdata1': Input/output error
  • คือ directory และ file ทุกตัวผ่านเหลือแต่ ibdata1 มัน error ตลอด
  • cp กี่ครั้งก็ยังเหมือนเดิม เรา cp มาแล้วมัน failed จะ start mysql ก็ failed ตลอดเลย
Solved
  • sudo /etc/init.d/mysql stop
  • เราก็คัดลอกทุกอย่างนั่นแหละ ยกเว้น
  • ib_logfile0, ib_logfile1 และ ibdata1 พวกนี้ไม่ต้อง cp มา file หรือ directory อื่นๆ ภายใต้ /var/lib/mysql เอามาให้หมด
  • จากนั้น sudo /etc/init.d/mysql start
อ่านเพิ่ม
  • http://www.geekbase.in.th/mysql-is-continuing-to-grow-despite-the-database-is-deleted/
  • http://www.webopedia.com/DidYouKnow/Computer_Science/sas_sata.asp