<!DOCTYPE html PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<title>README - Microsoft FrontPage 2000 Server Extensions</title>
<meta name="Microsoft Theme" content="none">
</head>
<body>
<font face="Verdana"><h1><a name="top">Microsoft FrontPage 2000 Server Extensions, UNIX</a></h1>
<font size="2"><i>&copy; Copyright Microsoft Corporation, 1999&nbsp;</i></font><p>The FrontPage Server Extensions are a set of programs on the Web server that support: 

</p>
<ul>
<li>Authoring FrontPage webs</li>
<li>Administering FrontPage webs</li>
<li>Browse-time FrontPage web functionality</li>
</ul>
<h2>Contents&nbsp;</h2>
<a href="#relnotes">Release Notes</a><br><a href="#moreinfo">Resources for More Information</a><p>&nbsp;</p>
<hr>
<h2><a name="relnotes">Release Notes</a></h2>
<p>This section provides complementary or late-breaking 
information to supplement the Microsoft FrontPage Server Extensions documentation.</p>
<p>
<a href="#apache">Apache 1.3.4 Support</a><br><a href="#upgrading">Upgrading from previous version of FrontPage Server Extensions</a><br><a href="#executables">Uploading files into executable folders</a>
</p>
<p align="right"><font size="1"><a href="#top">Top of Page</a></font></p>
<h3><a name="apache">Apache 1.3.4 Support</a></h3>
<p>You need to take some special steps to run the FrontPage Server Extensions with Apache 1.3.4.
FrontPage Server Extensions expect to find all resource directives in the main server 
configuration file, usually http.conf. To prevent the server extensions from using any secondary
configuration files (access.conf, srm.conf), add the following lines to http.conf:</p></font><blockquote><font face="Courier New">
ResourceConfig /dev/null&nbsp;<br>
AccessConfig /dev/null</font></blockquote>
<font face="Verdana"><p>If you have some settings stored in secondary configuration files, move them to http.conf.</p>
<p>You must stop and restart the web server for your changes to http.conf to take effect.</p>
<p align="right"><font size="1"><a href="#relnotes">Top of Section</a></font></p>
<h3><a name="upgrading">Upgrading from previous version of FrontPage Server Extensions</a></h3>
<p>Custom entries in frontpage.cnf are not migrated to FrontPage 2000.</p>
<p>When you install FrontPage 2000 Server Extensions, a new frontpage.cnf file is created in the /usr/local/frontpage/version4.0 directory. 
Any custom settings stored in a previous-version frontpage.cnf are not used. However, you can copy 
your custom settings from the previous-version frontpage.cnf file after you install the FrontPage 2000 Server Extensions.</p>
<p>Do not overwrite the FrontPage 2000 frontpage.cnf file with a frontpage.cnf file from an 
earlier version of the FrontPage Server Extensions.</p>
<p align="right"><font size="1"><a href="#relnotes">Top of Section</a></font></p>
<h3><a name="executables">Uploading files into executable folders</a></h3>
<p>After upgrading to FrontPage 2000, FrontPage authors will not be able to upload files into
executable folders. For security reasons, the default setting on FrontPage 2000 webs does not 
allow authors to upload executable files into executable folders in a FrontPage web. This 
setting protects servers so that authors do not inadvertently upload a program containing a bug 
or a virus.</p>
<p>To allow FrontPage authors to upload executables, set the NoExecutableCgiUpload configuration 
variable to zero (0). For information about FrontPage Server Extension configuration variables, 
see the FrontPage 2000 Server Extensions Resource Kit at <a href="http://officeupdate.microsoft.com/frontpage/wpp/serk/">http://officeupdate.microsoft.com/frontpage/wpp/serk/</a>.</p>
<p align="right"><font size="1"><a href="#relnotes">Top of Section</a></font></p>
<hr>
<h2><a name="moreinfo">Resources for More Information</a></h2>
<p>This section lists sources of more information about the
FrontPage Server Extensions.</p>
<p>
<a href="#serk">Server Extensions Resource Kit</a><br><a href="#serkupdate">Server Extensions Resource Kit Update</a><br><a href="#kb">Knowledge Base</a>
</p>
<p align="right"><font size="1"><a href="#top">Top of Page</a></font></p>
<h3><a name="serk">Server Extensions Resource Kit</a></h3>
<p>The FrontPage 2000 Server Extensions include a full set of documentation: the Server
Extensions Resource Kit. This is an HTML document installed on the server machine (by
default) in /usr/local/frontpage/version4.0/serk. To view the Server Extensions Resource
Kit, open /usr/local/frontpage/version4.0/serk/default.htm in your Web browser.</p>
<p>The Server Extensions Resource Kit contains detailed information about installing and
administering the FrontPage Server Extensions along with an overview of the Server
Extensions, a detailed discussion of Server Extensions security on UNIX and Windows,
troubleshooting information, and a full set of appendixes.</p>
<p align="right"><font size="1"><a href="#moreinfo">Top of Section</a></font></p>
<h3><a name="serkupdate">Server Extensions Resource Kit Update</a></h3>
<p>For updated information about installing, setting up, and administrating the FrontPage Server 
Extensions, see the Server Extensions Resource Kit Update at: <a href="http://officeupdate.microsoft.com/frontpage/wpp/serk/">http://officeupdate.microsoft.com/frontpage/wpp/serk/</a>.</p>
<p align="right"><font size="1"><a href="#moreinfo">Top of Section</a></font></p>
<h3><a name="kb">Microsoft Knowledge Base</a></h3>
<p>For further technical information on FrontPage, please consult Support Online. Use Support
Online to easily search Microsoft Product Support Services' collection of resources including 
technical articles from Microsoft's extensive Knowledge Base, FAQs, &amp; troubleshooters to find 
fast, accurate answers. You can also customize the site to control your search using either 
keywords or the site's natural language search engine, which uses normal everyday language for 
answering inquiries, so you can write your question in your own words. To begin, go to
<a href="http://support.microsoft.com/support/">http://support.microsoft.com/support/</a>.</p>
<p align="right"><font size="1"><a href="#moreinfo">Top of Section</a></font></p>
<p>&nbsp;</p></font>
</body>
</html>
