Part A - Hardware
Motherboard : ASRock Rack C2750D4I server board
CPU : Intel Atom C2750
RAM : 4 x 8GB (32GB) DDR3-1600
Hard Drive : 2 x Western Digital 4TB WD4000F9YZ
Western Digital 4TB WD4000F9YZ is not certified by ASRock, so, it cannot boot from SATA3 ports. The SATA2 ports are used in this case.
The performance of C2750 is similar to Xeon E3-1220L. Please the comparison page at here.
The power consumption of this setup is between 30W to 80W.
Make sure you have enabled "Virtualization" (VT-x) in the BIOS.
Part B - Software
Operating System : Ubuntu Server 16.04.1 LTS
Virtual Machine : VirtualBox 5.0.30
Front End : PHPVirtualBox 5.0.5
Web Server : Hiawatha
RAID : Software RAID 1
Part C - Installation
Part C.1 - Operating System and Software RAID 1 Installation
RAID 1 requires two hard drivers for the installation. When you are installing Ubuntu Server 14.04.2 LTS, you are required to do the partitioning. Select "Automatically partitioning" for each drive. The partitions will be (1) 1MB for "biosgrub"; (2) Free Space for root directory; and (3) Free Space for SWAP.
Then select "Configure Software RAID" to configure the Software RAID 1 on Free Space for root directory and Free Space for SWAP partitions. Do not RAID the "biosgrub" partitions. Set the "Free Space for root directory" to be mount at "/" and use as "Ext4 jouraling file system". Set the "Free Space for SWAP" to be used as "SWAP".
Finally, you should select to install "
OpenSSH" when asked.After the installation, your box can be booted up as expected. You can check the status of Software RAID 1 by the following commands :
cat /proc/mdstat
mdadm --detail /dev/md0
mdadm --detail /dev/md1Part C.2 - VirtualBox Installation
After the Ubuntu Server 16.04.1 LTS is installed, you can install VirtualBox on it.
sudo nano /etc/apt/sources.list.d/vbox.listAppend the following line to it :
deb http://download.virtualbox.org/virtualbox/debian xenial contribSave it.
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -sudo apt-get update
sudo apt-get install dkms unzip
sudo apt-get install virtualbox-5.0wget http://download.virtualbox.org/virtualbox/5.0.30/Oracle_VM_VirtualBox_Extension_Pack-5.0.30-112061.vbox-extpacksudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.0.30-112061.vbox-extpackTo uninstall Extension Pack :
sudo VBoxManage extpack uninstall "Oracle VM VirtualBox Extension Pack"Part C.3 - Hiawatha Web Server Installation
sudo apt-get install php-common php7.0-cli php7.0-common php7.0-curl php7.0-gd php7.0-imap php7.0-intl php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-readline php7.0-xml php7.0-zip php7.0-pgsql php7.0-sqlite3 php7.0-fpm php-apcu mysql-server mysql-client php7.0-cgi
apache2-utils php7.0-soapsudo apt-get install libc6-dev libssl-dev dpkg-dev debhelper fakeroot libxml2-dev libxslt1-devwget http://www.cmake.org/files/v3.6/cmake-3.6.2.tar.gz
tar -xvzf cmake-3.6.2.tar.gz
cd cmake-3.6.2
./configure
make
sudo make installwget http://www.hiawatha-webserver.org/files/hiawatha-10.4.tar.gz
tar -xzvf hiawatha-10.4.tar.gz
cd hiawatha-10.4/extra
./make_debian_package
cd ..
sudo dpkg -i hiawatha_10.4_amd64.debsudo systemctl enable hiawathasudo nano /etc/php/7.0/fpm/php.iniMake changes as is.
zlib.output_compression = On
zlib.output_compression_level = 6
cgi.rfc2616_headers = 1Append the following to the php-fpm.conf.
sudo nano /etc/php/7.0/fpm/php-fpm.conf[www]
user = www-data
group = www-data
listen.mode = 0666
listen = /var/run/php/php7.0-fpm.sock
pm = static
pm.max_children = 100
chdir = /sudo nano /etc/hiawatha/hiawatha.confsudo mkdir /etc/hiawatha/enable-sites
sudo mkdir /etc/hiawatha/disable-sitessudo nano /etc/hiawatha/enable-sites/vbox.localMake sure to change the "Hostname" to your IP address.
Part C.4 - PHPVirtualBox Installation
sudo adduser --ingroup vboxusers vboxEnter password when prompted. Make sure you use a simple password as symbols do not accepted by VirtualBox.
wget "http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-5.0-5.zip?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fphpvirtualbox%2F&ts=1476606079&use_mirror=ncu" -O phpvirtualbox-5.0.5.zip
sudo unzip phpvirtualbox-5.0.5.zip -d /var/www/
sudo mv /var/www/phpvirtualbox-5.0.5/ /var/www/vbox
cd /var/www/vbox
sudo cp config.php-example config.php
sudo nano config.phpChange "
$username" to "vbox" and "$password" to the password you just entered.Change "
$consoleHost" to your IP address, such as "192.168.1.120"Uncoment (remove "#" in the front) "
$enableAdvancedConfig = true;" and "$startStopConfig = true;"sudo nano /etc/default/virtualboxAppend the following line to the empty file :
VBOXWEB_USER=vbox
VBOXWEB_HOST=127.0.0.1sudo cp /var/www/vbox/vboxinit /etc/init.d/vboxinit
sudo update-rc.d vboxinit defaultssudo systemctl enable vboxweb-service
sudo systemctl start vboxweb-serviceNow, you can browse to http://[your-server-ip]/index.html, e.g. http://192.168.1.120/index.html.
Log in with "
admin' as username and 'admin" as password.You can copy the iso files to /home/samiux/iso for example by scp command.
Make sure you have installed "Guest Additions" to the all virtual desktop guests. Meanwhile, you need Flash to run the guest VNC.
If you want to browse with http://[your-server-ip]/ only, you need to do the following :
sudo cp /var/www/vbox/index.html /var/www/vbox/index.phpTroubleshooting
For phpvirtualbox login error when php7.0 is updated :
sudo /etc/init.d/php7.0-fpm restartFor phpvirtualbox guest vm showing "saved" or "poweroff" :
sudo systemctl restart vboxweb-serviceBefore upgrading VirtualBox, make sure all your virtual machines (guests) have been shut down. Then, stop the VirtualBox :
sudo systemctl stop vboxdrv
sudo systemctl stop vboxweb-serviceIf the Linux kernel is updated but the Virtualbox kernel module was not compiled by DRM properly, you need to run :
sudo /sbin/rcvboxdrv setupIf you encountered "Uninstalling old VirtualBox DKMS kernel modulesError! Could not locate dkms.conf file." when upgrading, you need to delete the source file of previous version :
sudo rm -rf /var/lib/dkms/vboxhost/[previous version]e.g. /var/lib/dkms/vboxhost/5.0.28
dkms statusAfter that, run the following commands or reboot the box.
sudo systemctl start vboxdrv
sudo systemctl start vboxweb-serviceThen, start all virtual machines in web interface.
That's all! See you.
