Every web developer needs a good environment to develop their applications. The problem is that not everyone has the money or desire to have an entire computer dedicated to this task. Luckily with computer power increasing and the cost decreasing, it is very easy to setup an dedicated Linux development environment for free.
Getting Started
The first thing you need is to do is choose an environment to create a virtual machine. For this tutorial I am going to use VMware Server. Generally I try to use open source software, but VMware is simply the best virtulization software out there. VMware Server can be downloaded here. Please note that I am going to use version 1.x, not the newer 2.x. I find that the 2.x version takes up more resources and does things a little differently than I like. You can do the 2.x if you like. It is just my preference.
You now need to determine what OS you want to install. You can install any OS you want, but this tutorial will cover Ubuntu server. By default it comes with no GUI which is great since it will take very little system resources. You can download Ubuntu here.
Creating The Virtual Machine and Installing Linux
Now that you have VMware Server installed and you have your ISO image, you are now ready to create a virtual machine.
Click “New Virtual Machine” and follow the directions in the wizard.

Click New Virtual Machine

Click Next

Typical will do for about 99% of all situations.

This tutorial is going to go through installing Ubuntu Linux so make sure you set the correct OS.

Now we need to determine where we are going to put the VM. You can put this where ever you want.

I always do bridged networking. It makes things easier for dealing with IP addresses and the like.

Now determine the size of the VM. You will want to think ahead on this one as increasing the size of a VM is a pain. I also unclick the Allocate all disk space now. They say that it increases performance if it is allocated up front. I have not had any problems with performance when not allocating all the space. Finally click finish.

Now you have a virtual machine created. Now you can run this with the 512 MB of RAM but that is taking into account that a GUI is going to be running full time. For install I usually like to cut that down to 256 MB to help the install go faster. After install you can cut it down depending on what you are doing. For PHP you can easily take it down to 64 MB and Ruby on Rails works better with at least 128 MB. To adjust the RAM simply double click on the RAM and make the adjustment.

You can leave this value as is or take it down to 256MB. It is up to you.

Now you have to mount the iso you downloaded from the internet. Just double click the CD-ROM icon in the main window and click Use ISO image and browse to the file.
Now go ahead and hit the green play button and start up your virtual machine. I am not going to go into deep details into the install of Ubuntu. For the most part you will just hit enter and follow the on screen prompts. Just make sure at the end of the install you have installed the LAMP server and the OpenSSH server. See you at the end!
Assign A Static IP Address To The Server
Assigning a static IP address to your server makes life a lot easier. You always know where to go in your web browser to access it. To do that you have to modify your network interfaces file (I do not know if that is its real name, but that’s what I call it). The smart thing to do is create a backup of your network interfaces file. To do that you type the following command:
cp /etc/network/interfaces ~
That will create a copy of the file in your home directory. To restore the file you type:
sudo cp ~/interfaces /etc/network/interfaces
To edit the file you type the following command:
sudo nano /etc/network/interfaces
Nano is a very simple text editor. You will have to modify this file to fit your network. This can be tricky to figure out. I will gie you the specs for my network and hopefully they will works for you.
Here is what is in my file.
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.101
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.1.255
gateway 192.168.1.1
Now I wish I could give you a rhyme or reason for those numbers. My routers IP address is 192.168.1.1. The rest of the numbers I basically stumbled upon by looking at a known good configuration. The netmask should be in your router config panel. The address is the IP address you want the VM to have. Network and Broadcast are the tricky ones. Hopefully this works for you.
Install Webmin
Now that you have Ubuntu installed and on a static IP you will probably want to have a way to manage everything on the server. Since there is no GUI on the server you will want to have a graphical way to mange some aspects of the server. Luckily there is webmin. It is a web based solution to allow you to manage your server. To get Webmin you have to download it directly from their site. To do that login to your Virtual Machine and enter the following command:
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.441_all.deb
This will download the current (as of this writing) version of Webmin. Now you have to install the package. You can do that by typing:
sudo dpkg -i webmin_1.441_all.deb
If you get any messages saying that you are missing some libraries enter the following command after the installiation is complete:
sudo apt- get install -f
That will resolve any issues with missing libraries.
Now you can go to any machine on your network and type https://<ip_address>:10000 and you will get Webmin.

Just enter your username and password to login. Very simple!
You will notice that this thing is ugly! I had a hard time using it because its layout is not ideal. Luckily there is a way to fix that.

Click Webmin in the upper left corner then Webmin Configuration. Then click the icon Webmin Themes.

We are going to install a theme that is based on OSX Tiger. It is the most user friendly theme I have seen. To isntall it you click the radio button From ftp or http URL and enter “http://www.stress-free.co.nz/files/theme-stressfree.tar.gz” into the text box and hit Install Theme. After the install is done it might look a little odd and maybe show an error. All you have to do is go back to the root URL of Webmin and you should be fine.
Now you have a nice easy to manage server.
FTP Server
You have just about everything you need to do development on your server except one thing. FTP. Luckily now that we have Webmin installed we can do that in a snap. At the top you will see Servers. Hover your mouse and see the popup menu. Go down until you see ProFTPD Server and click on that. You will see a message saying that it is not installed, but they can do that for you. Simply click on the link and watch Webmin do all the heavy lifting for you! You can now connect to your server via FTP which will make development on your server a snap!
Conclusion
This should give you a good start on a development server. Go ahead and play around in Webmin. It really makes things a lot easier for you. If you have any questions or comments or suggestions leave a comment below.
Just landed on this post via Google lookup. I love it. This post change my perception and I am taking the RSS feeds. Cheers.