This is (roughly) what I did to install my Web 2.0 internet site ArabicReader on a virtual server (VPS) running Ubuntu:

create a new user without root rights to run the servers (subversion, postgres, python/cherrypy)

python 2.5 was already installed

apt-get install simplejson

apt-get install language-pack-en

apt-get install build-essential (C++, make etc)

install traits3 (from ETS)

apt-get install postgres

tasksel install lamp (Apache 2.2, MySQL, PHP 5)

apt-get install phpbb

apt-get install subversion

import into subversion my python code and pgsql database backup

checkout from subversion into a user directory

import the pgsql database

set up the apache proxy to route services to python (cherrypy)

update my dns records to point to the new IP address

change unix_socket_directory in postgresql.conf to /tmp so that I can run as my user – pg_dump then needs -h /tmp as parameters

All in all it only took a day.

Since then:

install mod_rewrite so that site root (/) maps to the default page (arabic_reader.html)
install mod_deflate which considerably cuts down on net traffic

configure postfix, using /etc/aliases, to redirect incoming site mail to my gmail account

Edit Mar/2016:

change postfix configuration to cope with gmail rejecting IPv6 emails

Edit Dec/2008:

Switch to smf away from phpbb

Start using sqlalchemy to make unit testing the database areas easier (using in-memory SQLite databases)

Start using python-cheetah to provide a server-generated search page

apt-get install sqlalchemy
apt-get install pycurl

Edit Jan/2010:
Install gv and ps2pdf
Install relevant type1 fonts for ghostscript (generate Fontmap and add to a gs font/resource dir)