| |
Miva and Virtual Subhosts
To provide Miva (not Miva Merchant) for a
Virtual Subhosts, we recommend that you use Miva's
<VirtualHost> configuration directive.
Be sure that you are running the latest version of Miva. If you are not running the latest
version, you should Upgrade Miva/HTMLScript.
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. |
Add the <VirtualHost> directive to the miva.conf. Assuming that you
are using virtualhostvariable=SERVER_NAME in the 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:
<VirtualHost www.SUBHOST-DOMAIN.NAME>
mivaroot=/usr/local/etc/httpd/htdocs/SUBHOST-DOMAIN-DIR
stdmodedatadir=/usr/local/etc/httpd/miva/SUBHOST-DOMAIN-DIR_data
mivadefault=index.html
serveradmin=webmaster@SUBHOST-DOMAIN.NAME
</VirtualHost>
- 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 Private 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), 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 iinformation from miva.conf. |
|