Frontpage on Red Hat

I used to use Microsoft FrontPage to program this site, and run it on Apache with the FrontPage extensions. Back when I was doing this, my Linux distribution of choice was Red Hat. There was a guy out there (Joshie) who used to offer customized RPM’s of Apache for Red Hat that were already patched with the FrontPage extensions. I used them for a time; they slipped right in, and worked right away.

I became concerned about a serious security hole that needed patching right away, so I finally dug into the process and figured to make my own custom RPM. It’s a lot of stuff to keep straight, and it only increased my respect for what Red Hat does for Linux. The age of FrontPage extensions on *nix is officially over, but I’m going to keep this page around for reference of the process. Maybe it will help someone else.

  • Switch users to root. You’ll need to be root for just about every step here.
  • If you have any Apache-related RPM’s installed, remove them all with:
    rpm -e <package> <package> <package>
  • Change directories to /usr/src/redhat/SOURCES.
  • Get the apache source RPM from Red Hat and convert it to a cpio archive with rpm2cpio like this:
    rpm2cpio apache-<version>.src.rpm > apache-<version>.cpio
  • Unpack the cpio archive like this:
    cpio -i < apache-<version>.cpio
  • Uncompress the appropriate FrontPatch apache patch from Ready-to-Run’s web site and rename it to a format like the rest of the patches. For instance: apache_1.3.22-fp.patch.
  • In the apache.spec file, add the newly-renamed patch to both the top section (where it lists the patches) and the %prep section (where it actually calls the commands to perform the patch). Note that you need to do a `patch -p0′ for this patch, because that’s how it was created to be used on the source tree. For example, my two lines looked like this (at the time of this writing):
    Patch10: apache_1.3.22-fp.patch
    %patch10 -p0 -b .fp
  • Again in the apache.spec file, add a line to the bottom of the “./configure” section that looks like this:
    –add-module=mod_frontpage.c
  • Run rpm to build everything:
    rpm -ba apache.spec
  • Run rpm to install apache and apache-devel. These rpm’s will have magically appeared in /usr/src/redhat/RPMS/i386 after the last step.
    rpm -ivh /usr/src/redhat/RPMS/i386/apache-*.rpm
  • If you have any intention of using PHP (think SquirrelMail), get the source RPM, rebuild it, and install it using:
    rpm –rebuild php-<version>.src.rpm rpm -ivh /usr/src/redhat/RPMS/i386/php-<version>.rpm
  • Unless you purposely un-configure SSL in your httpd.conf file, you’ll need to get the mod_ssl source RPM and rebuild and install it like the PHP source rpm.
  • In your apache conf file, /etc/httpd/conf/httpd.conf, you’ll need to add a line like the following, shown in context. Note that it must come before the Perl and PHP stuff. (For reasons I don’t understand. This was one of the notable steps I learned from Joshie’s SRPM’s.)
    AddModule mod_so.c AddModule mod_setenvif.c AddModule mod_frontpage.c <– This is the line to add.
    <IfDefine HAVE_PERL> AddModule mod_perl.c </IfDefine> <IfDefine HAVE_PHP> AddModule mod_php.c
  • Also in your apache.conf file, you need to change your “AllowOverride” directives from “None” to “All” on those webs that are FrontPage enabled. (Note that in my limited experience, you’ll also need to override the “/” directory as well as the “DocumentRoot” directory if you want to use the HTML administration pages.)
  • IMPORTANT! Copy the apache executable to a safe place. Perhaps:
    cp /usr/sbin/httpd ~
  • Now install the FrontPage extensions as instructed from Microsoft’s web site. During the process, it will not recognize that you’ve actually patched the Apache executable (thanks to an extra linefeed in the string the script is grepping for) and it will force you to overwrite it. Once you’re done running the fp_install.sh script, just move your safe copy of httpd back over the one that the script put in place.
  • Optionally setup the admin pages using the /usr/local/frontpage/version5.0/bin/owsadm.exe program:
    owsadm.exe -o setadminport -port xxxx -serverconf /etc/httpd/conf/httpd.conf -username xxxxx -password xxxxxxxxx
  • Now start Apache the normal, Red Hat way, and you can use your browser to connect to the admin port and install the extensions on your webs. (Or you can do it at the command line using owsadm.exe again.)
  • You may use these HTML tags: <a> <abbr> <acronym> <b> <blockquote> <cite> <code> <del> <em> <i> <q> <strike> <strong>

  • Comment Feed for this Post
Go to Top