Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Apache2 VirtualHost config

Posted on 2009-04-06
2
Medium Priority
?
448 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 2000 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

Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

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

Hi, in this article I'm going to teach you how to run your own site, and how to let people in (without IP). I'll talk about and explain each step... :) By the way, everything in this Tutorial is completely free and legal. This article is for …
If you've heard about htaccess and it sounds like it does what you want, but you're not sure how it works... well, you're in the right place. Read on. Some Basics #1. It's a file and its filename is .htaccess (yes, with a dot in the front). #…
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper corn…
Suggested Courses

721 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