PhpVirtualBox

From Amahi Wiki
Revision as of 11:24, 12 July 2011 by E-Vink (talk | contribs) (Since their was no config.php file I had to copy it from config.php-example and edit this one. I added this to the guide.)
Jump to: navigation, search

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

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:
bash code
​su -​
  • Install dependency:
bash code
​yum -y install php-soap​
  • Download and extract the source file:
bash code
​cd /var/hda/web-apps/phpvb wget http://phpvirtualbox.googlecode.com/files/phpvirtualbox-4.0-7.zip unzip phpvirtualbox-4.0-7.zip mv phpvirtualbox-4.0-7/* html chown -R apache:users html​
  • Copy the example config file.
bash code
​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 = 'ian';
var $password = 'pass';
  • Start Web Service:
bash code
​/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):

bash code
​whoami crontab -e​

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

Text
​@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:

bash code
​chmod 755 /etc/init.d/vboxwebsrv​

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

bash code
​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).