Apache2 Migration Guide
Introduction
Some websites on sphinx, our original shared hosting server, are still served by apache v1. Because we allow arbitrary custom apache configurations, we have not performed a mass migration to apache v2.
The majority of sites will migrate to apache v2 with few issues. This guide describes how to test your site under apache v2, what to do if there are any problems, and how to complete the migration.
Testing
Your website is already served by apache v2, but on a different IP address. There are two ways you can test your site.
-
Use the test URL. If your website is
http://www.example.com/
, then we support the test URLhttp://www.example.com.sphinx.mythic-beasts.com/
-
Use the hosts hack. In this option, we override the DNS so
your browser goes to the apache v2 site. On Linux, *BSD, or OS X,
you can do this by adding a line to
/etc/hosts
:93.93.130.166 www.example.com example.com
On Windows, the hosts file is%SystemRoot%\System32\drivers\etc\hosts
The test URL technique is simpler, but has the drawback that
following any links using absolute URLs on your site will take you back
to the apache v1 site. For example, your site might link to the
About Us page using HTML that looks something like <a
href="about.html">...
. That's fine, following this link will
keep you on the apache v2 version of the site. But if instead the
HTML uses an absolute URL, for example <a
href="http://www.example.com/about.html">...
, then following
that link will take you back to the apache v1 site.
If you do use the hosts hack, you should remember to remove it again once you have completed testing! Otherwise you can end up in confusing situations where the site works for you but nobody else, or vice versa.
Common problems
fastcgi
The name of the fastcgi module has changed, so AddHandler
or SetHandler
directives that enable fastcgi will need to
be updated.
Directives for apache v1 look something like this:
AddHandler fastcgi-script .cgi
The filename extension may be different (.php
is another
common one); there may even be multiple filename extensions. The
SetHandler
directive is the same, but has no filename
extensions; it applies to an entire directory.
Whichever directives are in use, fastcgi-script
must be
replaced with fcgid-script
for apache v2. The
example above will need to be updated to:
AddHandler fcgid-script .cgi
You might find it simplest to disable fastcgi during the migration, but if you need it to work with both versions of apache, you can do it like this:
<IfModule mod_fastcgi.c> AddHandler fastcgi-script .cgi </IfModule> <IfModule mod_fcgid.c> AddHandler fcgid-script .cgi </IfModule>
Completing the migration
Once you are happy that your site works OK with apache v2, you need to update the DNS so everybody gets the new version. If we are hosting your DNS, then you are strongly encouraged to use the Shell account on Sphinx DNS template. This has the correct DNS records for apache v2
Simply visit the control panel, select the Manage DNS link next to the domain or domains you want to update, and change the template at the top of the page.
If we do not host your DNS, or for some reason you do not want to use the template, you should create or update A and AAAA records as in this example.
www.example.com. A 93.93.130.166 AAAA 2a00:1098:0:82:1000:0:1:2 example.com. A 93.93.130.166 AAAA 2a00:1098:0:82:1000:0:1:2
Of course, you will need these records for any website names that are hosted on sphinx. For example, if you have a site called blog.example.com, you will need the same records for that site too.
More help
If you have any problems, or need help with any part of this process, please email support