Link to home
Start Free TrialLog in
Avatar of bstearns
bstearns

asked on

Linux RH 9 with QMail, Imap, Imaps and Squirrelmail and multiple Virtual domains.

Hello I have a linuxbox set up with RH 9 and the Qmail install from qmailrocks.org. Qmail is running great with 3 virtual domains running on it I need to host multiple virtual webmail domains also. I have a virtual host set up in the apache conf file called domain1.com pointing to /var/www/html/webmail. Webmail is the squirrelmail directory renamed. when I go to https://mail.domain1.com/webmail, bam it opens squirrelmail and life is good, but when I add another virtual host to my apache conf file and restart apache I get:

 Stopping httpd:                                            [  OK  ]
Starting httpd: [Sat Apr 03 19:48:13 2004] [warn] VirtualHost 1.2.3.4:80 overlaps with VirtualHost 1.2.3.4:80, the first has precedence, perhaps you need a NameVirtualHost directive

What can I do about this?

I can't get to my second virtual domain eg https://mail.domain2.com/webmail. It cant find server

Here is what my apache conf file looks like


<VirtualHost 1.2.3.4:80>
ServerName domain1.com.
ServerAlias mail.*
ServerAdmin jeff@domain1.com
DocumentRoot /var/www/html/webmail
</VirtualHost>

<VirtualHost 1.2.3.4:80>
Servername domain2.com
ServerAlias mail.*
ServerAdmin admin@domain2.com
DocumentRoot /var/www/html/webmail
</VirtualHost>
Avatar of Alf666
Alf666

You need to do something like :

NameVirtualHost *

<VirtualHost *>
ServerName domain1.com.
ServerAlias mail.domaine1.com.
ServerAdmin jeff@domain1.com
DocumentRoot /var/www/html/webmail
</VirtualHost>

<VirtualHost *>
Servername domain2.com
ServerAlias mail.domain2.com
ServerAdmin admin@domain2.com
DocumentRoot /var/www/html/webmail
</VirtualHost>


But, be careful. This works only for http. HTTPS can not do this.

You can not have 2 https servers on only one IP addr. The reason for this is that name based virtual hosting is inherent to the HTTP protocol. In fact, the header passed is moething like :

GET / HTTP1.0
host: www.domain.com

This is what instructs the server to give back the pages for one host or the other.

But in HTTPS, before the HTTP protocol kicks in, the server's certificate is sent. And it contains the name of the host. So browsers won't accept connections for host names not corresponding to the certicate's.

If you want to have multiple servers, you'll have to do something like :

http://myserver.domain.com/server1

And alias that properly.

Avatar of bstearns

ASKER

Thank you for the knowledge.
So what your saying is either set up ip based virtual hosting or set it up like your example: http://myserver.domain.com/server1. Can you give me some pointers for setting it up like your example please. What would be the first step?
ASKER CERTIFIED SOLUTION
Avatar of Alf666
Alf666

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I think I have it figured out. I can go to my main domain name eg: https://mail.domain1.com/webmail and put my mail.domain2.com user name and password in and get the mail from that account. Not sure why, I'm going to figure it out though. Thank you for your persistant help.
Jeff