Home Contact Us Search

[ Order a Server ] [ Server Support ]


[ Getting Started ] [ Server Help ] [ Add on Help ] [ Solution ] [ Trouble Shooting ]

PLEASE NOTE, THIS IS VERY OLD ARCHIVE INFORMATION AND MAY NOT FUNCTION ON NEW SERVERS

Miva and Virtual Subhosts

To provide Miva (not Miva Merchant) for a Virtual Subhost, we recommend that you use Miva's <VirtualHost> configuration directive.

     

  1. Be sure that you are running the latest version of Miva. If you are not running the latest version, you should consider Upgrading Miva/HTMLScript.

     

     

  2. Be sure that the following parameters are set in miva.conf:
    virtualhostvariable=SERVER_NAME
    dnslookup=0

    NOTE: If you choose to set virtualhostvariable=HTTP_HOST, then your miva.conf must have a <VirtualHost> directive for each of the virtual subhost's domain names. For example, using 'HTTP_HOST' will require both subhost-domain.com and www.subhost-domain.com to have its own <VirtualHost> directive in miva.conf. This is why we recommend using 'SERVER_NAME' instead, because in your httpd.conf, you can consolidate a virtual subhost's multiple host names under a single <VirtualHost> directive with just one ServerName. This is documented in the instructions below.

     

  3. Add the <VirtualHost> directive to miva.conf. Assuming that you are using virtualhostvariable=SERVER_NAME in miva.conf, the name of the <VirtualHost> should equal the ServerName for the subhost defined in the <VirtualHost> directive for your web server in your httpd.conf.

    Ideally, the mivaroot parameter should equal the virtual subhost's DocumentRoot (another parameter of the <VirtualHost> directive in httpd.conf).

    The stdmodedatadir should be outside of the ~/www/htdocs directory, unaccessable by others, since all data collected by Miva will be stored in that directory.

    The VirtualHost directive in miva.conf should look something like this:

    # VIRTUAL DOMAIN INFORMATION **MUST** BE AFTER ANY DEFAULTS!
    # Following is a sample virtual domain specification. If no
    # virtual hosts are found to match, then the defaults before 
    # the virtual host specifications are used. You may specify as many 
    # virtual hosts as you would like. The "VirtualHost" name should 
    # be the "ServerName" specified for the virtual host. Also, the
    # "mivaroot" should be the same as the virtual host's "DocumentRoot".

    <VirtualHost subhost.com>
    mivaroot=/usr/local/etc/httpd/vhosts/subhost
    stdmodedatadir=/usr/local/etc/httpd/miva/subhost_data
    serveradmin=webmaster@subhost.com
    </VirtualHost>

     

  4. You may or may not need to modify your web server configuration file, httpd.conf, depending on the method you are using to give your virtual subhost's CGI support. After ensuring that the parameters defined in the <VirtualHost> directive in httpd.conf matches those you set in the <VirtualHost> directive of miva.conf, you must check if your subhost has access to the Miva engine that was put in your ~/www/cgi-bin during the Miva installation.

    If the virtual subhost is sharing your virtual server's primary cgi-bin directory--meaning that you have not explicitly identified an alternate ScriptAlias for the subhost in the <VirtualHost> directive of httpd.conf--then after following all the instructions above, Miva should be setup and ready to support your virtual subhost. If you don't understand what a ScriptAlias is, then your virtual subhost is probably using your primary cgi-bin directory and the Miva engine therein, so you don't have to worry about making anymore changes. Go on to the next step.

    However, if the virtual subhost has its own cgi-bin directory, then we would recommend that you give that virtual subhost access to the Miva engine in your primary cgi-bin directory by adding the following to your httpd.conf's <VirtualHost> directive:

    ScriptAlias /cgi-miva/ /usr/local/etc/httpd/cgi-bin/
    AddType application/x-httpd-Miva .mv
    Action application/x-httpd-Miva /cgi-miva/miva
    

    NOTE: If Miva still has problems running an application for a virtual subhost, or runs the application but stores data in the wrong directory, then delete all the files in your workdir (the default installation will have this set as ~/www/miva/workdir). This directory contains a caching database with virtual subhost configuration information. Deleting the database files will require Miva to reload the new VirtualHost information from miva.conf.


PLEASE NOTE, THIS IS OLD ARCHIVE INFORMATION AND MAY NOT FUNCTION ON NEW SERVERS