<H1>Improved mod_frontpage</H1> <p> Improved mod_frontpage allows you to use advanced features of the FrontPage client with the Apache HTTP Server. See <a href="http://home.edo.uni-dortmund.de/~chripo/"> http://home.edo.uni-dortmund.de/~chripo/</a> for more information about Improved mod_frontpage and <a href="http://www.rtr.com/fpsupport/index.html"> http://www.rtr.com/fpsupport/index.html</a> for the FrontPage Server Extensions <p> For the full documentation, click <a href="http://www.microsoft.com/technet/treeview/default.asp?url=/TechNet/prodtechnol/sharepnt/proddocs/admindoc/ows000.asp">here</a> to go to the complete Microsoft documentation. <hr><pre> <p> <h2>Microsoft FrontPage Server Extensions</h2> You can download the Microsoft FrontPage Server Extensions 2002 for UNIX platforms at RTR software. <a href="http://www.rtr.com/fpsupport/fp2002eula.htm"> http://www.rtr.com/fpsupport/fp2002eula.htm </a> Do not get them directly from Microsoft, since they are dynamically linked, and the fpsrvadm.exe *will* segfault. The RTR binaries are statically linked and should work with any Linux/Unix distribution/version. Register and select the gzipped tar file for Linux, it will start the download of a file named "fp50.linux.tar.gz". After downloading, do a: # cd /usr/local and untar the FrontPage Server Extensions there by hand: # gzip -dc /path/to/downloaded/fp50.platform.tar.gz | tar xf - Notice: If you have tried to install the FrontPage Server Extensions before, it is a good idea to remove the old "/usr/local/frontpage" directory completely BEFORE untarring the "f50.platform.tar.gz" file: # cd /usr/local # rm frontpage -Rf After that you will have a "/usr/local/frontpage" directory which contains the FrontPage Server Extensions. The owning user and group should both be "bin". This is the default FrontPage Server Extensions Unix user/group, which I will use later in this document. When using the FrontPage client for administering or authoring a web on your server later, the Apache HTTP Server will execute the FrontPage CGI programs which are right now located in the "/usr/local/frontpage/version5.0/exes" directory. Before you install the FrontPage Server Extensions, you should think about the login name and password of your FrontPage Administrator, which will be created in the process. This user will have full administration rights in the web you install the FrontPage Server Extensions to, if he is using the FrontPage client. I will use the login name "fpadm" and password "test" in the example below. Now use the "owsadm.exe" utility, which is part of the FrontPage Server Extensions, to install the FrontPage Server Extensions to the root web on your new Apache HTTP Server: cd /usr/local/frontpage/version5/bin ./owsadm.exe -o install -u fpadm -pw test -s /etc/httpd/conf/httpd.conf \ -xuser customer -xgroup firm -p 80 (If you see strange error messages, see Troubleshooting section below. However, the "Note: Local version of Apache must use the FrontPage Apache patch." message is normal, it's just a reminder.) Here is an explanation of the major parameters: -u: The Web Administrator UserName -pw: The Web Administrator Password -xuser: The UNIX User Account -xgroup:The UNIX Group Account. <B>DO NOT USE "apache" AS THE USER. Also, DO NOT USE A UNIX USER FOR THE WEB ADMINISTRATOR. This is important for security.</B> Why do we have a Web Administrator User and a Unix User? It's simple. A Frontpage web can have administrators and authors, with different privileges. The Frontpage web users can only update their web pages. They don't have access to shell accounts or FTP to the system. Having the Web Administrator username and password different from the UNIX user means that the user will only have the privilege they need to publish their pages. Finally, since you will probably have other users who do now user frontpage, and that can run PHP or CGI, we do not use the "apache" user, since there's always the possibility for another user to wipe out someone else's counters, guestbooks, etc. If you're not happy with this, read a good book on security, get the Apache and mod_frontpage sources, and compile according to your needs. Note that the "htdocs" directory containing your server's content should be chowned by the "owsadm.exe" utility to the UNIX username/groupname of your Website Content User/Group (user "customer" and group "firm"). Sometimes, this does not work, so please make sure everything is OK by yourself: # cd /var/www/html # chown -R customer htdocs # chgrp -R firm htdocs Again, this user/group must NOT be privileged (NOT USER APACHE!), else you will be unable to open your new FrontPage Web with the FrontPage client and Improved mod_frontpage will report errors in your Apache's error logfile or in "fpexec_log". <hr> <p> <h2>Try to open the FrontPage web with the FrontPage client</h2> When prompted, use the FrontPage Administrator account that was created during the last step (in the example this was user "fpadm" with password "test"). You should be able to: - open your FrontPage Web - create and delete new FrontPage extended subwebs (e.g. discussion webs) - create/modify/delete FrontPage users with the FrontPage client now. <hr><p> <h2>SSL access</h2> If you want to allow SSL access, cd to /usr/local/frontpage, and type: cp we80.cnf we443.cnf (or, use this example for virtualhosts) cp 192.168.2.111:80.cnf 192.168.2.111:443.cnf <hr><p> <h2>Virtual Hosts</h2> cd /usr/local/frontpage/version5/bin ./owsadm.exe -o install -u USERNAME -pw PASSWORD -xu username -xg GROUP \ -s /etc/httpd/conf/vhosts/Vhosts.conf -p 80 -m VHOST Make sure the VHOST exists in your Vhosts.conf file, has a valid DNS entry, and that you have proper ServerName and DocumentRoot directives in your virtualhost entry. If you're using a Mandrake version previous to 8.2, or have updated an old release, you'll need to add these lines at the beginning of your Vhosts.conf file: Port 80 ServerRoot /etc/httpd ResourceConfig /dev/null AccessConfig /dev/null <hr><p> <h2>Per User Webs</h2> To enable frontpage for http://yoursite/~username, use this syntax, after having installed the root web: cd /usr/local/frontpage/version5/bin ./owsadm.exe -o install -p 80 -web \~username -xu username -xg GROUP \ -s /etc/httpd/conf/httpd.conf -u USERNAME -pw PASSWORD <hr><p> <h2>Per-Server Configuration (optional)</h2> Improved mod_frontpage supplies a per-server configuration option which allows you to determine which virtual servers the FrontPage Server Extensions are to be enabled on. In your "httpd.conf" file, add the lines: FrontpageDisable or FrontpageEnable to disable or enable the FrontPage Server Extensions on a per-server basis (inside a <VirtualHost> container) or globally. By default, the FrontPage Server Extensions are enabled on all servers. Also, Martin Blapp, a FreeBSD developper, added an additional security feature to enable/disable administration. There are many people which don't like to give customers the right to modify webs, add subwebs, change passwd's etc, or only to some. The administration is disabled by default. To add it back, add this line to your httpd.conf file: FrontpageAdminEnable To disable it again: FrontpageAdminDisable <hr><p> <h2>FAQ</h2> An excellent FAQ is available on: <a href="http://www.rtr.com/fpsupport/faq2002.htm">http://www.rtr.com/fpsupport/faq2002.htm</a> <hr><p> <h2>Troubleshooting</h2> If you have any problems, do the following: - Make sure you have a "DocumentRoot /var/www/html" line in your httpd.conf. Under Mandrake, this line is actually in commonhttpd.conf, but Frontpage is too dumb to read include files. - Have a look at your httpd.conf, and comment out those two lines if they're present (again, frontpage is too dumb to parse the config files correctly): Port 8080 Listen 8080 - If you changed your DocumentRoot, or if you have a VirtualHost whose DocumentRoot is not under the main DocumentRoot, you will need to add some lines into your httpd.conf. This example suppose your VirtualHost is in /var/www/html2: <Directory /var/www/html2> Options -Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> - If you have problems with VirtualHosts, make sure you have those lines in your Vhosts.conf: Port 80 ServerRoot /etc/httpd ResourceConfig /dev/null AccessConfig /dev/null - Always make sure you have a valid ServerName and that the name has a valid DNS entry.