The instructions that are included with the Frontpage 2000 extensions from Microsoft for Apache/Unix are pretty much the worst instructions I’ve ever seen. The key is to throw out the instructions and just pretend that the extensions are like any other CGI. You’ll also need suEXEC enabled in your version of Apache. This is an option that is enabled when you compile Apache. You also may be able to find a binary with it already enabled.

You don’t need to patch your version of Apache, just reconfigure things a little bit. I did this a while ago on a heavily used production machine. I’ve seen many people having trouble in the newsgroups so I’ll try to remember this as best I can. Please let me know if I’ve left something out.

  1. First install the Frontpage files that go into /usr/local/frontpage – this is where everything goes. The extensions will be copied from here by the fpsrvadm.exe into the user’s home directories for virtual hosts that want to use the extensions.

  2. Configure Apache to allow execution of CGI’s in a user’s _vti_bin directory. This directory holds the .exe files that are the cgi’s. Put something like the following in your access.conf:

<Directory “/home/*/public_html/_vti_bin”>
Options ExecCGI </Directory>

  1. Configure your MIME types to execute .exe as CGI’s

application/x-httpd-cgi exe

You may want to do this in an AddType Directory directive or htaccess file since it may affect others downloading .exe files, like self extracting zip files.

  1. Configure Apache’s virtual host to execute the CGI as the user, you’ll need to have suEXEC enabled in your version of Apache. This is a compile time option. You’ll also need to put the User and Group directive into each VirtualHost in the httpd.conf that wishes to use Frontpage or CGI’s in their account. This is a good thing to have, it prevents users from running CGI’s as root or nobody.

  2. Now add frontpage to a user and try it. The big long command is below (normally all on one line). It is probably best to put this in some kind of script or integrate it into your current account activation script in some way.

<br /># /usr/local/frontpage/version4.0/bin/fpsrvadm.exe -o install -p 80 -m www.yourname.com -xu myusername -xg user -username myusername -password mypassword -t apache -s /usr/local/apache/conf/httpd.conf<br />

You also must change the permissions of the things it puts in _vti_bin to make them executable by suEXEC Apache.

<br /># chmod -R a-s /home/myusername/public_html/_vti_bin<br />

That’s it. The user should be able to publish to their web site address, www.yourname.com, etc. One caveat is that with the User directive, if that user changes their username or the account is deleted the web server will not boot up until that VirtualHost is removed. You can check to make sure the syntax of your http.conf file is OK with the file is OK with the -T switch:

# httpd -T<br />Syntax OK<br />

If there is a problem it will tell you which user doesn’t exist anymore.