<!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>&#169; Copyright Microsoft Corporation, 1999&#160;</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&#160;</H2>
<A href="#relnotes">Release Notes</A>
<BR>
<A href="#moreinfo">Resources for More Information</A>
<P>&#160;</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&#160;<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&apos; collection of resources including 
technical articles from Microsoft&apos;s extensive Knowledge Base, FAQs,  troubleshooters to find 
fast, accurate answers. You can also customize the site to control your search using either 
keywords or the site&apos;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>&#160;</P>
</FONT>
</BODY>
</HTML>
