Changing the Document Root for Your Domain

InMotion Hosting is able to change the Document Root location where your Primary Domain points to. This allows the file structure to be maintained as the developer has referenced the files in the website’s code. This article will explain how to get the document root changed for your primary domain.

Accounts on Shared Servers

Shared server accounts cannot change their Primary Domain’s document root, because root access is not allowed on Shared servers. Our Technical Support can change the document root on your Shared server account per your request. You will need to submit this in a verified ticket request to Support with the following details included:

  • Domain to update document root for.
  • Full path to the directory location you want to change the document root to.

VPS and Dedicated Servers

Steps to Change the Document Root (with root access)

When a VPS or Dedicated server customer needs to make a document root change, they can do so with Root Access. The steps below will explain how to change the document root of the primary domain, with root access.

  1. ssh [email protected]
  2. Edit the following file:
    /var/cpanel/userdata/USER/DOMAIN

    Notice the files’ contents are similar to the output below. The areas to edit are indicated by RED text. Note: the “path:” line is only present in the non-SSL file. If you have an SSL, both files will need to be edited.

     -    customlog:  -        
    format: combined        
    target: /usr/local/apache/domlogs/domain.com  -        
    format: ""%{%s}t %I .\n%{%s}t %O .""        
    target: /usr/local/apache/domlogs/domain.com-bytes_log    
    documentroot: /home/USER/public_html    
    group: USER    
    hascgi: 1    
    homedir: /home/USER    
    ip: 123.45.67.89    
    owner: root    
    phpopenbasedirprotect: 1    
    port: 80    
    scriptalias:  -        
    path: /home/USER/public_html/cgi-bin        
    url: /cgi-bin/    
    serveradmin: [email protected]    
    serveralias: www.domain.com    
    servername: domain.com    
    usecanonicalname: 'Off'    
    user: USER

    Change the following lines in the file:

    documentroot: /home/USER/public_html
    path: /home/USER/public_html/cgi-bin

    The changes will look like the following:

    documentroot: /home/USER/public_html/new_doc_root_dir
    path: /home/USER/public_html/new_doc_root_dir/cgi-bin
  3. When finished editing the document root, run the following scripts while logged in as the root user, to rebuild and restart Apache:
    /scripts/rebuildhttpdconf
    systemctl restart httpd

    This ensures that your changes are updated in the Apache configuration and will allow the changes to apply immediately.

Changing the Document Root (without root access)

VPS and Dedicated customers that do not have root access cannot change the document root of their main domain. VPS and Dedicated server customers without root access will need to follow the same process as the Shared server customers.

9 Comments

  • Could you ad some guidance on whether to choose a shared document root or separate document root. ie does it become too muddled if you use a shared root for many different domains…

    • I highly recommend using a different document root for each separate website, since it can definitely cause confusion. Also, if you are running similar software, for example 3 WordPress sites, they will have the same default folder/file names typically. Meaning they will not be able to share the same document root without over-writing each others files.

  • Hi guys,

     

    You will also need to make changes in /etc/passwd file if you want to completely replace the home directory of a user.

     

    Thanks!

    • Thanks for your comment. This guide is not intended to change the user’s home directory. It is simply modifying the Apache configuration to specify/change a domain’s document root directory.

  • If you’re running PHP-FPM, you got to disable and enable it for those configurations to be updated as well.

    That can be done in WHM under the MultiPHP Manager option.
    • Thanks for providing that extra bit of information regarding PHP-FPM. Your contribution to the Community is greatly appreciated!

  • I did like above, I want to use a standalone account, not an alias, and change to the document_root of another account. I receive :

     

    Not Found

    The requested URL / was not found on this server.

    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Was this article helpful? Let us know!