In order to enable the user-specific public_html directory open up a terminal and switch to the apache module config directory:
cd /etc/apache2/mods-enabled
If you list all the files inside this directory you’ll notice that all of them are actually symbolic links. To enable mod_userdir, which is the module you’re interested in, you’ll have to create two symlinks to the relevant files:
sudo ln -s ../mods-available/userdir.load
sudo ln -s ../mods-available/userdir.conf
All done! Now restart Apache via:
sudo apache2ctl restart
We can now access the web applications stored in our /home/username/public_html directory via http://localhost/~username/
source : http://heriman.wordpress.com/2008/08/05/enabling-apache-user-home-public_html-directory-in-ubuntu