Setting up a project server

May 15, 2008 · Posted in Ubuntu Server 

Quite often you start a new project (inhouse or at a client) and there are no proper project tools available or at least tools you consider usable, agile and do not get in your way of doing important more stuff. For large organizations, they typically will deliver your requested server resources, just after the project has completed. So what to do, when you just want to get up to speed and start hacking?

The solution is to prepare a project server as a VM image. You can choose VMware, VirtualBox some othervirtualization software you are familiar with. Prepare a project server and keep a master copy. When you start a new project, just grab a copy of the master, deploy it to VM player running at some spare resource, for example a desktop PC and your ready to roll.

I did this for a PoC project running during april-may at a major bank. The project involved hacking in Perl and show how that mission critical large application could be modernized, by introducing common software design artefacts and development procedures.

I’m a Ubuntu user, so it was natural for me to build the project server running Ubuntu Server on top of VMware Workstation. I have been using VMware in the past, so I went for the least number of struggles. The WM was configured with very modest specs, 256 GB RAM and 8GB disk for example. Because I used the server edition (text only), there were no need to account for Gnome@XWindows RAM space.

So, create a VM and install Ubuntu Server. At the time, I used version 7.10 (Gutsy Gibbon), but that’s not important. The beauty of a Debian based OS as Ubuntu is APT - the package manager system. It works like YUM in RedHat, but reliable (got my point? ;-).

For a project server, you need (at least) a source code version control system (VCS), a wiki and a work log (wlog). A wlog is like a blog, but it covers the project history and you submit events, decisions designs and milstones and more into it. The tools chosen was

On the backend, these tools was used to support the frontend tools

  • Apache web server
  • Tomcat servlet container (for XPlanner)
  • Java for Tomcat
  • MySQL for all backing storage
  • PHP for WordPress
  • Python for TRAC

Now comes the fun, software installation in Ubuntu. The “fun” comes from you just type a couple of ‘apt-get’ commands and you are done.

sudo apt-get install mysql-server mysql-client
sudo apt-get install apache2
sudo apt-get install php5 libapache2-mod-php5 php5-mysql php-pear php-cli php-xml-util
sudo apt-get install python libapache2-mod-python python-mysqldb
sudo apt-get install subversion subversion-tools libapache2-svn
sudo apt-get install trac
sudo apt-get install wordpress

Some of the packages will prompt you for additional information and some will need som additional tweak. But the main point is you got most of it up and running with a very little effort. The Java stuff jre, tomcat, xplanner requires some more actions. First install the platform

sudo apt-get install sun-java6-bin sun-java6-jdk jsvc

The last tool is used to run a Java program as a service, e.g., Tomcat. Then download and install Tomcat from Apache. There is a tomcat from Ubuntu, but at the time I wasn’t comfortable with its installation and went for a hands-on installation. Finally, download and deploy xplanner to tomcat.

There are some configuration file editing missing from my description, but I want to show you have easy it is to get going. Save a master copy of the VM and re-use it for your next project.

Comments

Leave a Reply