well, the public_html folder normally IS the www directory lol; but you have to define where they both are...
My example of a virtualhost:
<VirtualHost 38.99.95.240:80>
SuexecUserGroup "#525" "#510"
ServerName corthell.net
ServerAlias www.corthell.net
ServerAlias corthell.info
ServerAlias www.corthell.info
ServerAlias corthell.us
ServerAlias www.corthell.us
ServerAlias corthell.ws
ServerAlias www.corthell.ws
DocumentRoot /home/corthell/public_html
ErrorLog /home/corthell/logs/error_log
CustomLog /home/corthell/logs/access_log combined
ScriptAlias /cgi-bin/ /home/corthell/cgi-bin/
DirectoryIndex index.html index.htm index.php index.php4 index.php5
<Directory /home/corthell/public_html>
Options Indexes IncludesNOEXEC FollowSymLinks
allow from all
AllowOverride All
</Directory>
<Directory /home/corthell/cgi-bin>
allow from all
</Directory>
</VirtualHost>