I know all you linuxie types out there (like me) think Front Page is the devil. I agree with you, it IS the devil. However, The Customer Is Always Right, and the customer wants to use front page. Many people are in this situation. Right now it’s keeping me on the line about purchasing another Interworx license, or going with another product that supports front-page out of the box.
Today I had an excellent support experiance with the Interworx staff (great job guys!), that really pushed me towards purchasing another Interworx license… but the Front Page issue loomed its’ head. Many of my customers use FrontPage extensions to publish their websites. It is simply not an option for me - I must support this feature on my server.
So, I set out to make it work. I had to use a hatchet to get it done, too.
Here’s a general synopsis of what I did:
- Installed frontpage 5.0 with the archive and installer from RTR software.
- Compiled the apache DSO by doing:
cd /usr/local/frontpage/version5.0/apache2
chmod +x /home/interworx/bin/httpd/apxs
chmod +x /home/interworx/etc/httpd/build/instdso.sh
/home/interworx/bin/httpd/apxs -c mod_frontpage.c mod_fpcgid.
/home/interworx/bin/httpd/apxs -i -a -n frontpage ./mod_frontpage.la
apachectl restart
chmod -x /home/interworx/bin/httpd/apxs
chmod -x /home/interworx/etc/httpd/build/instdso.sh
The above steps properly build the module and install it.
- Add the following to /etc/httpd/conf/httpd.conf (at the end of the file)
Include srm.conf
Include access.conf
As far as I can tell, it doesn’t actually use these files, but checks for them; so you may only need to create them, not include them in the apache configuration. After configuring a test domain all the way to making front page log in to it, these files are EMPTY.
- Create the main “admin” web:
cd /usr/local/frontpage/version5.0/bin
./owsadm.exe -o setadminport -p <PORT> -s /etc/httpd/conf/httpd.conf
-username <USERNAME> -PW <PASSWORD> -t apache-2.0
A side thought would be to modify the configuration this puts in httpd.conf to lock it down to a specific domain, and restrict access to administrative personell only, since the admin program is SUID root.
- Take a hatchet to some files that aren’t in the right places:
cd /usr/local/frontpage/version5.0
cp -R admin/1033 admin-exes/_vti_bin/_vti_adm/
cp admin-exes/_vti_bin/images/* admin-exes/_vti_bin/
not all of the images are required, but it’s easier to copy them all
#now copy the help:
mkdir -p /usr/local/frontpage/version5.0/admin-exes/_vti_bin/_vti_adm/help/1033/publish
cp -R /usr/local/frontpage/version5.0/help/1033/* /usr/local/frontpage/version5.0/admin-exes/_vti_bin/_vti_adm/help/1033/publish/
Watch your apache error log for other missing files, they exist in odd places and need pushed around a bit. Note: while reviewing this post before submitting the final version, late at night, I think I might have missed a step or two here.
I’m not sure why all the butchering is needed on the files - maybe it’s because I made a mis-step or missed something earlier in the process.
Anyways, at this point if you’re lucky you can go to the admin web, and click on “extend a virtual server”, but this is where it starts getting really tricky.
The software looks in the config file you specify for ServerRoot and/or Port (which are in /etc/httpd/conf/httpd.conf) and the VirtualHost directives configuring the domain you put in for “Host Name” - which are in seperate files under Interworx. In my opinion the seperation Interworx makes is the proper way of doing this. I don’t know why the RTR people were so short sighted as to write the software this way, but we have to use what they gave us (and it doesn’t look like they’ll be fixing it with the EOL notices).
I don’t know what a permenant solution is, but I short-circuited it by copying the configuration for a test domain from its’ dedicated conf file into the main httpd.conf file (and renaming the domains’ .conf to .bak). At this point, fpadmcgi.exe would ‘extend’ the web.
However, if I click on administration for the web, it 500’s out… because it doesn’t actually copy any of the frontpage files over. With more butchering:
cd /usr/local/frontpage/version5.0
cp -fR exes/_vti_bin/* /home/<domain>/public_html/_vti_bin/
cp -R admin/1033 /home/<domain>/public_html/_vti_bin/_vti_adm/
cp -R admin-exes/_vti_bin/images/* /home/<domain>/public_html/_vti_bin/
chown -R <user>:<group> /home/<domain>/public_html/_vti_bin/
additionally, I had to edit /etc/http/conf/httpd.conf, in the <VirtualDomain> section of the test domain and change AllowOverride to “All” and add “AddHandler cgi-script .exe”. Then, edit /home/<domain>/public_html/_vti_bin/_vti_adm/.htaccess and change “Options None” to “Options ExecCGI”
At this point, I was able to log in to the domain level administration link (yay!), however I could /not/ open the web with front page (boo!).
I checked the log file. It looks like all of the .htaccess files that frontpage creates need the “Options None” set to “Options ExecCGI”:
_vti_bin/.htaccess
_vti_bin/_vti_adm/.htaccess
_vti_bin/_vti_aut/.htaccess
At this point, I can now log in to the site with Microsoft Frontpage 2003, however I have yet to do any extensive testing and/or debugging.
This is also not an optimal solution for a couple of reasons:
- so much hatchet work to make it happen
- it requires the .conf file for the domain to be merged with the httpd.conf file. I do not know the ramifications this may have on Interworx.
If an Interworx staff member could give me some feedback on #2 I would appreciate it very much