PhpVirtualBox

From Amahi Wiki
Jump to: navigation, search
Msgbox.update.png Update Needed
The contents of this page have become outdated or irrelevant. Please consider updating it.

phpVirtualBox has been packaged for Amahi and is currently in ALPHA testing.

NOTE: This tutorial has not been adapted for Amahi 7 or greater.

How to Install Manually:

  • Ensure Advanced Settings is be enabled on your HDA. This can be done via the Settings tab in the Amahi Dashboard.
  • Navigate to the Amahi Applications tab, create a web app called phpvb.
  • Become root user:
su -
  • Install dependency:
yum -y install php-soap
  • Download and extract the source file:
cd /var/hda/web-apps/phpvb
wget http://phpvirtualbox.googlecode.com/files/phpvirtualbox-4.1-3.zip
unzip phpvirtualbox-4.1-3.zip
mv phpvirtualbox-4.1-3/* html
chown -R apache:users html
  • Copy the example config file.
cd /var/hda/web-apps/phpvb/html
cp config.php-example config.php
  • Edit the copied config.php and change the values below to your user name and password (must be the same user name as added to the vboxusers group during VirtualBox install):
var $username = 'vbox';
var $password = 'pass';
  • Start Web Service:
/usr/bin/vboxwebsrv -b --logfile /dev/null >/dev/null
  • Enable Web Service start on boot:

Exit root user and edit crontab for your user (whoami will display the current user name and must match the one in the previous step):

whoami
crontab -e

and add the following line. (to save, enter : followed by wq):

@reboot /usr/bin/vboxwebsrv -b --logfile /dev/null >/dev/null
  • Create Web Service daemon (this will allow start/stop for updating VirutalBox versions):

As root user, create the file /etc/init.d/vboxwebsrv and add the following (ensure you replace username on line 6 with the same user name as added to the vboxusers group during VirtualBox install):

#! /bin/sh
PATH=/usr/sbin:/usr/bin:/sbin:/bin
DESC="VirtualBox Web Service"
NAME=vboxwebsrv
SCRIPTNAME=/etc/init.d/$NAME
USER=username
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
[ -f /etc/default/rcS ] && . /etc/default/rcS
. /etc/rc.d/init.d/functions
VBPID=`ps -U ${USER} --no-heading -o pid,cmd | grep vboxwebsrv | grep -v ${SCRIPTNAME} | grep -v  grep | tail -1 | awk '{ print $1 }'`
do_start()
{
  if [ "$VBPID" != "" ] && [ "$VBPID" -gt 0 ]; then
     echo $NAME already running with PID $VBPID
  else
     su ${USER} -c 'vboxwebsrv -b --logfile /dev/null >/dev/null'
  fi
}
do_stop()
{
  if [ "$VBPID" != "" ] && [ "$VBPID" -gt 0 ]; then
       echo Stopping $NAME ...
       kill $VBPID
  else 
       echo $NAME not running
  fi
}
do_status()
{
  if [ "$VBPID" != "" ] && [ "$VBPID" -gt 0 ]; then
       echo Running with pid $VBPID
  else
       echo $NAME not running
  fi
}
case "$1" in
 start)
   [ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME"
   do_start
   ;;
 stop)
   [ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME"
   do_stop
   ;;
 restart|force-reload)
   echo "Restarting $DESC" "$NAME"
   do_stop
   sleep 1
   VBPID=0
   echo Starting $NAME ...
   do_start
   ;;
 status)
   do_status
   ;;
 *)
   echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
   exit 3
   ;;
esac

Set permissions:

chmod 755 /etc/init.d/vboxwebsrv

To use the service, do the following as root user (option: start, stop, restart, force-reload, status):

service vboxwebsrv option
  • That's it. You should now be able to access VirtualBox from your browser at http://phpvb. It will restart automatically on reboot as well. Be aware moving the mouse pointer in this app is quirky and often difficult to navigate.
  • Refer to phpVirtualBox Installation for additional guidance.


NOTE: See Amahi on VirtualBox for detailed guidance on installing Amahi on a virtual machine (VM).