2 domains 1 documentroot: Difference between revisions

From Cheatsheet
Jump to navigation Jump to search
No edit summary
m 5 revisions
 
(No difference)

Latest revision as of 23:51, 23 October 2014

This is incase you ever have a customer that has 2 domains that each need their own ip for a ssl, but need the same document root. It would be hard to park the domain and setup 2 SSL certificates, so here is my cheat.

Essentially this is pretty simple to accoplish. This was done on my vps to test it and it does work, all of the command below are exactly what I ran and did.

On my server I made:

proof.shooltz.net  >>  shooltz.net

So they each have a separate cpanel account and separate ip addresses, but resolve to the same document root. And I didnt edit the httpd.conf, or add any kind of special include, I made cpanel do the work.

First off.

vim /var/cpanel/userdata/proof/proof.shooltz.net

Your gonna edit the above file for the empty account that you are changing. This was done on my vps to test it and it does work (still is up if you wanna look). Below are the contents of that file before modification.

 ---
customlog:
  -
    format: combined
    target: /usr/local/apache/domlogs/proof.shooltz.net
  -
    format: "\"%{%s}t %I .\\n%{%s}t %O .\""
    target: /usr/local/apache/domlogs/proof.shooltz.net-bytes_log
documentroot: /home/proof/public_html
group: proof
hascgi: 1
homedir: /home/proof
ip: 69.16.192.68
owner: root
phpopenbasedirprotect: 1
port: 80
scriptalias:
  -
    path: /home/proof/public_html/cgi-bin
    url: /cgi-bin/
serveradmin: webmaster@proof.shooltz.net
serveralias: www.proof.shooltz.net
servername: proof.shooltz.net
usecanonicalname: 'Off'
user: proof

Alright the sections that are highlighted in green are what we will be changing in this file. We are going to change all of these to the username of the account which has all of the content and the document root that we are going to use, which in this case will be shooltz.

 ---
customlog:
  -
    format: combined
    target: /usr/local/apache/domlogs/proof.shooltz.net
  -
    format: "\"%{%s}t %I .\\n%{%s}t %O .\""
    target: /usr/local/apache/domlogs/proof.shooltz.net-bytes_log
documentroot: /home/shooltz/public_html
group: shooltz
hascgi: 1
homedir: /home/proof
ip: 69.16.192.68
owner: root
phpopenbasedirprotect: 1
port: 80
scriptalias:
  -
    path: /home/shooltz/public_html/cgi-bin
    url: /cgi-bin/
serveradmin: webmaster@proof.shooltz.net
serveralias: www.proof.shooltz.net
servername: proof.shooltz.net
usecanonicalname: 'Off'
user: shooltz

Alright now that, this part has been completed save this and load the next file.

vim /var/cpanel/users/proof

Once in this file change the one highlighted line below.

# cPanel -- If you edit this file directly you must run /scripts/updateuserdomains afterwards to rebuild the system caches
BWLIMIT=unlimited
CONTACTEMAIL=mike@shooltz.net
CONTACTEMAIL2=
DEMO=0
DNS=proof.shooltz.net
FEATURELIST=default
HASCGI=1
IP=69.16.192.68
LOCALE=en
MAXADDON=0
MAXFTP=unlimited
MAXLST=unlimited
MAXPARK=0
MAXPOP=unlimited
MAXSQL=unlimited
MAXSUB=unlimited
MTIME=1292231664
MXCHECK-proof.shooltz.net=0
OWNER=root
PLAN=default
RS=x3
STARTDATE=1292231663
USER=proof  (changing this to shooltz)

Now once that has been completed there are only a couple more things to do.

/scripts/updateuserdomains
cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.bak.before.duplicate.documentroot
/scripts/rebuildhttpdconf
/etc/init.d/httpd restart

Now you should be able to visit http://proof.shooltz.net and it will have its own ip and have the exact same content as http://shooltz.net which is also on a different ip. And you can install a differtent SSL cert on both.