Solved

Apache2 VirtualHost config

Posted on 2009-04-06
2
447 Views
Last Modified: 2012-08-14
Apache2 listens on wo ports. 80 and 443.

We have one .mobi domain that needs to run on port 80. (The first virtual directory).

All other traffic on port 80 needs to be redirected to a specific domain on port 443. (2nd and 3rd virtual directories respectively).

Basically the first virtual directory doesn't seem to work correctly because even the .mobi domain is being redirected to the domain running on port 443.
<VirtualHost www.domainname.mobi:80>
	ServerAdmin info@domainname.co.za
	ServerName www.domainname.mobi
	ServerAlias domainname.mobi www.domainname.mobi
	DocumentRoot /wwwroot/domainname/www/
	DirectoryIndex m.index.php index.php
	<Directory />
		Options -Indexes
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>
 
	ErrorLog /var/log/apache2/error.log
 
	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn
 
	CustomLog /var/log/apache2/access.log combined
	ServerSignature Off
 
</VirtualHost>
<VirtualHost 196.***.***.***:80>
	ServerAdmin info@xpandit.co.za
	ServerName www.domainname.co.za
	DocumentRoot /wwwroot/domainname/www/
	<Directory />
		Options -Indexes
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>
 
	ErrorLog /var/log/apache2/error.log
 
	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn
 
	CustomLog /var/log/apache2/access.log combined
	ServerSignature Off
	RewriteEngine on
	RewriteCond %{SERVER_PORT}      !^443$
	RewriteRule ^/(.*)              https://www.domainname.co.za/$1 [R=301,L]
 
</VirtualHost>
<VirtualHost 196.***.***.***:443>
	ServerAdmin info@xpandit.co.za
	ServerName www.domainname.co.za
	DocumentRoot /wwwroot/domainname/www/
	SSLEngine on
	SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
	SSLProtocol -all +TLSv1 +SSLv3
	SSLCertificateFile /etc/ssl/certs/server.crt
	SSLCertificateKeyFile /etc/ssl/private/server.key	
	<Directory />
		Options -Indexes
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>
 
	ErrorLog /var/log/apache2/error.log
 
	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn
 
	CustomLog /var/log/apache2/access.log combined
	ServerSignature Off
 
</VirtualHost>

Open in new window

0
Comment
Question by:xpandit
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 27

Accepted Solution

by:
caterham_www earned 500 total points
ID: 24085113
Do youi have more then one IP adress? If not, use name-based virtual hosts for port 80, not IP-based:
NameVirtualhost *:80
<VirtualHost *:80>
        ServerAdmin info@xpandit.co.za
        ServerName www.domainname.co.za
        DocumentRoot /wwwroot/domainname/www/
        <Directory />
                Options -Indexes
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
 
        ErrorLog /var/log/apache2/error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
 
        CustomLog /var/log/apache2/access.log combined
        ServerSignature Off
        # Keep it simple; no need for mod_reweite; the port is always 80
        Redirect 301 / https://www.domainname.co.za/
</VirtualHost>
<VirtualHost *:80>
        ServerAdmin info@domainname.co.za
        ServerName www.domainname.mobi
        ServerAlias domainname.mobi www.domainname.mobi
        DocumentRoot /wwwroot/domainname/www/
        DirectoryIndex m.index.php index.php
        <Directory />
                Options -Indexes
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
 
        ErrorLog /var/log/apache2/error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
 
        CustomLog /var/log/apache2/access.log combined
        ServerSignature Off
</VirtualHost>
 
<VirtualHost 196.***.***.***:443>
        ServerAdmin info@xpandit.co.za
        ServerName www.domainname.co.za
        DocumentRoot /wwwroot/domainname/www/
        SSLEngine on
        SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
        SSLProtocol -all +TLSv1 +SSLv3
        SSLCertificateFile /etc/ssl/certs/server.crt
        SSLCertificateKeyFile /etc/ssl/private/server.key       
        <Directory />
                Options -Indexes
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
 
        ErrorLog /var/log/apache2/error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
 
        CustomLog /var/log/apache2/access.log combined
        ServerSignature Off
 
</VirtualHost>

Open in new window

0
 

Author Closing Comment

by:xpandit
ID: 31567377
Perfect. Thank you.
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In my time as an SEO for the last 2 years and in the questions I have assisted with on here I have always seen the need to redirect from non-www urls to their www versions. For instance redirecting http://domain.com (http://domain.com) to http…
If you are a web developer, you would be aware of the <iframe> tag in HTML. The <iframe> stands for inline frame and is used to embed another document within the current HTML document. The embedded document could be even another website.
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…
In this brief tutorial Pawel from AdRem Software explains how you can quickly find out which services are running on your network, or what are the IP addresses of servers responsible for each service. Software used is freeware NetCrunch Tools (https…

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question