Make your own free website on Tripod.com

Infrablue atTripod

 




FrontPage Server Extensions 2002 with Apache2 under Debian


This document describes the process of installing Microsoft FrontPage Server Extensions 2002 with Apache2 under the Debian/sid (unstable) distribution.  The instructions will probably work with sarge and/or woody but I can't guarantee it.  The main issue in setting it up is that the install script is designed for RedHat so we have to create a few symlinks and concatenate some config files temporarily to make the install script happy.


1.  Download the Necessary Files

First download the FrontPage 2002 Server Extensions for Unix, Service Release 1.2 the from Ready-to-Run Software, Inc.'s website: http://www.rtr.com/fpsupport/download.htm.  You should get the source tarball fp50.linux.tar.gz and the install script fp_install.sh.  Put them both into the same folder, such as /usr/local/src/fp_extensions.

Next, make sure you have the
apxs utility installed which is required to build the mod_frontpage module.  This is currently provided by either the apache2-prefork-dev or the apache2-threaded-dev Debian package.  apache2-prefork-dev corresponds to the Apache2 prefork MPM which is the most commonly-used  MPM and is the default installed by Debian:

   
apt-get install apache2-prefork-dev



2.  Preparing the system

The
fp_install.sh setup script is designed for RedHat systems and therefore we must do a couple of things in order for it to be able to run correctly.

First, the script will want to find axps in /usr/bin and /usr/sbin. 
  The Debian apache2-prefork-dev package provides /usr/bin/apxs2.  Therefore we need to create temporary symlinks:

First, be careful that you do not have the
apache-dev Debian package installed which already provides /usr/bin/axps.  If that is the case, you need to temporarily rename it:

   
mv /usr/bin/apxs /usr/bin/apxs.temp

Now we can safely create the symlinks:

   
cd /usr/bin
    ln -s apxs2 apxs
    cd ../sbin
    ln -s ../bin/apxs2 apxs

Next we create a symlink from
/usr/sbin/apache2ctl to /usr/sbin/apachectl.  Again, you may already have apachectl installed if you have the Debian apache package installed.  In that case we need to temporarily rename it first:

   
mv /usr/sbin/apachectl /usr/sbin/apachectl.temp

Now we can safely create the symlink:

   
cd /usr/sbin
  ln -s apache2ctl apachectl



3.  Preparing the Apache configuration file

Next we need to prepare the Apache config file which gets parsed by the setup script.  The script expects the config file to be one monolithic
httpd.conf file.  Debian splits the file up into several parts so we need to temporarily concatenate the pieces back together

Also, there is already an
httpd.conf file that is part of the Debian Apache2 config layout so we will first rename it temporarily:

   
mv /etc/apache2/httpd.conf /etc/apache2/httpd.conf.temp

Now to create the new
httpd.conf in /etc/apache2 from the pieces:

   
cd /etc/apache2
    cp apache2.conf httpd.conf
    cat mods-enabled/*.load >> httpd.conf
    cat mods-enabled/*.conf >> httpd.conf
    cat ports.conf >> httpd.conf
    cat sites-enabled/* >> httpd.conf

Finally, we need to add one line to httpd.conf.  I suggest adding it near the top somewhere:

   
DocumentRoot /var/www


4.  Running the
fp_install.sh setup script

cd to the directory where you downloaded the install files.  You may need to do a
chmod +x on the setup script to enable it to execute.  Then run it:

   
./fp_install.sh


At this point you are free to go.  It will prompt you with some simple questions:

FrontPage Server Extensions directory [/usr/local/frontpage/]:      
(hit Enter to accept the default)
Where is the zcat which can uncompress gz files?                          
/bin/zcat
Which version of Apache will you be using? (1.3 or 2.0)                 
2.0
Where is the current apache control file (apachectl) located:         
/usr/sbin/apachectl
You are running Apache 2.0.52 .
This kit supports Apache .
Do you wish to continue? (y/n) [N]?                                                    
y
Would you like interactive prompting for each webs owner/group (y/n) [Y]?   
y
Which local character encoding does your system support: [1]
What should the default language be: [1]
Do you want to install a root web (y/n) [Y]?                                        
y
Server config filename:                                                                        
/etc/apache2/httpd.conf

For this next question you must enter the Administrator's username.  This does not have to and probably should not be an actual unix account on your box.  It is the name that you will use to log in to the administrative interface later on:

FrontPage Administrator's user name:   

Enter the new server's port number:                                                     
80
Unix user name of the owner of this new web: [www-data]                 
(Enter to accept default)
Unix group of this new web: [www-data]                                               
(Enter to accept default)
Enter user password:
Confirm password:
Install completed.
Install new sub/per-user webs now (y/n) [Y]?                                         y
Enter the web name (CTRL-D if no more webs):                                 test (or whatever you want)
FrontPage Administrator's user name:
Web test is a subweb
Unix user name of the owner of this new web:[www-data]
Unix group of this new web:[www-data]
Enter user password:
Confirm password:

At this point you can answer the following question:

Do you want to install Virtual Webs (y/n) [Y]?                                          
y

However at this point I had problems with the script:

Error: FrontPage requires that the AllowOverride option be set to something other than "None" (typically set in access.conf). "All" is the preferred AllowOverride option for the document root.


5.  Remove the temporary symlinks and restore the Apache config files

Basically undo everything we did when we created the symlinks:

   
rm /usr/bin/apxs
    rm /usr/sbin/apxs
   
mv /usr/bin/apxs.temp /usr/bin/apxs  #only needed if apache-dev is installed
   
rm /usr/sbin/apachectl
   
mv /usr/sbin/apachectl.temp /usr/bin/apachectl  #only needed if apache is installed

Now be sure to remove the temporary httpd.conf we created.  You may want to rename it and keep it for reference sake:

   
mv /etc/apache2/httpd.conf /etc/apache2/httpd.conf-fp_install
   
mv /etc/apache2/httpd.conf.temp /etc/apache2/httpd.conf

Finally we need to now add the following line to
/etc/apache2/httpd.conf:

    LoadModule frontpage_module /usr/lib/apache2/modules/mod_frontpage.so

And either create a new virtual host in /etc/apache2/sites-available or append to default the following:

    NameVirtualHost *:8090
    Listen 8090
    <VirtualHost *:8090>
        DocumentRoot /usr/local/frontpage/version5.0/admin-exes
        DirectoryIndex fpadmcgi.exe
        <Directory /usr/local/frontpage/version5.0/admin-exes/>
            AddHandler cgi-script .exe
            Options ExecCGI
            AllowOverride All
        </Directory>
    </VirtualHost>


And a note of caution here.  If you have another NameVirtualHost directive like:

   
NameVirtualHost *

Then you will run into problems because of the overlap * has with *:8090.  You should change the above to:

   
NameVirtualHost *:80

and also make sure your other
VirtualHost lines look like:

   
<VirtualHost *:80>

and not like:

   
<VirtualHost *>

After making these changes Apache2 can be restarted.

5.  Setting up the Admin port

Following the advice at http://www.jnux.net/community/apachefp/install.htm I chose to use port
8090:

   
cd /usr/local/frontpage/version5.0/bin

  ./owsadm.exe -o setadminport -p 8090 -t apache-2.0     \
        -s /etc/apache/httpd.conf -username joe -pw mypassword 



You can now point your browser to the administrative interface at
http://localhost:8090/