This is an old revision of the document!


Web Development

The purpose here is to build a virtual machine that will be used as a LAMP web development environment.

It will be based on a Debian Wheezy OS, with an Apache2 HTTP server, allowing to select a specific PHP version to run for each virtual host through PhpFarm run via suexec.
We'll also add Xdebug to facilitate PHP code debugging.

Finally, MySQL will also be installed as database management system.



Install a Debian Wheezy system from Debian's stable netboot-mini.iso image.

You can refer to this section of the wiki for more in-depth information on how to do this.

We'll have 2 adapters set up for this VM, one for local communication on a 172.20.20.x address and another one for internet access via DHCP.


Setup Network Adapters

In our setup, we'll allocate the IP address 172.20.20.2 as our local access address, you could of course choose whatever fits your personal configuration requirements.
On the first launch of our VM, an arbitrary DHCP address will be allocated to it's first interface, to find out its address, login to the VM using the regular VirtualBox window and type:

> ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:55:21:b7 brd ff:ff:ff:ff:ff:ff
    inet 10.0.7.61/24 brd 10.0.7.255 scope global eth0
    inet6 fe80::a00:27ff:fe55:21b7/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 08:00:27:6e:8b:7d brd ff:ff:ff:ff:ff:ff

This will indicate the allocated DHCP address for your VM, here 10.0.7.61.

From there you might want to use a terminal emulator to access the VM as it will usually be easier to use than the standard VM screen that has no scroll back and copy/paste functionality for example.

Let's now fix the secondary (local) IP address, to this purpose, let's modify the /etc/network/interfaces file:

> nano /etc/network/interfaces

It is now time to install the HTTP Server (Apache2).