# A FrontPage 2000 Extensions and PHP 3.0.9 How-to # Tommy Baker As an ISP and Web Hosting provider, my clients demand Microsoft FrontPage Extensions. While we all agree that Microsoft has no concept of real security, we are forced to run their extensions on our web servers in order to keep business. The FrontPage Web extensions are nothing more than a collection of CGI scripts written by Microsoft for their FrontPage client (to keep users from having to FTP, etc.). The FrontPage extensions have a module, mod_frontpage.c, to build what is known as "apache-fp". They only "support" a patch for Apache 1.3.3, which is rather old. The only features you get from apache-fp is the ability to create and/or delete webs from inside the FP Client (not a requirement for us since we will be using shell scripts). This document does not cover building "apache-fp". This is a "raw" apache installation with the FrontPage 2000 Extensions. The problem with the UNIX port of the extensions is that the FP98 extensions are written for Apache 1.2.x (httpd.conf, srm.conf, and access.conf). For most of us that have tried the Apache1.3.x-FP port, we have not had much success. Fortunately, the FP2000 extensions were recently released, and they work without modification.. to an extent. The fp_install.sh script does not handle 's at all, but fpsrvadm does that job great. First, you need to fetch the distributions. Please note, throughout this document, PHP is mentioned. It is optional. If you do not wish to build PHP along with it, leave out the steps which cover PHP. Apache 1.3.6: http://www.apache.org/dist/apache_1.3.6.tar.gz BSDI Frontpage Extensions: http://www.rtr.com/fpsupport/fp2000license.htm PHP: http://www.php.net/distributions/php-3.0.9.tar.gz Next, you need to unpack the distribution tarballs (advanced users may install any version of apache they like, ports, or custom builds, the fp2k extensions do not depend on anything special here). # tar xvfz apache_1.3.6.tar.gz # tar xvfz fp40.bsdi.tar.gz # mv frontpage /usr/local/ # tar xvfz php-3.0.9.tar.gz We moved the frontpage extraction to /usr/local because, although the fp_install.sh is supposed to do this, FreeBSD isn't recognized as a "supported" OS without modification of the script (moving it works just fine). Now build apache.. # cd apache_1.3.6 # ./configure # cd ../php-3.0.9 # ./configure --with-apache=../apache_1.3.6 # make # make install # cp php3.ini-dist /usr/local/lib/php3.ini # cd ../apache_1.3.6 # ./configure -activate-module=src/modules/php3/libphp3.a # make # make install Now you have have a source build & install of Apache (or Apache with php support). Locations and commands you need to know about: To start apache: /usr/local/apache/bin/apachectl start To stop apache: /usr/local/apache/bin/apachectl stop Configuration file: /usr/local/apache/conf/httpd.conf (edit as you like) YOU NEED TO EDIT httpd.conf and go to the "" directive (or make it for a custom domain/location) and change/insert "AllowOverride All". Without this setting, your FP Extensions will have NO Security! For example: AllowOverride All If you installed PHP as well, edit your httpd.conf, and uncomment these two lines: AddType application/x-httpd-php3 .php3 AddType application/x-httpd-php3-source .phps Now that you have configured apache as you like, you must enable the FP extensions for each VirtualHost that you like. (or just the root web). First things first, you'll need to install a root web (yes, you must, this configures the extensions with the location of your httpd.conf). During this, you'll most likely see "{print $2}: not found" in one place or another. This is fine, it will continue with the install. # /usr/local/frontpage/version4.0/fp_install.sh Q: Are you satisfied with your backup of the system (y/n) [N]? A: Yes Q: FrontPage Extensions directory [/usr/local/frontpage/]: A: /usr/local/frontpage/ Q: Continue the installation (y/n) [N]? A: Yes Q: Version 4.0 FrontPage Server Extensions found. Would you like to overwrite? (y/n) [Y]? A: No Q: Do you want to install a root web (y/n) [Y]? A: Yes Q: Server config filename: A: /usr/local/apache/conf/httpd.conf Q: FrontPage Administrator's user name: A: fpadmin Q: Enter the new servers port number: A: 80 Q: Unix user name of the owner of this new web:[] A: nobody Q: Unix group of this new web:[] A: nogroup Q: What type of Server is this: A: 2. Apache Q: Password for user "fpadmin": A: I'll answer as much as i can for you, but this one is your choice :-) Now you should see "Creating web http://". It will usually take a few seconds, so be patient. Following that, you'll be presented with a few more questions: Q: Which local character encoding does your system support: [1] A: [1] Q: What should the default language be: [1] A: [1] Q: Install new sub/per-user webs now (y/n) [Y]? A: No Q: Do you want to install Virtual Webs (y/n) [Y]? A: No Installation completed! Exiting... Your root web is now setup. The username password pair for the fp client is "fpadmin/" Virtual Hosts To add support for virtual hosts, you must use fpsrvadm. The syntax below was extracted from the SERK, which is in the frontpage directory at /usr/local/frontpage/version4.0/serk/default.htm. fpsrvadm -o create -p nnnn -m HostName -w WebName [-u UserName] [-pw password] [ -xu UNIXUserName] [ -xg UNIXGroupName] [ -n yes] For example: # /usr/local/frontpage/version4.0/fpsrvadm -o create -m virtualdomain.mynet.org -u fpadmin -pw password -xu www -wx www This installs the extensions onto , sets up the FRONTPAGE user fpadmin with pass password, and makes this "web" (all files/directories in the DocumentRoot) owned by www and the group www. That's the basics of setting up the FrontPage Extensions. Refer to the SERK for more information about the extensions. -Tommy $Id: fp2k.txt,v 1.1 2000/02/16 08:07:53 jim Exp $