Currently, I am running OTRS 2.4 and 3.0 on the same box.

The concepts should apply, more or less, to virtual hosts.

Also, Postgresql is able to be used if you want to install from source.

stuff to add to the vhost directives. You may wish to use variables or mod_macro http://www.cri.ensmp.fr/~coelho/mod_macro/
# --
# added for OTRS (http://otrs.org/)
# $Id: apache2-httpd-new.include.conf,v 1.5 2008/11/10 11:08:55 ub Exp $
# --

# agent, admin and customer frontend
ScriptAlias /otrs/ "/path/to/customer1/otrs/bin/cgi-bin/"
Alias /otrs-web/ "/path/to/customer1/otrs/var/httpd/htdocs/"

# if mod_perl is used
<IfModule mod_perl.c>

    # load all otrs modules
    Perlrequire /path/to/customer1/otrs/scripts/apache2-perl-startup.pl

    # Apache::Reload - Reload Perl Modules when Changed on Disk
    PerlModule Apache2::Reload
    PerlInitHandler Apache2::Reload
    PerlModule Apache2::RequestRec

    # set mod_perl2 options
    <Location /otrs>
#        ErrorDocument 403 /path/to/customer1/otrs/customer.pl
        ErrorDocument 403 /path/to/customer1/otrs/index.pl
        SetHandler  perl-script
        PerlResponseHandler ModPerl::Registry
        Options +ExecCGI
        PerlOptions +ParseHeaders
        PerlOptions +SetupEnv
        Order allow,deny
        Allow from all
    </Location>

</IfModule>

# directory settings
<Directory "/path/to/customer1/otrs/bin/cgi-bin/">
    AllowOverride None
    Options +ExecCGI -Includes
    Order allow,deny
    Allow from all
</Directory>
<Directory "/path/to/customer1/otrs/var/httpd/htdocs/">
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

# MaxRequestsPerChild (so no apache child will be to big!)
MaxRequestsPerChild 400

Then in otrs/Kernel/Config.pm, among other things:
$Self->{'Database'} = 'otrs_customer1';
$Self->{'DatabaseUser'} = 'otrs_customer1';
$Self->{'DatabasePw'} = 'otrspassword';
$Self->{Home} = '/path/to/customer1/otrs';
$Self->{'Frontend::WebPath'} = '/otrs-web/';

Don't forget to check the forums and ask there, as well.