<!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>
