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