Friday, January 22, 2016

Server error 500 when move host for Wordpress

  • ประเด็นง่ายๆ คือ มีเว็บที่สร้างด้วย wordpress 4.4.1 จะย้ายจาก host จริง เป็น public ip ไปที่ VPS (Virtual Private Server) แต่ก็ได้ public ip เช่นกัน 
  • host เดิม และ host ใหม่ ใช้ Ubuntu 14.04.3 LTS Server เหมือนกัน
  • ย้ายโดยการ mysqldump แล้วก็ตามด้วย rsync ทั้ง folder เว็บและฐานข้อมูล
  • สุดท้ายก็นำเข้าฐานข้อมูล แล้วสร้าง user mysql grant user ให้เรียบร้อย
  • รวมทั้ง config apache2 ก็เอามาจากของเดิมทั้งหมด
  • ทำไมรัน Wordpress มัน server error 500 หว่า แล้ว ดูคอนฟิก database มั่นใจว่าไม่มีอะไรผิดปกติ
  • ดู error มันก็ไม่แจ้งอะไรเลยทำไงดีล่ะทีนี้
Solved 
  • เปิด wp-config.php ของ wordpress ใน host ที่เราพึ่งย้ายเข้าไปใหม่ขึ้นมา
  • จากนั้นบรรทัดแรกของโค้ด php เพิ่มค่าประมาณนี้เข้าไปเพื่อให้มันอธิบาย error ให้มากขึ้นสำหรับ error php
ini_set('display_errors',1);
error_reporting(E_ALL);
  • จากนั้นบันทึกไฟล์คอนฟิกให้เรียบร้อย และทำการ refresh หน้าเว็บ wordpress อีกรอบ
  • ที่นี้เราก็จะได้เบาะแสของ error เพิ่มขึ้นแล้ว ซึ่งในกรณีของผู้เขียน แสดงประมาณนี้
  • Faltal error: ... 'Facebook needs the CURL php extension' ...
  • จากนั้นผู้เขียนก็แก้ปัญหาตามที่ error แจ้งซะเลย
  • sudo apt-get install php5-curl && sudo service apache2 restart
  • เรียบร้อยคับ wordpress รันได้เหมือนโฮสเดิมแหละ
อ้างอิง
  • http://stackoverflow.com/questions/8250914/wordpress-move-site-online-500-internal-error

Facebook auto publish Wordpress plugin need PHP CURL extension

  • เข้าใจว่ามันน่าจะลงให้โดยค่าเริ่มต้นตอนติดตั้ง wordpress หรือไม่ก็ตอนลง theme แบบ premium 
  • แต่ไง๋มัน activate ไม่ได้หว่า
Solved
sudo apt-get install php5-curl && sudo service apache2 restart

Wednesday, January 20, 2016

Split the terminal into more than one “view” with tmux

  • เคยมั้ยตอนเรารีโมทเซิร์พเวร์ อยากได้หน้า terminal หลายๆ หน้าให้แสดงในหน้าเดียวแบบนี้

tmux is a terminal multiplexerWhat is a terminal multiplexer? It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal. And do a lot more. See the manual.

การใช้งานแบบคร่าวๆ ติดตั้งและรันโปรแกรม sudo apt-get install tmux && tmux
  • Split screen vertically: Ctrlb and Shift5
  • Split screen horizontally: Ctrlb and Shift"
  • Toggle between panes: Ctrlb and o
  • Close current pane: Ctrlb and x
You can achieve more complex layouts by splitting panes. You can also have multiple windows with panes and switch between them.
  • Create windows: Ctrlb and c
  • Switch to next window: Ctrlb and n
  • Switch to previous window: Ctrlb and p
  • Destroy current window: Ctrlb and x
Ref
  • http://tmux.github.io/
  • http://unix.stackexchange.com/questions/7453/how-to-split-the-terminal-into-more-than-one-view

Tuesday, January 19, 2016

Failed to fetch http://th.archive.ubuntu.com & Err http://th.archive.ubuntu.com/ubuntu/ trusty/universe ... 403 Forbidden [IP: ...]

  • ติดตั้ง Ubuntu 14.04.3 LTS Desktop 
  • ตอนแรกก็ติดตั้ง แพคเกจได้ปกติ
  • แต่ทำไมวันนี้ มัน error งี้ล่ะ
Error

user@myhost:~$ sudo apt-get install guake
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libvte-common libvte9 python-vte
The following NEW packages will be installed:
  guake libvte-common libvte9 python-vte
0 upgraded, 4 newly installed, 0 to remove and 11 not upgraded.
Need to get 589 kB of archives.
After this operation, 2,810 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Err http://th.archive.ubuntu.com/ubuntu/ trusty/main libvte-common all 1:0.28.2-5ubuntu1
  403  Forbidden [IP: 192.100.77.186 80]
Err http://th.archive.ubuntu.com/ubuntu/ trusty/main libvte9 amd64 1:0.28.2-5ubuntu1
  403  Forbidden [IP: 192.100.77.186 80]
Err http://th.archive.ubuntu.com/ubuntu/ trusty/main python-vte amd64 1:0.28.2-5ubuntu1
  403  Forbidden [IP: 192.100.77.186 80]
Err http://th.archive.ubuntu.com/ubuntu/ trusty/universe guake amd64 0.4.4-1ubuntu1
  403  Forbidden [IP: 192.100.77.186 80]
E: Failed to fetch http://th.archive.ubuntu.com/ubuntu/pool/main/v/vte/libvte-common_0.28.2-5ubuntu1_all.deb  403  Forbidden [IP: 192.100.77.186 80]

E: Failed to fetch http://th.archive.ubuntu.com/ubuntu/pool/main/v/vte/libvte9_0.28.2-5ubuntu1_amd64.deb  403  Forbidden [IP: 192.100.77.186 80]

E: Failed to fetch http://th.archive.ubuntu.com/ubuntu/pool/main/v/vte/python-vte_0.28.2-5ubuntu1_amd64.deb  403  Forbidden [IP: 192.100.77.186 80]

E: Failed to fetch http://th.archive.ubuntu.com/ubuntu/pool/universe/g/guake/guake_0.4.4-1ubuntu1_amd64.deb  403  Forbidden [IP: 192.100.77.186 80]

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

Solved

  • ค้นหาโปรแกรมด้วยคำว่า software & updates 
  • Download from ค่าเริ่มต้นตอนแรกเป็น Thailand ให้เราเปลี่ยนเป็น Main server บันทึกให้เรียบร้อย
  • แล้ว ทำการอัพเดทรายการแพคเกจ แล้วติดตั้งโปรแกรมก่อนหน้านี้ได้เลย
  • เข้าใจว่า repo server ในไทยมันไม่ค่อย support รุ่นเก่าๆ หว่า sudo apt-get update && sudo apt-get install guake ได้เรียบร้อยไม่มีปัญหาแล้วทีนี้
Ref
  • http://askubuntu.com/questions/32064/failed-to-fetch-http-in-archive-ubuntu-com-ubuntu-dists-maverick-release
  • http://askubuntu.com/questions/553765/failed-to-fetch-update-on-ubuntu-14-04-lts-trusty-tahr/553766

What is the difference between authorized_key and known_host file for SSH?

Authorized Keys

By default SSH uses user accounts and passwords that are managed by the host OS. (Well, actually managed by PAM but that distinction probably isn't too useful here.) What this means is that when you attempt to connect to SSH with the username 'bob' and some password the SSH server program will ask the OS "I got this guy named 'bob' who's telling me his password is 'wonka'. Can I let him in?" If the answer is yes, then SSH allows you to authenticate and you go on your merry way.
In addition to passwords SSH will also let you use what's called public-key cryptography to identify you. The specific encryption algorithm can vary, but is usually RSA or DSA. In any case when you set up your keys, using the ssh-keygen program, you create two files. One that is your private key and one that is your public key. The names are fairly self-explanatory. By design the public key can be strewn about like dandelion seeds in the wind without compromising you. The private key should always be kept in the strictest of confidence.
So what you do is place your public key in the authorized_keys file. Then when you attempt to connect to SSH with username 'bob' and your private key it will ask the OS "I got this guy name 'bob', can be be here?" If the answer is yes then SSH will inspect your private key and verify if the public key in the authorized_keys file is its pair. If both answers are yes, then you are allowed in.

Known Hosts

Much like how the authorized_keys file is used to authenticate users the known_hosts file is used to authenticate servers. Whenever SSH is configured on a new server it always generates a public and private key for the server, just like you did for your user. Every time you connect to an SSH server, it shows you its public key, together with a proof that it possesses the corresponding private key. If you do not have its public key, then your computer will ask for it and add it into the known_hosts file. If you have the key, and it matches, then you connect straight away. If the keys do not match, then you get a big nasty warning. This is where things get interesting. The 3 situations that a key mismatch typically happens are:
  1. The key changed on the server. This could be from reinstalling the OS or on some OSes the key gets recreated when updating SSH.
  2. The hostname or IP address you are connecting to used to belong to a different server. This could be address reassignment, DHCP, or something similar.
  3. Malicious man-in-the-middle is happening. This is the biggest thing that key checking is trying to protect you from.
In both cases, known_hosts and authorized_keys, the SSH program is using public key cryptography in order to identify either the client or the server.

Ref

  • http://unix.stackexchange.com/questions/42643/ssh-key-based-authentication-known-hosts-vs-authorized-keys
  • http://security.stackexchange.com/questions/20706/what-is-the-difference-between-authorized-key-and-known-host-file-for-ssh

ว่าด้วยเรื่อง Remote login Ubuntu with root user

  • Ubuntu user รู้อยู่แล้วว่า ติดตั้งระบบ Ubuntu ไม่ว่าจะ Server หรือ Desktop มันจะไม่อนุญาตให้ใช้ root ในการ login ระบบ ทั้ง แบบ local และ remote เราต้องไปคอนฟิกมันเอง
  • ซึ่งมันจะอยู่ที่นี้ /etc/ssh/sshd_config (ก่อนแก้ไขควรสำรองไฟล์ไว้ก่อนนะ)
  • แต่พึ่งรู้ว่า ทำ public key authen ใช้งานโดยที่เราไม่ต้องไปยุ่งกะ sshd_config มันก็ใช้งานได้เลยแฮะ
  • ส่งสัยค่าเริ่มต้นมันจะอนุญาตให้ Login แบบ without password หว่า ทำให้ public key authen มันเลยผ่าน policy ของค่าเริ่มต้น
  • อ้างอิงบน Ubuntu 14.04.3 LTS server edition

Add exist user Ubuntu to group user for permission sudo

  • คนที่ใช้ Ubuntu ก็จะรู้อยู่แล้วว่าตอนติดตั้งระบบใหม่ๆ มันจะให้สร้าง user 1 คนขึ้นมา และมันจะใช้ sudo ได้โดยอัตโนมัติอยู่แล้ว แต่ user ที่สร้างขึ้นภายหลังมันจะใช้ sudo บ่ได้
  • ทำไงล่ะทีนี้ ประมาณว่าต้องทำให้ user ที่เพิ่มภายหลังให้อยู่ในกลุ่ม sudo ด้วยมั้ง
  • อันนี้ทดสอบบน Ubuntu 14.04.3 LTS 
Pattern
sudo adduser
sudo usermod -a -G sudo
Test
sudo adduser user1
sudo usermod -a -G sudo user1
  • ลองใช้ usermod เพิ่ม Group ให้ user แล้วทำไมมันใช้บ่ได้หว่า หรือเรายังไม่ได้ restart service ssh หรือต้อง restart เครื่องเลยหว่า
Method I
sudo adduser user1
sudo adduser user1 sudo
Method II
sudo adduser user1
sudo gpasswd -a user1 sudo
Ref
  • http://askubuntu.com/questions/7477/how-can-i-add-a-new-user-as-sudoer-using-the-command-line
  • http://askubuntu.com/questions/168280/how-do-i-grant-sudo-privileges-to-an-existing-user
  • https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04

Monday, January 18, 2016

Can't install Kali Linux from USB, fails to find CD-ROM drive

  • หลังจากแก้ปัญหาเรื่อง freeze ตอนบูตระบบเพื่อจะติดตั้ง ได้แล้วจากโพสนี้
  • เจอปัญหาใหม่ในขณะติดตั้ง KALI 2.0 คือ พยายามลองติดตั้ง ด้วย USB แล้วมันขึ้น 
fails to find CD-ROM Drive
Solved
when the Window shows CDROM couldn't be mounted ,
  • Unplug your USB from system and re insert it
  • wait for mount/ detection (usb LED glow)
  • Hit Continue
เกี่ยวข้อง
  • http://juuier.blogspot.com/2016/01/hang-on-booting-ubuntu-for-installation.html
อ้างอิง
  • http://superuser.com/questions/962926/cant-install-kali-linux-from-usb-fails-to-find-cd-rom-drive

Hang on booting Ubuntu for installation OS Notebook ASUS

  • ปัญหาเรื้อรังของ Notebook ตัวเองกับ Ubuntu ตั้งแต่ 10.10 เป็นต้นมาคือ
  • ตอนติดตั้ง Ubuntu ใหม่ ไม่ว่าจะติดตั้งด้วย CD หรือ USB ตอนบูตระบบ หน้าจอจะขึ้นสีดำและมี cursor กระพริบแล้วไม่ได้ไปต่อ อาการมันก็ ค้าง หรือ freeze นั่นเอง
  • การแก้ปัญหา ในตอนนั้นคือ ตอนเข้าหน้าเลือก mode การติดตั้งให้เรากด F6 จากนั้นกด Esc และทำการแก้ไข Boot Options โดยมองหาคำว่า quiet splash ให้เราเปลี่ยนคำนี้เป็น pci=nomsi แทนจากนั้นกด Enter เพื่อบูตเข้าระบบติดตั้ง Ubuntu มันถึงจะไม่ค้างคับพี่น้อง
  • หมายเหตุ ในกรณีที่เราทำ USB Live boot โดยโปรแกรมอื่นๆ พอถึงหน้าเลือก mode ในการติดตั้งให้เรากด Tab เพื่อแก้ไข Boot Options แทน F6
  • แล้วจะติดตั้ง Linux distro อื่นๆ ก็ freeze ติดตั้งอะไรไม่ได้เลย จะแก้ Boot Options มันก็หาคีย์เพื่อที่จะแก้ไม่ได้ เลยได้ใช้แต่ Ubuntu กับเครื่อง Notebook ตัวเอง จะลองอะไรใหม่ๆ ก็ไม่ได้ลองสักที
  • พอดี อยากลอง kali แต่ติดตั้งไม่ได้เหมือนเช่นเคยคือ freeze และขึ้นประมาณ นี้ แล้วไม่ไปต่อ
  • Registered Taskstat Version 1
  • หาข้อมูลในเน็ตอยู่นานเจอ กระทู้อ้างอิง ว่ามันเป็นปัญหาของ Notebook ASUS เหมือนกัน และลองทำตามเค้าดู
Solved
  • Go to BIOS by F2 >Security > I / O interface Security> "New interface card"
  • SET IT TO LOCKED!!!
เพิ่มเติม
  • การ ตั้งค่า BIOS ของโพสนี้ นอกจากที่มัน ทำให้ผู้เขียนติดตั้ง KALI Linux บน Notebook ASUS ของผู้เขียนได้แล้วนั้น
  • มันยังช่วยให้ตอนติดตั้ง Ubuntu ไม่ต้องแก้ไขค่า Boot Options เหมือนเดิม ก็สามารถติดตั้งระบบได้เป็นปกติเหมือนชาวบ้านเค้าแล้วครับพี่น้อง
บทความที่เกี่ยวข้อง
  • http://juuier.blogspot.com/2010/10/sata-ubuntu-1010-mervarick.html
  • http://juuier.blogspot.com/2012/05/install-ubuntu-1204-on-asus-f81series.html
  • http://juuier.blogspot.com/2015/05/install-ubuntu-1504-sata-login-display.html
อ้างอิง
  • http://ubuntuforums.org/archive/index.php/t-1662577.html

Popular Posts