เมื่ออาทิตย์ที่แล้วพี่อดุลย์แห่ง NanoSoftTech ทักผ่าน Facebook มาถกปัญหาเกี่ยวกับ phpvirtualbox ซึ่งนานๆ ติดตั้งทีก็เล่นเอาลืมเหมือนกัน และการตั้งค่าในเวอร์ชั่นใหม่มันจุกจิกกว่าเดิมนิดหน่อย เอาล่ะเพื่อกันลืมก็ขอเขียนเป็น How-To ไว้ซักหน่อยแก้ลืมครับ มาลงมือกัน ก่อนอื่นเราต้องมี VirtualBox ก่อน ต้องใช้รุ่น Oracle เท่านั้น ใช้ Open Source Edition ไม่ได้นะครับ :)

แปลงร่างกันก่อน

sudo -s

จากนั้นใช้คำสั่ง wget เพื่อเอา VirtualBox มาติดตั้ง เลือกรุ่นที่ต้องการให้ดูจากหน้าดาวน์โหลดของ VirtualBox ของผมใช้ Ubuntu Server 12.04 LTS รุ่น Precise Pagolin ครับ

wget http://download.virtualbox.org/virtualbox/4.2.0/virtualbox-4.2_4.2.0-80737~Ubuntu~precise_amd64.deb

จากนั้นสั่งติดตั้งด้วยคำสั่ง

dpkg -i virtualbox-4.2_4.2.0-80737~Ubuntu~precise_amd64.deb

เมื่อติดตั้งได้แล้ว ให้เพิ่มผู้ใช้ vbox และกำหนดให้อยู่ในกลุ่ม vboxusers

useradd -m vbox -G vboxusers

กำหนดรหัสผ่านให้ผู้ใช้ vbox

passwd vbox

สร้างไฟล์ /etc/default/virtualbox เพื่อเก็บ config ของ VirtualBox

vi /etc/default/virtualbox

ใส่ข้อมูลลงไปดังนี้

VBOXWEB_USER=vbox

จากนั้นกำหนดให้ Web Services ของ VirtualBox ทำงานทุกครั้งที่เปิดเครื่อง และสั่ง start service โดยใช้คำสั่ง

update-rc.d vboxweb-service defaults
/etc/init.d/vboxweb-service start

ตอนนี้เราก็ได้ VirtualBox ที่เราเรียกกันว่า VirtualBox Headless กันแล้ว ทีนี้มาติดตั้ง phpvirtualbox กันครับ ติดตั้งแพคเกจที่จำเป็นต้องใช้กันก่อน

apt-get install apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common apache2 apache2-doc apache2-suexec libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libapr1 php5-common php5-mysql php5-suhosin php-pear wget

ดาวน์โหลด phpvirtualbox จากเว็บไซต์โครงการ http://code.google.com/p/phpvirtualbox

wget http://phpvirtualbox.googlecode.com/files/phpvirtualbox-4.1-10.zip

แตกไฟล์ zip แล้วคัดลอกไปยัง /var/www

unzip phpvirtualbox-4.1-10.zip
mv phpvirtualbox-4.1-10 phpvirtualbox

แก้ไขค่า config ใน /var/www/phpvirtualbox ดังนี้

cp config.php-example config.php
vi config.php

ใส่ข้อมูลในไฟล์ ดังนี้

var $username = 'vbox';
var $password = 'very-secret-password';

เมื่อตั้งค่าเสร็จให้คุณสั่ง start หรือ restart Apache

/etc/init.d/apache restart

แล้วเปิดเว็บ browser ไปยังเซิร์ฟเวอร์ของเราได้เลย ตัวอย่างเช่น http://my-virtualbox-server.com/virtualbox/ จะปรากฎหน้าจอให้เราใส่ username และ password คือ admin ที่เหลือก็เหมือนการทำงานบน GUI ปกติแล้วครับ :)

เพิ่งรู้ว่า VirtualBox 4.1 สามารถ Clone Virtual Machine ได้แล้ว (ผมตกข่าว) ก็เลยได้โอกาสมาทดลองกับเครื่องตัวเอกสักหน่อย วิธีการก็ง่ายมากครับ อันดับแรกเราต้องมี VM ที่ยังไม่สั่ง Start หรือเป็น Snapshot ก็ได้ ขั้นตอนถัดมาก็สั่ง Clone ครับ :) การ Clone ผ่าน GUI ก็คลิกขวาที่ชื่อ Virtual Machine แล้วเลือก Clone

ง่ายมั๊ยครับ สำหรับคำสั่ง Clone ผ่าน command line สามารถทำได้ดังนี้

VBoxManage clonevm server1 --mode all --name server2 --register

ขอให้มีความสุขกับ VirtualBox ครับ เพราะ VirtualBox makes me happy!

เมื่อเดือนที่แล้วมีคนถามว่าจะใช้ Sun VirtualBox 3.0 บน Command Line ยังไงวันนี้ได้ข้อมูลมาเขียนแล้วครับ โดยปกติแล้ว VirtualBox ที่เราติดตั้งกันบน Server จะมี GUI แล้วเราสร้าง Virtual Machine ได้ง่าย แต่ถ้าไม่มี GUI ละทำอย่างไร? จะควบคุม VirtualBox ได้ยังไง remote เข้าไปดูหน้าจอได้อย่างไร? อันนี้เป็นปัญหาแต่นอน วันนี้มีคำตอบเราใช้ VBoxHeadless ครับ เอาล่ะมาเริ่มกันเลย

อันดับแรกให้เพิ่ม user ชื่อว่า admin กลุ่ม admin ขึ้นมาครับ

# groupadd admin
# useradd -d /home/admin -m -g admin -s /bin/bash admin

จากนั้นกำหนด password 

# passwd admin

ให้ล็อกอินใหม่โดยใช้ user admin นี้ จากนั้นเริ่มติดตั้ง VirtualBox แปลงร่างเป็น root ก่อนครับ

$ su

ติดตั้ง Development Tools

# yum groupinstall ‘Development Tools’
# yum groupinstall ‘Development Libraries’
# yum install SDL kernel-devel kernel-headers

จากนั้นดาวน์โหลด VirtualBox ให้ตรงกับ Architecture ของระบบ http://www.virtualbox.org/wiki/LinuxDownloads หากคิดไม่ออกให้ใช้คำสั่ง

# uname -m

เพื่อดู Architecture ได้ ของผมเป็น x8664 นั่นหมายความว่าผมต้องดาวน์โหลด VirtualBox สำหรับ AMD64 เริ่มดาวน์โหลดกันเลย!

# cd /tmp
# wget http://download.virtualbox.org/virtualbox/3.0.0/VirtualBox-3.0.049315fedora11-1.x8664.rpm

เราจะได้ไฟล์แปลกๆ จาก wget ใก้เปลี่บยชื่อไฟล์ให้ถูกต้องดังนี้

# mv VirtualBox-3.0.049315fedora11-1.x8664.rpm?e=1247145598&h=bd5420531eeb13489ca4560a74bbf532 VirtualBox-3.0.049315fedora11-1.x8664.rpm

จากนั้นติดตั้งได้เลยครับ

# rpm -ivh VirtualBox-3.0.049315fedora11-1.x8664.rpm

จากนั้นเพิ่มกลุ่ม vgboxusers ให้ผู้ใช้ที่ชื่อ admin เพื่อให้เรียกใช้งาน VirtualBox ได้

# /usr/sbin/usermod -G vboxusers admin

หลังจากติดตั้ง VirtualBox เสร็จให้ออกจาก shell root โดยใช้คำสั่ง exit

# exit

เอาล่ะคราวนี้เราได้ VirtualBox มาแล้วแต่ไม่มี GUI เราจะสร้าง Virtual Machine ยังไง คำตอบอยู่ที่ VBoxManage ครับ ใครนึกไม่ออกลองใช้คำสั่ง

$ VBoxManage –help

เราจะเห็นคำสั่งที่ใช้งานและพรารมิเตอร์ต่างๆ หรือคุณอาจจะไปดูรายละเอียดวิธีการใช้งานได้ที่เว็บไซต์ http://www.virtualbox.org/manual/UserManual.html#vboxmanage ได้เช่นกัน เอาล่ะไหนมาลองสร้าง Virtual Machine เป็น Ubuntu 9.04 Server กัน ผมเอา iso ของไฟล์ไปเก็บไว้ที่ /home/admin/ ครับ :) มาเริ่มสร้าง VirtualHost กันเลย!

$ VBoxManage createvm -name "Ubuntu 9.04 Server" -register
$ VBoxManage modifyvm "Ubuntu 9.04 Server" -memory "256MB" -acpi on -boot1 dvd -nic1 nat
$ VBoxManage createvdi -filename "Ubuntu904Server.vdi" -size 10000 -register
$ VBoxManage modifyvm "Ubuntu 9.04 Server" -hda "Ubuntu
904Server.vdi"
$ VBoxManage registerimage dvd /home/admin/ubuntu-9.04-server-i386.iso
$ VBoxManage modifyvm "Ubuntu 9.04 Server" -dvd /home/admin/ubuntu-9.04-server-i386.iso

คำสั่งข้างต้นเป็นคำสั่งสร้าง Virtual Machine ชื่อ Ubuntu 9.04 Server ให้ Main Memory 256MB Boot ผ่าน DVD ใช้ NAT สร้าง Disk Image ขนาด 10GB และสั่งให้ boot ผ่าน dvd ซึ่งมี ubuntu-9.04-server-i386.iso เป็นจุด boot นั่นหมายความว่า VM ของเราจะ boot จาก DVD และเข้าสู่กระบวนการติดตั้ง Ubuntu Server ตอนนี้เราได้ VM Profile เรียบร้อยแล้ว ก็มาสั่งให้ VM เราทำงานกันได้แล้วเราใช้ VBoxHeadless เป็นตัว start VM ดังนี้

$ VBoxHeadless -startvm "Ubuntu 9.04 Server"

VBoxHeadless จะ start VM ของเราพร้อมกับโปรโตคอล VRDP (VirtualBox Remote Desktop Protocol) ซึ่งคุณสามารถเห็นหน้าจอ VM นี้ได้จากการ remote เข้ามาจากเครื่องอื่น หากคุณใช้ Windows XP คุณสามารถใช้ Remote Desktop Connection เพื่อเชื่อมต่อได้

สำหรับท่านที่ใช้ Fedora สามารถใช้ remote desktop ได้เช่นกัน แต่ต้องติดตั้งก่อนนะครับ :)

# yum install rdesktop

จากนั้น ให้ออกจาก shell root แล้วใช้คำสั่ง

$ rdesktop -a 16 192.168.0.100

เพื่อเข้าเชื่อมต่อกับ VM ของเราครับ ตรงตัวเลข 16 คือจำนวน bit สี

เท่านี้เราก็จัดการกับ VirtualBox ได้แล้ว ;) ขอบคุณเทคนิดดีๆ จาก Falko แห่ง HowtoForge ครับ

ที่มา – HowtoForge

หลายๆครั้งที่มีผู้ใช้ Ubuntu หน้าใหม่มาถามเรื่องการเริ่มใช้งาน Ubuntu โดยลงใน VM บน Windows และทุกๆครั้งผมก็จะแนะนำไปว่า ลงใน VM มันไม่เหมือน ต้องลงจริงในเครื่อง เชื่อว่าผู้ใช้ Ubuntu หลายๆคนที่เคยเจอคนมาถามลักษณะนี้ก็จะตอบแบบเดียวกัน สาเหตุหลักๆเลยคือ มันไม่นุ่ม ไม่ลื่น ไม่ได้อารมณ์การใช้งาน Ubuntu จริงๆ และที่สำคัญ มันรัน Desktop Effect ไม่ได้

แต่จะไม่ใช่กับ VirtualBox 3 เพราะ VirtualBox 3 ของ SUN จะใช้งาน 3D ได้แล้ว ตามที่มาบอกว่าใช้ได้ทั้ง Direct3D ของ Windows เกมส์ 3มิติ รวมถึง Compiz

ใครชอบเล่น Distro ใหม่ๆ หรือเกาะติดทุก Alpha ของ Ubuntu ก็ คราวนี้ได้ผู้ช่วยแล้วครับ

ที่มา: http://ubuntuclub.com/node/1422