How To make FRONT PAGE work (Version 4.0 - i.e. Front Page 2000)

First off, let me preface this by: This worked for me, it may not for you! Your Milage May Vary! I am not responsible if you HOSE your system! :slight_smile: Please read the whole post before you do anything, then read it twice more.

That said, FP4 is a LOT easier to play with than FP5. There are a lot of thing version 5 does that version 4 doesn’t, but some functionality is better than none, and I’m pretty well convinced that version 5 will never work without commitment from Microsoft. We all know that won’t happen.

I don’t know if it is against the license or not for me to distribute the fp40.linux.tar.gz package, but it’s not generally available so I’ve posted it at my website (see links at end of article).

So, on with the instructions:

  1. Extract fp40.linux.tar.gz

  2. Copy fp40.linux.tar.gz to frontpage/version4.0/

  3. Execute fp_install.sh using the default answers (note: you’ll need to know where the zcat command is, and of course answer yes in a couple places it defaults to no), until it gets to the “Do you want to install a root web” question - answer NO. Answer NO to “install new sub/per-user webs now”. Answer NO to “install veritual webs”. The script will complete, with the frontpage extensions installed to /usr/local/frontpage, and ready to install to domains.

IF you encounter errors about “srm.conf” or other missing directives, you may need to massage your apache configuration a little bit. That part is a little fuzzy, I had to the first time, but not when I re-did it all to redocument the process for this howto.

The first time, I had to place two configuration directives:

AccessConfig conf/access.conf
ResourceConfig conf/srm.conf

Both are empty files, you could also use /dev/null. However, Apache2 won’t start with those in there, so after I got past the point that was checking for those files, I commented it out. Later on, I got an error about a missing srm.conf, so I added:

Include conf/srm.conf
Include conf/access.conf
  1. You need a /usr/local/frontpage/we80.cnf file (the root web thing would have made it, but would be problematic to run):
vti_encoding:SR|utf8-nl
frontpageroot:/usr/local/frontpage/version4.0
serverconfig:/etc/httpd/conf/httpd.conf
authoring:enabled
servertype:apache
SendmailCommand:/usr/lib/sendmail %r

## This is where it gets tricky and non iworxy.

  1. Cat the contents of the domain to install extension to, on to the end of /etc/httpd/conf/httpd.conf (rename - do not delete - the original config file; something other than .conf).

  2. Run /usr/local/frontpage/version4.0/bin/fpsrvadm.exe (Argument Refrence: http://support.microsoft.com/?kbid=247864). I had a bit of trouble making it work via command line, but with the right combination, it should work. Going through menu style (no arguments) and giving it all the appropriate answers, it installs the web. Example menu based ouptut:


[root@webdev ~]# /usr/local/frontpage/version4.0/bin/fpsrvadm.exe 
Type "fpsrvadm -h" for help on command line options

Please enter command:
0) quit
1) install
2) upgrade
3) uninstall
4) check and fix
5) enable authoring
6) disable authoring
7) change security settings
8) recalculate links
9) delete
10) rename
11) set directory executable
12) set directory no executable
13) putfile
14) recalcfile
15) create a subweb
16) merge a subweb into its parent web
17) full uninstall of all FrontPage information
18) chown
Your choice [1]: 

Please enter server type:
0) apache
1) apache-fp
2) ncsa
3) netscape-enterprise
4) netscape-fasttrack
5) stronghold
Your choice [0]: 
Enter server config filename: /etc/httpd/conf/httpd.conf
Enter host name for multi-hosting []: terraworld.org

Starting install, port: terraworld.org:80, web: "root web"

Enter UNIX username []: terrawor
Enter UNIX group []: terrawor

User name to add to FrontPage group "administrators" [administrator]: nickb
Password for user "nickb": 
Confirm password: 
Creating web http://terraworld.org
Chowning Content in service root web
Chmoding Extensions in service root web
Install completed.

A command line might look like:

fpsrvadm.exe -operation install -port 80 -web domain.tld -type apache -servconf /etc/httpd/conf/httpd.conf -multihost domain.tld -username FPUsername -password FPPassword -xUser UnixUser -xGroup UnixGroup

This creates a configuration file for the base domain name, which needs to be linked to “www.domain.tld”:

ln -s /usr/local/frontpage/domain.tld\:80.cnf /usr/local/frontpage/www.domain.tld\:80.cnf

BUG NOTE: Initially this made it so that i could open up “www.domain.tld” with frontpage, but after subsequent monkeing while debugging other problems, it quit working. I’ve yet to resolve this.

  1. Now that the stuff is installed, we have to un-sticky bit it because we are already running it suexecusergroup through apache:
#!/bin/sh
cd /home/domain/domain.tld/html
chmod g-s _private _vti_* _vti_bin/_vti_*
chmod 755 _vti_bin/fpcount.exe _vti_bin/shtml.exe _vti_bin/_vti_adm/admin.exe _vti_bin/_vti_aut/author.exe

Yes, you have to do this. It won’t work if you leave the binaries set-uid. It’ll get errors.

  1. FIN. It works. Check it :slight_smile:

At this point, frontpage works to Version 4.0 level (Frontpage 2000). Some of FrontPage 2003’s features won’t work, and there may be some problems with the built in web-bots. But the main thing is that publishing works, as well as password changes and user management. I haven’t done extensive feature debugging, but V4 is a lot simpler than V5 to get going.

Some notes and thoughts though:

It’s very un-iworxy. You have to copy the contents of the domain configuration file into the main httpd.conf file (don’t forget to rename the domain configuration file!), and you can’t put it back into it’s own file (it WILL cause errors), because the front page author.exe binary (which is closed source, and can’t be modified - except maybe by hex) checks for “ServerRoot” and “Port” in the conf file you specify even though it has no need of doing so, and that is totally pointless for it to check. GG RTR!

So, this presents a few problems for actual interworx integration. The biggest one is the configuration file issue. Next is the functionality of fpsrvadm.exe; I think that it could probably be provided by some other script or system - but it works well enough (just fix the file modes).

The biggest thing to keep in mind is that, if you do this, Interworx will no longer be able to make any changes to the domain configuration. This is a far cry from something integrated, but if you really need to get a customer going with frontpage, it might just solve the problem for you.

I hope this gives the Interworx staff something to start with to get some front-page integration going. I just hope they understand how critical and important some degree of support is - I can’t justify buying interworx for Terra World until it works, because too many of my customers use it.

http://boberz.thewatch.org/fp40.linux.tar.gz

http://boberz.thewatch.org/we80.cnf

Interwors Integration Development (HOW-TO ENDS HERE)

As far as integration goes, this would be a SNAP if the stupid thing didn’t check for “ServerRoot” and “Port” when you try to log in to a domain. I made a few changes to test this, the first was to change the /usr/local/frontpage/domain.tld:80.cnf file from:

vti_encoding:SR|utf8-nl
frontpageroot:/usr/local/frontpage/version4.0
serverconfig:/etc/httpd/conf/httpd.conf
authoring:enabled
servertype:apache

To

vti_encoding:SR|utf8-nl
frontpageroot:/usr/local/frontpage/version4.0
serverconfig:/etc/httpd/conf.d/domain.tld.conf
authoring:enabled
servertype:apache

While moving the domain configuration back to the /etc/httpd/conf.d/domain.tld.conf file - it complains that it can’t find any “Port” or “Server Root” directives (which are in the main httpd.conf file).

I’m not sure where to go from here, to move towards real integration. If it didn’t check for these files it would be as simple as gathering the information in a form within iworx and firing it off to /usr/local/frontpage/version4.0/bin/fpsrvadm.exe in command-line-argument format, then fixing the sticky bits on what it installs.

Thanks for the thread.

Please explain #5

Also, #6 gave this

[root@host local]# /usr/local/frontpage/version4.0/bin/fpsrvadm.exe
-bash: /usr/local/frontpage/version4.0/bin/fpsrvadm.exe: No such file or directory

In step number 5, you’re taking the contents of one of the files which configures a virtual host and putting it into the main httpd.conf file:


cat /etc/httpd/conf.d/domain.tld.conf >> /etc/httpd/conf/httpd.conf
mv /etc/httpd/conf.d/domain.tld.conf /etc/httpd/conf.d/domain.tld.conf.bak

This is necessary, because the frontpage scripts are a bit dumb. If you tell the fpsrvadm.exe program to look at /etc/httpd/conf.d/domain.tld.conf file, it will complain about missing apache directives (that are in the main httpd.conf).

As far as your error, after installing the frontpage software via their install script, you should have the binary /usr/local/frontpage/version4.0/bin/fpsrvadm.exe, if not, perhaps you installed it somewhere else or the installer had some errors?

[root@domain bin]# ls
_vti_inf.htm fpsrvadm.exe postinfo.htm
[root@domain bin]# /usr/local/frontpage/version4.0/bin/fpsrvadm.exe
-bash: /usr/local/frontpage/version4.0/bin/fpsrvadm.exe: No such file or directory
[root@domain bin]# sh fpsrvadm.exe
fpsrvadm.exe: fpsrvadm.exe: cannot execute binary file

The contents of your directory are the same as mine, I’m wondering about permissions. Maybe you need to chown the files in /usr/local/frontpage? Check the ownership to be sure. Also make sure that fpsrvadm.exe is executable.


[root@server local]# ls -lh
total 12K
drwxr-xr-x    2 root     root         1.0K Mar  5  2004 bin
drwxr-xr-x    2 root     root         1.0K Mar  5  2004 etc
lrwxrwxrwx    1 root     root            3 Feb 20 12:41 frontpage -> ./y
drwxr-xr-x    2 root     root         1.0K Mar  5  2004 games
drwxr-xr-x    2 root     root         1.0K Mar  5  2004 include
drwx--x--x   16 iworx    iworx        1.0K Feb 18 21:51 interworx
drwxr-xr-x    2 root     root         1.0K Mar  5  2004 lib
drwxr-xr-x    2 root     root         1.0K Mar  5  2004 libexec
drwxr-xr-x    2 root     root         1.0K Feb 11 12:43 sbin
drwxr-xr-x    4 root     root         1.0K Dec 30 15:15 share
drwxr-x---    5 root     root         1.0K Feb 20 08:10 sim
drwxr-xr-x    2 root     root         1.0K Mar  5  2004 src

Your /usr/local/frontpage is a link to ./y (uh, ok then…). Your install is fudged up - start over again.

I suspect you hit “y” when prompted for the frontpage path, instead of just pressing enter.

Ok, on step 6 I am now getting this

Enter server config filename: /etc/httpd/conf/httpd.conf
Enter host name for multi-hosting []: custdomain.com
Cannot open “srm.conf”: no such file or folder.

One of the problems that we’ve had in trying to get this working is that we don’t use the “apache” or “nobody” user to serve people’s web pages – each SiteWorx account has it’s own unique system user and that user would not have perms on the /usr/local/frontpage

I’m not sure how to work around that.

cabizeid:


touch /etc/httpd/conf/srm.conf
touch /etc/httpd/conf/access.conf

then put in your httpd.conf:


Include conf/srm.conf
Include conf/access.conf

That should resolve your error. It doesn’t matter that the files are empty - just that they are there. Another “stupid” thing that this software does.

Iworx-Tim:

I was able to work around the permissions issues by removing the SETUID bit from the things installed in the users’ web root (namely, _vti_bin/*.exe - recursively), and leaving the SuExecUserGroup commands intact in the HTTPD configuration. These steps are outlined in my documentation, as well.

The biggest problem I see, from my point of view anyways (which is very different from the Iworx Devs, I’m sure - they know a lot more than me!) is the configuration file issue. This software stupidly assumes things, that preclude the proper configuration file seperation that Iworx does.

I firmly belive that Iworx does this The Right Way™ and that the MS Frontpage Extensions Are Really Stupid Sometimes™. The sad thing is that SO many people use frontpage, that many hosting providers are basically required to support it, to be competitive :frowning:

Hi

Did you try to add in the conf.d/domaine.com.conf this :

ServerRoot /etc/httpd
<VirtualHost xx.xx.xx.xx:80>
bla bla
iworx stuff
</VirtualHost>

This way the FP script will find the needed ServerRoot in the conf.d file.
For the Port directive I thought it was deprecated since v2
Is it Listen directive or port ? if it is listen directive then maybe we could try to write it in the conf.d files and not in the main conf file (but in this case in all conf.d because I’m pretty sure you can’t write more than one. If there is more than one Listen directive Apache will probably complaint for port already in use and it can’t bind it)

It’s only idea coming lile this and not tested at all

Pascal

Yes, I tried adding what it wanted to the file. Apache wouldn’t allow the duplicate directives :expressionless:

[quote=nbright;7143]cabizeid:
SO many people use frontpage, that many hosting providers are basically required to support it, to be competitive :([/quote]

A lot of people forget you can still use FrontPage without the extentions (you just have to FTP and loose all of the interactive stuff like forms and guestbook).

FP’s popularity is a bain, I know, and wishing to list FrontPage compatibility is – at least in my personal opinion – probably the real reason why at least one well known compedator of ours is still using Apache 1.3.x :wink:

To be honest with you, not having front page capabilities is the reason I’ve not purchased iworx licenses in three or four different situations. It’s just a major failing of iworx, in my opinion. I really like your software, but not supporting frontpage is (sadly) a deal-breaker for me in most situations.

That’s unfortunate. This has been looked at many times over the years both by our staff and others. We can’t add it unless a way can be found to both make it stable AND secure. We’re monitoring threads like this and hoping someone will find a way to make it work.

Oh, I can make it work… and as far as I can tell, it’s as secure as frontpage is going to be (it runs suid under apache, so it’s in the context of the user). The entire problem with my implementation is that all of the domain configuration files are under conf.d instead of in httpd.conf. If there was some way to resolve that, you could add frontpage support.

The only way I can think of, which there may be counterpoints against from the perspective of the iworx devs, is to just put everything in httpd.conf. I can think of lots of reasons that isn’t a good idea though, as I’m sure anyone else can as well. But that needs to be weighed against how much demand there is for supporting frontpage… and it seems like there is a lot. Probably mostly from ISP’s who need to support users who already have frontpage and have been using it for years. From my viewpoint, as an ISP, I need to continue providing support for software that my users have always used.

[quote=nbright;9531]
The only way I can think of, which there may be counterpoints against from the perspective of the iworx devs, is to just put everything in httpd.conf. I can think of lots of reasons that isn’t a good idea though, as I’m sure anyone else can as well. But that needs to be weighed against how much demand there is for supporting frontpage… and it seems like there is a lot. Probably mostly from ISP’s who need to support users who already have frontpage and have been using it for years. From my viewpoint, as an ISP, I need to continue providing support for software that my users have always used.[/quote]

This is one reason a lot of hosts are using both Iworx AND Plexk or cPanel, putting most of their clients on Iworx and the FrontPage users and a few othes on the other. FrontPage is a buzz word and a lot of people just like to say that they support it even if not as many people use it anymore.

FrontPage is an aging software package and moving more and more into being Windows exclusive. There is a poing when you have to consider which is more important: making advances and supporting newer standards OR supporting legacy software. Correct me if I’m wrong but the newer versions of the extentions (since adding SharePont Team Services stuff) doesn’t work on Linux at all.

EDIT: Just for claifification, I’m not saying we don’t want to add FP support, because we do, but we just don’t want to compromise how things are set up on an Iworx box to accomodate a minority – a significant minority, but still a minority – of users.

Having separate vHost config files is the recommended implementation of Apache 2 and makes a LOT more sense, especially when you add more than a handfull of websites to your server. It’s a lot more organized and easier to find what you are looking for. httpd.conf is large enough as it is without adding 100 vhosts on the end of it.

MyGameHost.com had to do exactly that, by renewing a Plesk license, even though I have serious issues with the quality of SW-Soft’s patches, and even more serious issues with their total lack of end user support on the forums. However, I think more people use FrontPage than you think. Of the ~200 active “user webs” at the ISP I run (a seperate buisness) I’d estimate that about 120 of them use frontpage extensions, and of the ~100 hosted domains probably about 75 use frontpage. For my particular situation, it is a very significant issue.

FrontPage is an aging software package and moving more and more into being Windows exclusive. There is a poing when you have to consider which is more important: making advances and supporting newer standards OR supporting legacy software. Correct me if I’m wrong but the newer versions of the extentions (since adding SharePont Team Services stuff) doesn’t work on Linux at all.

You’re definately right, it is windows exclusive now. As of the version in Frontpage 2003, *nix is not supported. Version 5.0 was supported, but is EOL and no patches, fixes, or support are available for *nix.

EDIT: Just for claifification, I’m not saying we don’t want to add FP support, because we do, but we just don’t want to compromise how things are set up on an Iworx box to accomodate a minority – a significant minority, but still a minority – of users.

Again, you’re right and I understand where you are coming from. I think you understand where I, and other users in my situation, are coming from too.

Having separate vHost config files is the recommended implementation of Apache 2 and makes a LOT more sense, especially when you add more than a handfull of websites to your server. It’s a lot more organized and easier to find what you are looking for. httpd.conf is large enough as it is without adding 100 vhosts on the end of it.

I agree of course, as it’s a lot easier to manage and just generally a better way to do it. I have an old FreeBSD server with everything in httpd.conf (yes, it’s got frontpage V4) and it’s a mess to do anything with.

Greg or someone can correct me if I’m wrong but as I understand it, FP support is the main (only?) reason that Necess is still using the old (Nexcess proproetary) version of SiteWorx (which predated InteWorx by two years and used Apache 1.3) on a couple of their servers.

However, I think more people use FrontPage than you think. Of the ~200 active “user webs” at the ISP I run (a seperate buisness) I’d estimate that about 120 of them use frontpage extensions, and of the ~100 hosted domains probably about 75 use frontpage. For my particular situation, it is a very significant issue.

I was spealing in general, I’m sure there are many hosts like you who have many FP users and then others who offer it who have almost none, and still others who have the extentions installed but aren’t actually using them for anything except maybe for publication.

And for the record I was using it when I first discovered InterWorx and was frustrated at Iworx’s lack of support, but after trying to get it working for quite a while I gave up and redesigned the site useing the FP extentions. :slight_smile:

This is the case, yes. But we’re about to stop supporting FP and port all the old siteworx users over to the new system, FP-less