The detailed guide on how to go this can be found here.

This post is a quick reference guide that you’ll mostly find useful if you’ve done it before.

First create the folders to put your files in:

cd /home/www
mkdir mysite.net
mkdir mysite.net/htdocs
mkdir mysite.net/cgi-bin
mkdir mysite.net/logs

Then set the appropriate permissions on the folders

chmod -R 755 mysite.net/htdocs

The apache configuration files are located in /etc/apache2/sites-available, so locate a suitable config file to start from in that folder, make a copy of it, and edit it appropriately.

Your finished config file might look something like this:


# This configuration file is for mysite.net
<VirtualHost *>
 ServerAdmin webmaster@mysite.net
 ServerNameĀ  www.mysite.net
 ServerAlias mysite.net

 # Indexes + Directory Root.
 DocumentRoot /home/www/mysite.net/htdocs/
 <Directory />
 DirectoryIndex index.php index.html
 Options FollowSymLinks
 AllowOverRide All
 </Directory>

 # CGI Directory
 ScriptAlias /cgi-bin/ /home/www/mysite.net/cgi-bin/
 <Location /cgi-bin>
 Options +ExecCGI
 </Location>

 # Logfiles
 ErrorLogĀ  /home/www/mysite.net/logs/error.log
 CustomLog /home/www/mysite.net/logs/access.log combined
</VirtualHost>

Good, now to enable your new site, execute

a2ensite mysite.net
/etc/init.d/apache2 reload

and you’re done!