home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-06-26 | 53.9 KB | 1,333 lines |
- <html><head><title>NetMagic Server User's Guide</title></head>
- <body>
- <h1>NetMagic Server User's Guide</h1>
-
- <h2>Contents</h2>
- <ul>
- <li><A HREF="#Beta">Beta Notes</A>
- <li><A HREF="#Installation">Installation</A>
- <li><A HREF="#Internet">Internet Basics</A>
- <li><A HREF="#Objects">NetMagic Server Objects</A>
- <li><A HREF="#Global">Global Settings and Configuration</A>
- <li><A HREF="#Client">Client Usage</A>
- <li><A HREF="#ServCmds">NetMagic Service Command-line options</A>
- <li><A HREF="#ServInfo">NetMagic Service Management</A>
- <li><A HREF="#Uninstall">Uninstalling NetMagic</A>
- </ul>
-
- <hr>
-
- <h2><A NAME="Beta">Beta Notes</A></h2>
- <h3>General Beta Information</h3>
-
- The NetMagic Server beta software can be downloaded via
- <A HREF="ftp://www.aristosoft.com/NetMagic/NetMagic.zip">FTP at
- ftp://www.aristosoft.com/NetMagic/NetMagic.zip</A> or
- <A HREF="http://www.aristosoft.com/ftp/NetMagic/NetMagic.zip">HTTP at
- http://www.aristosoft.com/ftp/NetMagic/NetMagic.zip</A>. After
- downloading this file, use PKUNZIP to decompress it into an empty directory (not
- the one you'll eventually want to install it into.)
- Setup can then be run from this directory.
- <P>
- The following platforms are supported:
- <ul>
- <li>Windows 95 (Final and later betas)
- <li>Windows NT 3.5 (i386) (Server or Workstation)
- </ul>
- Memory requirements depend on usage; for Windows 95, 8 MB should be fine;
- for Windows NT, 16-20 MB is more realistic. Of course, more memory helps performance
- with many clients, as does a nice SMP system, a 5 ms hard disk, 128 Mb RAM...
- <P>
- Although we have used NetMagic on our server for several weeks without any major
- problems, the software is in <i>beta</i> form. There are probably some
- bugs, some features may not be fully implemented, and other strange things
- may happen as a result of this. You have been warned! Please don't use this on
- a mission-critical system which you haven't backed up for the past 6 months.
- <P>
- For this version of the beta, due to the fact it is being incorporated on a CD
- with an uncertain ship date, the timeout has been extended to Oct 31, 1995.
- After this date, the server will not function.
- This is to encourage people to either purchace the commercial version or
- at least download and deploy the latest evaluation version.
- <P>
- For the period of the beta, support will be available primarily via
- <a HREF="mailto:aaron@aristosoft.com">aaron@aristosoft.com</a>.
- Let us know about any bugs or desired features or enhancements.
-
- <h3>Known Beta Problems</h3>
- <ul>
- <li>The HTTP Proxy currently ignores the Accept: header from the client. This will
- be fixed, but shouldn't cause a problem for most browsers (which Accept: */*
- anyway).
- <li>The HTTP Proxy does not work with HTTP/0.9 servers.
- <li>Under Windows 95, we've observed that trying to browse the server from the
- server results in a strange TCP error. Using the server's IP address works.
- Looks like a DNS bug in Windows 95...
- <li>Global and server-specific accounts may interact with each other in unexpected
- ways if the same user or group names are used.
- <li>The on-line help isn't implemented--it's still evolving, like this document.
- <li>A few browsers cannot handle the large amounts of client state passed around
- by the ChatRooms. We've had problems with Mosaic 2.0 a7, Mosaic 2.0 b4, and
- problems have been reported with the Prodigy browser and Air Mosaic. The bug in Mosaic 2.0
- b4 has been confirmed and is being addressed. As it is the most widely-used browser
- currently, Netscape is our "reference" browser platform. We'd appreciate any browser
- incompatibility reports, but also let us know if the problem can be reproduced with
- Netscape 1.0N/1.1N.
- </ul>
-
- <hr>
-
- <h2><A NAME="Installation">Installation</A></h2>
- To install the software, change to the directory/diskette with the Setup files
- and run <code>setup</code>. If you received the files in a ZIPped archive,
- you should unzip them into a separate directory first (not the desired
- destination directory.
- <p>
- Setup allows you to install the Personal server or the Enterprise server.
- In this beta they have identical features; the difference is in how they
- run on your server. The Personal server is a user application that supports
- Windows 95 and Windows NT; the Enterprise server runs as a Windows NT
- service and supports Windows NT only. The Enterprise server is also
- built to use a bit more memory for internal buffering than the Personal
- version.
- <P>
- <i>Note:</i> The feature set of the Personal server will most likely change
- for the final version to reflect its lower price. Marketing hasn't decided
- which features, if any, will not be present in the Personal version.
-
- <hr>
-
- <h2><A NAME="Internet">Internet Basics</A></h2>
- This is by no means a comprehensive treatise on providing Internet services;
- rather, it's intended to point you in the right direction.
- <p>
- To provide web services to the Internet community, your server must be
- accessible from the Internet. Tomes have been written on this subject,
- which varies widely from site to site, state to state, and country to
- country. We can be of some assistance, but you're better off discussing these
- issues with your internet service provider or network administrator.
- <ul>
- <li>The server must have a valid, unique, and static global IP address. Typically,
- this means the server is in a valid registered domain and has been assigned a
- static address. If the server obtains an address dynamically (such as from a
- SLIP/PPP provider or via DHCP), then you should ensure that the <i>same</i>
- address is always provided.
- <li>The server's machine name and domain name should be registered with DNS.
- Again, typically this is handled by the service provider or the local network
- administrator. It <i>is</i> possible to provide services with only a static IP
- address; clients will have to specify IP numbers instead of hostnames in their
- URLs.
- </ul>
- Many firewall installations provide "local" IP addresses to machines (such as
- 192.168.x.x). Such IP numbers cannot be seen from outside the firewall (thus why
- they're used). You will need a global IP address to provide service to the
- entire Internet.
- <P>
- Many SLIP/PPP/ISDN providers can provide you with a static IP address and even a host
- name. There are really only a few limitations when using a server connected this
- way to the Internet: performance (okay, ISDN isn't too bad) and accessibility. For
- your services to be available, your machine will need to be connected full-time,
- which could be expensive! There is talk about dial-back ISDN, but for now, the
- best solution is really a dedicated link (i.e. 57K frame relay, T1, or a "nailed"
- ISDN link).
-
- <hr>
-
- <a name="Objects"><h2>NetMagic Server Objects</h2></a>
- The NetMagic server allows you to define and enable different
- <i>server objects</i>. A server object can be an HTTP server,
- a ChatRoom, or the HTTP proxy.
- <p>
- <i>Note:</i> You can create multiple HTTP servers and ChatRooms,
- but there can be only one HTTP proxy.
- <p>
- Each server object must be <a href="#Binding">bound</a> to a TCP
- port. In addition, each object requires several settings and preferences
- be set. Certain types of settings, such as user accounts and common
- configuration strings, can be shared between server objects. Most
- settings, however, are specific to the object, allowing a single
- machine to provide different types of service to different groups
- of clients.
-
- <hr>
-
- <a name="Binding"><h2>Binding Server Objects</h2></a>
- Each server object must be <i>bound</i> to a TCP address. This
- address specifies how client machines will access the server
- object. The TCP address consists of two parts: an IP address
- and a TCP port.
- <p>
- In most cases, a server will have a single IP address, and
- this will be used to bind the server object. In some cases,
- however, a machine can have multiple IP addresses; such a
- machine is said to be "multihomed."
- <p>
- For a multihomed server, a server object can be bound to
- all IP addresses for the server or to one address specifically.
- The default for server objects is to bind to all local IP
- addresses (specified as address 0.0.0.0). Binding to multiple
- addresses is most often used when one machine is
- providing multiple, independent web services as if it were two
- or more unrelated machines.
- <p>
- The TCP port determines numerically which TCP-based service
- the client is requesting at the given IP address(es). The
- Internet Engineering Task Force reserves certain TCP ports
- for well-known services, but most port numbers are not reserved.
- Other than such conventions, there is no advantage or disadvantage
- to using a certain port number.
- <p>
- The default TCP port for HTTP service is 80. Your default web
- server object should use this address, as it relieves clients
- from explicitly entering the port number in your URLs.
- There is no well-used
- default address for ChatRooms or HTTP proxies. The NetMagic
- server will default to using 8000 and above for ChatRooms
- and will use 8080 for the HTTP proxy.
- <p>
- <i>Note:</i> To avoid conflicts with other TCP/IP-based services
- your server may be providing, we recommend not using TCP port
- numbers below 1024.
-
- <hr>
-
- <a name="Global"><h2>Global Settings and Configuration</h2></a>
- For the Enterprise Server, all server configuration is performed
- by using the NetMagic Control Panel icon. For the Personal
- Server, all settings are accessed via the Settings... button
- in the NetMagic application's main window. You may have to
- restore the NetMagic icon (Windows NT) or click on the NetMagic
- icon in the task bar (Windows 95) to see this window.
- <p>
- The NetMagic server makes extensive use of property sheets, also
- called tabbed dialogs. The main configuration dialog allows
- configuring several global server properties:
- <dl>
- <dt><b><a href="#Servers">Servers</a></b>
- <dd>Allows creating, editing, and deleting NetMagic server
- objects (HTTP servers, ChatRooms, and the HTTP proxy).
- <dt><b><a href="#Users">Users</a></b>
- <dd>Allows creating and editing global user accounts.
- Global user accounts are valid for all server objects.
- <dt><b><a href="#Groups">Groups</a></b>
- <dd>Allows creating and editing global user groups.
- Global groups are valid for all server objects.
- <dt><b><a href="#Strings">Strings</a></b>
- <dd>Allows creating and editing global strings. Global
- strings are optional and can be used to centralize
- text used in all server objects such as a site's
- copyright notice.
- <dt><b><a href="#Remote">Remote</a></b>
- <dd>Allows managing a remote NetMagic Enterprise server
- <dt><b>About</b>
- <dd>Displays version information about the NetMagic server.
- <dt><b><a href="#Service">Service</a></b>
- <dd>Allows starting and stopping the NetMagic service
- (Enterprise server only).
- </dl>
-
- <hr>
-
- <h2><a name="Servers">Servers</a></h2>
- The Servers property sheet allows editing the following
- server object types:
- <dl>
- <dt><b><a href="#HTTP">HTTP Servers</a></b>
- <dd>HTTP servers allow clients to fetch documents using
- a web browser (i.e. Mosaic) and interact with forms.
- <dt><b><a href="#ChatRooms">ChatRooms</a></b>
- <dd>ChatRooms allow clients to converse interactively
- using a web browser.
- <dt><b><a href="#Proxy">HTTP Proxy</a></b>
- <dd>The HTTP proxy can be used to improve document
- retrieval time or can be used as part of a secure firewall
- installation.
- </dl>
-
- <hr>
-
- <h2><a name="Service">Service Management</a></h2>
- The Service management property sheet allows the NetMagic service
- to be started, stopped, paused, or resumed. The Windows NT
- Services Control Panel can be used to perform the same function.
- <p>
- <i>Note:</i> Only options that can be performed will be
- available. Note that it could take several seconds to start
- or stop the service. Start and Pause will be available if
- the NetMagic service is running.
- <dl>
- <dt><b>Start</b>
- <dd>Starts the NetMagic service. The service must
- already be installed in the Server Manager's table.
- Setup automaticall installs the NetMagic service.
- <dt><b>Stop</b>
- <dd>Stops the NetMagic service.
- <dt><b>Pause</b>
- <dd>Pauses the NetMagic service.
- <dt><b>Resumes</b>
- <dd>Resumes the NetMagic service.
- </dl>
-
- <hr>
-
- <h2><a name="Remote">Remote Configuration</a></h2>
- The Remote property sheet allows a NetMagic service
- on a remote machine to be configured.
- <p>
- <i>Note:</i> In order for the remote NetMagic server to be
- configured, the machine it is on must be accessible using
- Windows Networking. It is not sufficient that the server
- be accessible via TCP/IP. Typically, you must either
- be using the Windows Internet Name Service or have the remote
- system's machine name in your LMHOSTS file.
- <p>
- <i>Note:</i> Your account must have sufficient access rights to
- modify the remote server's NetMagic registry key (HKEY_LOCAL_MACHINE\Software\NetMagic...).
- <p>
- <i>Note:</i> The Remote property sheet will not be present if you
- are already configuring a remote server.
- <dl>
- <dt><b>Machine name</b>
- <dd>Specifies the Windows Networking name of the remote
- server. This is not necessarily the same as its Internet
- DNS name. The name should be preceded by \\ (i.e. \\SERVER).
- <dt><b>Connect</b>
- <dd>Attempts to connect to the remote server. If the
- connections succeeds, a dialog similar to the NetMagic
- main dialog will appear. All properties that can be
- configured locally can be configured remotely.
- </dl>
-
- <hr>
-
- <h2><a name="Users">User Accounts</a></h2>
- The NetMagic server supports basic client authentication.
- Most NetMagic resources and objects can be protected by
- specifying an <a href="#ACLs">Access Control List</a>, or
- ACL, which specifies who can and cannot access the protected
- resource.
- <p>
- The NetMagic server uses a hierarchy of user accounts. Each
- level of this hierarchy is the account's <i>context</i>. Global
- accounts are valid for all NetMagic server objects, class accounts
- are available for a given type of NetMagic server object (i.e.
- ChatRooms), and object accounts are valid for a specific
- server object. When verifying usernames and passwords, local
- accounts are searched first, then class accounts, then global
- accounts.
- <p>
- The User property page lists all user accounts for the given
- context. The following options are available:
- <dl>
- <dt><b>New...</b>
- <dd>Create a new user account. The user name must be unique
- in the current context. Case is ignored for the user name
- <i>but not for the password.</i>
- <dt><b>Edit...</b>
- <dd>Edit the currently selected user account.
- <dt><b>Delete</b>
- <dd>Delete the currently selected user account.
- </dl>
- <i>Note:</i> NetMagic user and group accounts are not related to
- Windows user accounts. This is a deliberate design feature;
- basic authentication relies on the plaintext transmission of
- passwords. If an account's password were to be stolen, only
- the NetMagic resources themselves, and not the entire server,
- would be compromised.
-
- <hr>
-
- <h2><a name="Groups">User Groups</a></h2>
- User groups provide a convenient way of grouping various
- users together. Instead of specifying each user separately,
- a new group can be created consisting of the desired users.
- <p>
- As with <a href="#Users">user</a> accounts, a hierarchy of group
- accounts is implemented. [The implementation of this feature
- has not been finalized, pending beta tester feedback.]
- <p>
- The Group property page lists all groups for the given
- context. The following options are available:
- <dl>
- <dt><b>New...</b>
- <dd>Create a new group. The group name must be unique
- in the current context. Case is ignored for the group name.
- Note that multiple users can be chosen to be members of the
- group.
- <dt><b>Edit...</b>
- <dd>Edit the currently selected group.
- <dt><b>Delete</b>
- <dd>Delete the currently selected group.
- </dl>
-
- <hr>
-
- <h2><a name="Strings">Configuration Strings</a></h2>
- The NetMagic server uses strings to form certain client
- responses. For example, all the text viewed by clients in
- ChatRooms is constructed from a table of strings.
- <p>
- A string is nothing more than text. Each string must be
- given a name, which is called its token. For example,
- the string "Copyright © 1995 FooBar, Inc." can be
- given the token name copyright.
- <p>
- To use the copyright string, another string might contain
- the following text: "All contents %copyright%" When
- the NetMagic server is constructing response text, any
- text surrounded by two % signs is considered to be the
- token name of a string. If a string with this name is
- found, the token name and the % signs are replaced with the
- string. If not, the string is not modified.
- <p>
- Certain token names are reserved. For example, ChatRooms
- use join-form to specify which text is displayed when a
- client joins a ChatRoom. [Not all reserved strings are
- currently documented.]
- <p>
- As with <a href="#Users">user</a> accounts, a hierarchy of
- configuration strings is maintained. A string specified at
- a lower context (i.e. for a specific object) will override
- a string defined at a higher context (i.e. a global string).
- <p>
- The String property page displays all strings that have been
- redefined for the current context:
- <dl>
- <dt><b>New...</b>
- <dd>Create a new string. The dialog allows you to enter
- the string's token name and specify its text. You can
- also choose a predefined string name, which will show
- the default value for the string and a brief usage
- guideline.
- <dt><b>Edit...</b>
- <dd>Edit the currently selected string.
- <dt><b>Delete</b>
- <dd>Delete the currently selected string.
- </dl>
-
- <hr>
-
- <a name="HTTP"><h2>Global HTTP Settings</h2></a>
- Zero or more HTTP server objects can be created on a single
- machine running the NetMagic server. Each HTTP server
- provides clients with access to files, typically HTML text and
- Gif and JPEG pictures. Each HTTP server can provide access to
- different sets of files and to different users.
- <dl>
- <dt><b><a href="#HTTPServers">HTTP</a></b>
- <dd>Allows creating, editing, and deleting HTTP server
- objects.
- <dt><b><a href="#Users">Users</a></b>
- <dd>Allows creating and editing HTTP class user accounts.
- HTTP class user accounts are valid for all HTTP
- server objects.
- <dt><b><a href="#Groups">Groups</a></b>
- <dd>Allows creating and editing HTTP class group accounts.
- <dt><b><a href="#Strings">Strings</a></b>
- <dd>Allows creating and editing HTTP class strings.
- <dt><b><a href="#VPaths">Virtual Paths</a></b>
- <dd>Allows creating and editing HTTP class virtual paths.
- Virtual paths provide access to files not in an HTTP
- server object's root directory.
- <dt><b><a href="#MIMETypes">MIME Types</a></b>
- <dd>Allows determining how filename extensions are mapped
- to MIME datatypes.
- <dt><b><a href="#MIMEIcons">MIME Icons</a></b>
- <dd>Allows specifying which GIFs are displaed in directory
- listings for various MIME types.
- <dt><b><a href="#Redirections">Redirections</a></b>
- <dd>Allows creating and editing HTTP class URL redirections.
- URL redirections provide an automatic way to point clients
- to a document's new location.
- </dl>
- Please see <a href="#HTTPCGI">CGI Scripts</a> and <a href="#HTTPMaps">
- clickable maps</a> for information on other advanced HTTP features.
- <hr>
-
- <a name="HTTPServers"><h2>HTTP Servers</h2></a>
- Zero or more HTTP server objects can be created on a single
- machine running the NetMagic server. Each HTTP server
- provides clients with access to files, typically HTML text and
- GIF and JPEG pictures. Each HTTP server can provide access to
- different sets of files and to different users.
- <p>
- The HTTP Servers property page lists all HTTP servers by TCP port
- and bind address. The following buttons are available:
- <dl>
- <dt><b>New...</b>
- <dd>Create a new HTTP server. The
- <a href="#HTTPSettings">HTTP
- Settings</a> dialog is displayed.
- <dt><b>Edit...</b>
- <dd>Edit the currently selected HTTP server. The
- <a href="#HTTPSettings">HTTP
- Settings</a> dialog is displayed.
- <dt><b>Delete</b>
- <dd>Delete the currently selected HTTP server.
- </dl>
-
- <hr>
-
- <a name="Redirections"><h2>URL Redirections</h2></a>
- URL redirections provide an easy way to point clients to
- the new location of a moved document. Each redirection
- consists of two parts: the old URL and the new URL.
- <p>
- URL redirections specified for individual HTTP server objects
- take precedence over those specified for all HTTP servers.
- <p>
- The old URL should be specified by path only; do not include
- the protocol (http:) or host:port (www.foo.com:80) portions.
- The new URL may include the protocol and host:port if the
- document has been moved to a new machine.
- <dl>
- <dt><b>New...</b>
- <dd>Create a new URL redirection.
- <dt><b>Edit...</b>
- <dd>Edit the currently selected URL redirection.
- <dt><b>Delete</b>
- <dd>Delete the currently selected URL redirection.
- </dl>
- <i>Note:</i> Unneeded redirections should be removed when
- they are no longer needed, as there is a slight performance
- impact when redirections are present. If redirections are
- present, they are searched using a hash table.
-
- <hr>
-
- <a name="VPaths"><h2>Virtual Paths</h2></a>
- Typically all files made available to a given HTTP server
- object must be copied to a location under its root directory.
- Virtual paths allow files outside the server's root directory
- to be accessed as if they were in a subdirectory.
- <p>
- Virtual paths specified for individual HTTP server objects
- take precedence over those specified for all HTTP servers.
- <p>
- A virtual path consists of a virtual directory name and
- the physical directory the path corresponds to. The virtual
- directory name should not contain spaces, /, or \ characters.
- The physical directory can be any directory accessible to
- the server.
- <p>
- If the first component of a URL's path matches a virtual path,
- the virtual path's directory will be used to transform the
- URL into a local path instead of the HTTP server's root
- directory. For example, a URL of http://www.foo.com/default.html
- will return c:\http\default.html if c:\http is the HTTP
- directory, but if cd-rom is a virtual path to physical location
- r:\, then http://www.foo.com/cd-rom/ will correspond to r:\.
- <dl>
- <dt><b>New...</b>
- <dd>Create a new virtual path.
- <dt><b>Edit...</b>
- <dd>Edit the currently selected virtual path.
- <dt><b>Delete</b>
- <dd>Delete the currently selected virtual path.
- <dt><b><a href="#ACLs">ACL</a></b>
- <dd>When creating or editing a virtual path, you can
- also specify an ACL to limit which clients can access files via the
- virtual path.
- </dl>
- <i>Note:</i> Unneeded virtual paths should be removed when
- they are no longer needed, as there is a slight performance
- impact when virtual paths are present. If virtual paths are
- present, they are searched using a hash table.
-
- <hr>
-
- <h2><A NAME="MIMETypes">MIME Types</A></h2>
-
- HTTP servers generally return the document type with documents
- fetched by clients. Since Windows does not provide any way to
- directly determine a file's MIME type, the determination is based on
- the filename's extension.
- <p>
- A list of filename extensions and the MIME types they map to is listed
- on this page. The following options are available:
- <dl>
- <dt><b>New...</b>
- <dd>Create a new MIME type mapping. A single extension
- can map to only one MIME type, but multiple extensions
- can map to the same type.
- <dt><b>Edit...</b>
- <dd>Edit the currently selected mapping.
- <dt><b>Delete</b>
- <dd>Delete the currently selected mapping.
- <dt><b>Default</b>
- <dd>Determines the MIME type that will be specified for all
- files that don't otherwise have an explicit type.
- </dl>
-
- <hr>
-
- <h2><A NAME="MIMEIcons">MIME Icons</A></h2>
-
- When generating a directory listing for clients, the
- NetMagic server can place a small "icon" (really an
- in-line Gif image) next to the files. Which icon is used
- depends on the MIME type of the file.
- <p>
- A list of MIME types and the image URL to use for the icon is
- displayed. The following options are available:
- <dl>
- <dt><b>New...</b>
- <dd>Create a new MIME type mapping. A single extension
- can map to only one MIME type, but multiple extensions
- can map to the same type.
- <dt><b>Edit...</b>
- <dd>Edit the currently selected mapping.
- <dt><b>Delete</b>
- <dd>Delete the currently selected mapping.
- <dt><b>Default</b>
- <dd>Determines the icon that will be displayed for files
- of the default MIME type.
- <dt><b>Folder</b>
- <dd>Determines the icon that will be displayed for directories.
- </dl>
-
- <hr>
-
- <a name="HTTPSettings"><h2>HTTP Server Settings</h2></a>
- Each HTTP server object has several settings. For many users,
- only the TCP port and root directory need to be specified. Other
- settings will be useful for advanced users.
- <p>
- The following property pages are available:
- <dl>
- <dt><b><a href="#HTTPGeneral">General</a></b>
- <dd>General settings for the HTTP server object.
- <dt><b><a href="#Users">Users</a></b>
- <dd>Allows creating and editing HTTP server object user
- accounts. HTTP class user accounts are valid for all HTTP
- server objects.
- <dt><b><a href="#Groups">Groups</a></b>
- <dd>Allows creating and editing HTTP server object group
- accounts.
- <dt><b><a href="#Strings">Strings</a></b>
- <dd>Allows creating and editing HTTP server object strings.
- <dt><b><a href="#Redirections">Redirections</a></b>
- <dd>Allows creating and editing HTTP server object URL
- redirections.
- URL redirections provide an automatic way to point clients
- to a document's new location.
- <dt><b><a href="#VPaths">Virtual Paths</a></b>
- <dd>Allows creating and editing HTTP server object virtual
- paths. Virtual paths provide access to files not in an HTTP
- server object's root directory.
- <dt><b><a href="#MIMETypes">MIME Types</a></b>
- <dd>Allows determining how filename extensions are mapped
- to MIME datatypes.
- <dt><b><a href="#MIMEIcons">MIME Icons</a></b>
- <dd>Allows specifying which GIFs are displaed in directory
- listings for various MIME types.
- <dt><b><a href="#Access">Access Control</a></b>
- <dd>Controls which clients can access the HTTP server
- object. Both <a href="#ACLs">ACLs</a> and the <a
- href="#Binding">binding</a> address can be specified.
- </dl>
-
- <hr>
-
- <a name="HTTPGeneral"><h2>General HTTP Settings</h2></a>
- The general HTTP server object settings control the most
- important functions of the HTTP server object.
- <p>
- The following options can be set:
- <dl>
- <dt><b>Enable HTTP server</b>
- <dd>This option must be checked to enable clients to use
- the server. Turning this off is useful when you want
- to temporarily turn off the server without deleting the
- object.
- <dt><b>Port</b>
- <dd>The default TCP port for an HTTP server is 80. If
- multiple HTTP servers are bound to the same address,
- they will require unique addresses.
- <dt><b>Root directory</b>
- <dd>Determines where the server will look for files specified
- in clients' URLs.
- <dt><b><a href="#Logging">Logging</a></b>
- <dd>The location of the log files and the use of DNS in
- logging can be selected.
- <dt><b>Allow directory browsing</b>
- <dd>Determines if clients can view the contents of
- directories by issuing the URL of a directory.
- <dt><b>Default file</b>
- <dd>Determines which file is returned to the client
- when a directory URL is issued. This option takes
- precedence over directory browsing if the two conflict.
- </dl>
-
- <hr>
-
- <a name="Access"><h2>Server Access Control</h2></a>
- The Access property page determines which clients can access
- resources on the server. Two separate mechanisms are used: <a
- href="#ACLs">Access Control Lists</a> and <a href="#Binding>
- binding</a> address.
- <p>
- The following options can be set:
- <dl>
- <dt><b>Global ACL</b>
- <dd>Specifies the ACL for all resources made available
- by the server object.
- <dt><b>File ACLs (HTTP servers objects only)</b>
- <dd>Spcifies which clients can access individual files.
- <dt><b>Binding Address</b>
- <dd>Specifies which IP address the server is bound to.
- Only clients connecting to the server using this address
- will be able to access the server. An address of 0.0.0.0
- allows clients to access the server using any valid
- IP address for the server.
- </dl>
-
- <hr>
-
- <a name="Logging"><h2>Logging</h2></a>
- Each HTTP server object allows all transactions to be logged.
- HTTP server objects and the HTTP proxy use the NCSA Common
- Log File format (the ChatRoom servers use a user-definable
- logging format due to the fact that ChatRoom URLs don't
- fit well into the common logfile format).
- <p>
- Each server object allows a log file name to be specified.
- If this field is left blank, logging will be disabled for
- the server.
- <p>
- Each server also allows you to specify whether or not to resolve
- IP addresses to DNS hostnames when logging. Selecting this
- may lead to more readable logs at the expense of performance
- when logging.
- <p>
- The filename for the log can be a regular filename, in which
- case all transactions will be logged to a single file. In
- addition, the following string tokens can be used: %year%,
- %month%, %day%, %hour%, and %minute%. These will be expanded
- to match the current time (in GMT or UTC) when determining which
- pathname to use. This provides an easy way to break logs into
- separate files. All needed directories will be created as well,
- so a log file name such as the following is valid:
- <p>
- c:\logs\http\%year%\%month-%day%
- <p>
- <i>Note:</i> The :, /, and space characters are generally
- reserved by the file system, so - is the best bet to use as
- a time and date seaparator.
-
- <hr>
-
- <a name="HTTPOver"><h2>HTTP Server Overview</h2></a>
- Each HTTP server object can allow clients to access documents
- using HTTP-based browsers, such as Mosaic or other web
- browsers.
- <p>
- In the most common configuration, the files that you want to
- make available to clients are all copied into a directory called
- the HTTP server's root directory (for example, C:\HTTP).
- Any files in this directory (or any subdirectories under it)
- will be accessible to clients.
- <p>
- The URL that the client specifies determines which document
- is returned. The protocol, host, and port portions (i.e.
- http://www.foobar.com:8080) are replaced by the HTTP root
- (i.e. C:\HTTP). Slashes in the URL are interpreted exactly
- as directory path dividers.
- <p>
- A few special situations modify this otherwise straightforward
- translation of a URL into a pathname:
- <ul>
- <li><a href="VPaths">Virtual paths</a> allow files outside the
- root directory to be accessed
- <li><a href="Redirections">URL Redirections</a> may cause an
- entirely different URL to be returned.
- <li>If a URL corresponds to a directory, but does not have
- a trailing slash, the server will issue an automatic
- redirection to the client for the same URL with the
- slash.
- <li>If a URL corresponds to a directory and includes the
- trailing slash, a file with the default file name in
- the directory will be returned. If there is no matching
- file and directory browsing is enabled, then a directory
- listing will be constructed and returned.
- </ul>
-
- <hr>
-
- <a name="ChatRooms"><h2>Global ChatRoom Settings</h2></a>
- Zero or more HTTP server objects can be created on a single
- machine running the NetMagic server. Each HTTP server
- provides clients with access to files, typically HTML text and
- Gif and JPEG pictures. Each HTTP server can provide access to
- different sets of files and to different users.
- <dl>
- <dt><b><a href="#ChatServers">ChatRooms</a></b>
- <dd>Allows creating, editing, and deleting ChatRoom server
- objects.
- <dt><b><a href="#Users">Users</a></b>
- <dd>Allows creating and editing ChatRoom class user accounts.
- ChatRoom class user accounts are valid for all ChatRoom
- server objects.
- <dt><b><a href="#Groups">Groups</a></b>
- <dd>Allows creating and editing ChatRoom class group accounts.
- <dt><b><a href="#Strings">Strings</a></b>
- <dd>Allows creating and editing ChatRoom class strings.
- </dl>
-
- <hr>
-
- <a name="ChatServers"><h2>ChatRoom Servers</h2></a>
- Zero or more ChatRoom server objects can be created on a single
- machine running the NetMagic server. Each ChatRoom server
- object must have a unique name and TCP port number.
- <p>
- The ChatRoom Servers property page lists all ChatRoom servers by room
- name. The following buttons are available:
- <dl>
- <dt><b>New...</b>
- <dd>Create a new ChatRoom server. The
- <a href="#ChatSettings">ChatRoom
- Settings</a> dialog is displayed.
- <dt><b>Edit...</b>
- <dd>Edit the currently selected ChatRoom server. The
- <a href="#ChatSettings">ChatRoom
- Settings</a> dialog is displayed.
- <dt><b>Delete</b>
- <dd>Delete the currently selected ChatRoom server.
- </dl>
-
- <hr>
-
- <a name="ChatSettings"><h2>ChatRoom Server Settings</h2></a>
- Each ChatRoom server object has several settings. For many users,
- only the TCP port and root directory need to be specified. Other
- settings will be useful for advanced users.
- <p>
- The following property pages are available:
- <dl>
- <dt><b><a href="#ChatGeneral">General</a></b>
- <dd>General settings for the ChatRoom server object.
- <dt><b><a href="#Users">Users</a></b>
- <dd>Allows creating and editing ChatRoom server object user
- accounts. ChatRoom class user accounts are valid for all ChatRoom
- server objects.
- <dt><b><a href="#Groups">Groups</a></b>
- <dd>Allows creating and editing ChatRoom server object group
- accounts.
- <dt><b><a href="#Strings">Strings</a></b>
- <dd>Allows creating and editing ChatRoom server object strings.
- <dt><b><a href="#Access">Access Control</a></b>
- <dd>Controls which clients can access the ChatRoom server
- object. Both <a href="#ACLs">ACLs</a> and the <a
- href="#Binding">binding</a> address can be specified.
- </dl>
-
- <hr>
-
- <a name="ChatGeneral"><h2>General ChatRoom Settings</h2></a>
- The general HTTP server object settings control the most
- important functions of the HTTP server object.
- <p>
- The following options can be set:
- <dl>
- <dt><b>Enable ChatRoom</b>
- <dd>This option must be checked to enable clients to use
- the server. Turning this off is useful when you want
- to temporarily turn off the server without deleting the
- object.
- <dt><b>Port</b>
- <dd>The default TCP port for an ChatRoom is the first available
- TCP port after 8000. Each ChatRoom requires a unique port.
- <dt><b>Name</b>
- <dd>Determines the name of the ChatRoom. Each ChatRoom on
- a given server must have a unique name.
- <dt><b>Description</b>
- <dd>Determines the description of the ChatRoom. The description
- is displayed in the room index and the room join form.
- <dt><b>Timeout</b>
- <dd>Determines how many seconds a realtime connection will
- be held open before reverting to a non-realtime connection.
- <dt><b>Maximum lines</b>
- <dd>Determines how many lines of dialog will be maintained
- in memory. This is the largest number of lines a client
- can request to view.
- <dt><b>Hide room</b>
- <dd>A hidden room will not appear in the room index. This can be
- useful if you don't want people to know about a ChatRoom.
- <dt><b><a href="#Logging">Logging</a></b>
- <dd>The location of the log files and the use of DNS in
- logging can be selected.
- </dl>
-
- <hr>
-
- <a name="Proxy"><h2>HTTP Proxy</h2></a>
- The HTTP proxy provides two functions:
- <ul>
- <li>Allowing clients inside
- a firewall to issue HTTP requests to hosts they cannot directly
- connect to
- <li>Improving client access to documents by caching them on
- the server
- </ul>
- <p>
- The following property pages are available:
- <dl>
- <dt><b><a href="#ProxyGeneral">General</a></b>
- <dd>General settings for the HTTP proxy object.
- <dt><b><a href="#Cache">Cache</a></b>
- <dd>Configures the operation of the HTTP proxy's cache.
- <dt><b><a href="#Barred">Barred URLs</a></b>
- <dd>Configures the list of URLs that cannot be acessed
- by clients via the proxy.
- <dt><b><a href="#NoCache">Uncached URLs</a></b>
- <dd>Configures the list of URLs that should not be cached.
- <dt><b><a href="#Cascade">Cascade</a></b>
- <dd>Allows the proxy to be configured to request documents
- from another proxy.
- <dt><b><a href="#Access">Access Control</a></b>
- <dd>Controls which clients can access the HTTP proxy
- object. Both <a href="#ACLs">ACLs</a> and the <a
- href="#Binding">binding</a> address can be specified.
- </dl>
-
- <hr>
-
- <a name="ProxyGeneral"><h2>General HTTP Proxy Settings</h2></a>
- The following settings determine how the HTTP proxy operates:
- <dl>
- <dt><b>Enable HTTP Proxy</b>
- <dd>Allows the proxy to be enabled or disabled.
- <dt><b>Port</b>
- <dd>Determines the HTTP proxy's TCP port. The default
- is 8080. 80 should not be used because the HTTP
- proxy isn't a true HTTP server.
- <dt><b><a href="#Logging">Logging</a></b>
- <dd>The location of the log files and the use of DNS in
- logging can be selected.
- </dl>
-
- <hr>
-
- <a name="Cache"><h2>Cache Settings</h2></a>
- The following settings determine how the HTTP proxy cache
- operates:
- <dl>
- <dt><b>Cache directory</b>
- <dd>Determines where cached files and database state are stored.
- <dt><b>Maximum cache size</b>
- <dd>Determines how large the cache should be allowed to grow.
- Specify 0 to disable caching.
- <dt><b>Purge files after...</b>
- <dd>Specifies the maximum time a file will be kept in the cache.
- Documents with shorter expiration times will be purged sooner.
- <dt><b>Save cache every...</b>
- <dd>Determines how often the cache database should be saved
- to disk.
- <dt><b>Purge cache every...</b>
- <dd>Determines how often to purge the cache. During a purge the
- cache to shrunk to the maximum size and expired files are removed.
- </dl>
-
- <hr>
-
- <a name="Barred"><h2>Barred URLs</h2></a>
- A list of URLs that will not be made available to clients can
- be specified. The current list of barred URLs is displayed.
- The URLs can include the wildcard characters * and ?
- to represent 0 or more characters or one character, respectively.
- <p>
- <i>Note:</i> The URLs in the URL list are compared on a textual
- basis. No attempt is made to resolve various aliases for the same
- site (i.e. using IP numbers instead of host names, including or
- excluding a default port, etc.)
- <dl>
- <dt><b>New...</b>
- <dd>Allows a new barred URL specifier to be added to the list.
- <dt><b>Edit...</b>
- <dd>Allows a URL to be edited.
- <dt><b>Delete</b>
- <dd>Removes a URL from the list.
- </dl>
-
- <hr>
-
- <a name="NoCache"><h2>Uncached URLs</h2></a>
- A list of URLs that will not be cached can
- be specified. The current list of uncached URLs is displayed.
- The URLs can include the wildcard characters * and ?
- to represent 0 or more characters or one character, respectively.
- <p>
- <i>Note:</i> There are other factors that determine if a URL
- is cached, including its expiration date, a no-cache flag, the
- presense of query strings, or the HTTP access method.
- <dl>
- <dt><b>New...</b>
- <dd>Allows a new uncached URL specifier to be added to the list.
- <dt><b>Edit...</b>
- <dd>Allows a URL to be edited.
- <dt><b>Delete</b>
- <dd>Removes a URL from the list.
- </dl>
-
- <hr>
-
- <a name="Cascade"><h2>Cascade</h2></a>
- By default the HTTP proxy will fetch documents directly from the
- Internet. If a proxy host is specified on the Cascade page,
- the HTTP proxy will request documents from yet another HTTP
- proxy.
- <dl>
- <dt><b>Proxy host</b>
- <dd>Specifies the host name of the proxy. Leave blank to disable
- the use of another proxy.
- <dt><b>Port</b>
- <dd>Specifies the port at which the cascaded proxy listens.
- </dl>
- <hr>
-
- <h2><A NAME="HTTPCGI">CGI Scripts</A></h2>
-
- The NetMagic HTTP server supports CGI/1.1 (with the exception of nph- scripts). A
- CGI script provides a means for a URL to refer to a program on the server that
- produces the output. CGI scripts are typically used to process forms, but can be used
- for much more. Please
- refer to <a href="http://hoohoo.ncsa.uiuc.edu/cgi/interface.html">NCSA's documentation</a>
- for a complete discussion of CGI scripts and how they are used. This document
- discusses only the NetMagic implementation specific features.
- <p>
- <i>Note:</i> This beta release of NetMagic does not support WinCGI scripts. The next
- beta release will. In a Win32 implementation, however, normal CGI scripts should
- be used since they perform better than WinCGI scripts.
- <p>
- CGI scripts must be executable images that end with an .EXE extension, that use redirectable,
- standard input and output, and can be launched by CreateProcess() under the host operating
- system. For Windows NT and Windows 95, this includes Win32 console applications and DOS
- console applications. Windows NT (on i386 systems) also supports OS/2 1.x console applications.
- Note that the executable itself may be an interpreter for something like a perl script; the actual
- "script" may be specified using a variety of allowable CGI methods (i.e. query string). (I haven't
- found any way of doing a non-trivial CGI script using .BAT files, although I'd be interested if you
- do...)
- <P>
- In order for a URL to be recognized as a CGI script invocation, it must have a path component with
- a .EXE extension. For example, /scripts/regcgi.exe/foobar.dat will work, but
- /scripts/regcgi/foobar.dat won't. For a script written in an interpreted language (i.e. perl) to be
- invoked, the interpreter's .EXE file must be in the URL. <i>This also means that you should not name
- directories with .EXE extensions!</i>
- <p>
- For POST operations, the above is sufficient; for GET operations, there must be a non-empty query
- string specified for the URL as well; otherwise, the URL will be handled as a standard GET request
- (to allow downloading EXE files from, say, an archive). This can be "forced" by appending a bogus
- query: /scripts/regcgi.exe/foobar.dat?bogus. Note that the CGI specification allows the server to
- pass the query string to the script on its command line if it does not contain an = character; this is
- the only documented use of the command line for CGI scripts. For CGI scripts invoked via forms
- with the GET method, the form field values will be appended by the browser to the action URL, so it
- will be recognized as a CGI script (but the query won't be placed on the command line because of
- the ='s in the form value string.)
- <p>
- The path leading up to the .EXE file in the URL must identify the CGI script; the system PATH is
- not searched. This path will be the current directory for the CGI script. The stuff after the .EXE in
- the URL is passed to the script as the PATH_INFO variable. For example:
- /data/source/monkey.exe/chimp.dat would attempt to run /data/source/monkey.exe from the
- directory /data/source (relative to the HTTP server root, of course); PATH_INFO would be
- /chimp.dat.
-
- <hr>
-
- <h2><A NAME="HTTPMaps">Clickable Maps</A></h2>
-
- Clickable maps provide a (relatively) easy way to create documents with "hot" images.
- Typical uses are for graphical button bars and other visual menus.
- <p>
- The implementation of clickable maps is similar to that of NCSA HTTPD; that is, the
- HTTP server implements the hit testing. A map file
- (which must have a .MAP extension) contains a text list of regions and the URLs that should
- be accessed when the click falls within these regions.
- <p>
- First, in the HTTP document, something similar to the following markup should be used:
- <p>
- <code><a href="http://foobar.com/image.map">
- <img src="http://foobar.com/image.gif" ismap></a></code>
- <p>
- The important thing is the ISMAP option; this will cause the browser to tack on the
- mouse coordinates when the browser fetches the map file.
- <p>
- The map file is an ASCII text file that can contain the following region commands, one
- per line:
- <dl>
- <dt><b>default <i>url</i></b>
- <dd><i>url</i> is the default URL for this image, if the click was not in any other
- region
- <dt><b>circle <i>x, y r url</i></b>
- <dd><i>url</i> will be returned if the click is in a circle of radius r centered at
- (x, y).
- <dt><b>rectangle <i>a, b c, d url</i></b>
- <dd><i>url</i> will be returned if the click is in a rectangle with (a, b) as the
- upper-left corner and (c, d) is the lower-right.
- <dt><b>polygon <i>a0, b0 (a1, b1..) url</i></b>
- <dd><i>url</i> will be returned if the click is in the polygon enclosed by the
- specified points. Up to 16 points can be specified.
- </dl>
-
- <i>Note:</i> If the URLs in the map file are local URLs (i.e. begin with /), the
- server will immediately send the data in the corresponding file. The browser will
- believe that the URL for this document is that of the <i>map</i> file, however. This
- could mess up any local URLs in the document. Supplying full URLs in the map file
- will prevent this problem, but will require an additional connection to the server
- to fetch the document. Alternatively, the <BASE ...> tag can be placed in the
- HTML document.
-
- <hr>
-
- <h2><A NAME="ACLs">Access Control Lists</A></h2>
-
- The NetMagic server uses Access Control Lists determine who can and cannot access
- various resources. Access can be based on the client's username/password, the group the client
- belongs to, or the client's machine's IP address. Examples include limiting access to
- a local domain and making resources available to only a few users.
- <P>
- <i>Note:</i> ACLs are an advanced feature and may be potentially confusing at first.
- There is no need to use ACLs to operate a NetMagic server.
- <P>
- The following resources can be protected:
- <ul>
- <li>Access to server objects
- <li>Access to individual virtual paths (HTTP servers only)
- <li>Access to individual files and directory listings (HTTP servers only)
- </ul>
- An access control list (ACL) is a list of filters that test a client's name or group,
- HTTP access method, and IP address. The filters are evaluated in sequence, and the
- first one that applies to the client is used. If no filters apply, then access is
- denied.
- <p>
- <b>The exception is an important one: if the ACL contains <i>no</i> filters, then access
- is automatically granted to all users.</b> This exception allows you to ignore ACLs
- altogether and allow clients to access all documents.
- <P>
- <i>Note:</i> The ACL for the HTTP Proxy should not specify a user or group, since this
- information does not pertain to the proxy. The Proxy ACL can contain method and IP
- address masks, but you should use * for the user.
- <P>
- <i>Note:</i> In order for an HTTP client to access a document, the client must be
- granted access by the global HTTP server ACL, the virtual path ACL
- (if applicable), and the file/directory ACL (if applicable), in this order. If the client is
- rejected by any applicable ACL, access will be denied.
-
- <h3><A NAME="Filters">Access Control Filters</A></h3>
- Each ACL filter specifies a filter type, an access method, a user or group
- (depending on filter type), and an IP address. A * can be used to indicate
- any method or user/group; similarly, *s can be used for any
- portions of the IP address.
- <p>
- Four ACL filter types are supported:
- <dl>
- <dt><code>Allow-user</code>
- <dd>Allows access to the given user(s)
- <dt><code>Reject-user</code>
- <dd>Rejects access to the given user(s)
- <dt><code>Allow-group</code>
- <dd>Allows access if the user is in the given group
- <dt><code>Reject-group</code>
- <dd>Rejects access if the user is in the given group
- </dl>
- Three access methods are supported. These correspond to HTTP/1.0 commands:
- <dl>
- <dt><code>HEAD</code>
- <dd>Allows the HTML headers of the file to be retrieved
- <dt><code>GET</code>
- <dd>Allows entire documents to be retrieved
- <dt><code>POST</code>
- <dd>Allows form data to be sent to the server
- </dl>
-
- <h3><A NAME="ACLExamples">ACL Examples</A></h3>
-
- <h4>Example 1: Local ChatRoom</h4>
- Consider the following ACL:
- <p>
- <code>
- Allow-user: *,*,204.31.29.*
- </code>
- <p>
- This ACL allows access to users in the class C domain 204.31.29 only. All others are
- rejected (the default for a non-empty ACL).
-
- <h4>Example 2: Protected Document</h4>
- Consider the following ACL:
- <p>
- <code>
- Allow-group: *,netmagic,*
- </code>
- <p>
- This ACL allows access to users who are in the netmagic group. As above, all others are
- rejected.
-
- <h4>Example 3: Keeping Out the Riff-Raff</h4>
- Consider the following ACL:
- <p>
- <code>
- Allow-group: *,*,*
- </code>
- <p>
- At first glance, this ACL seems to allow access to everyone; however, users who do not
- enter a username/password that is in the user list are in no group, so they are
- rejected. Conversely, <i>every</i> user is implicitly in at least one group.
-
- <h4>Example 4: Sleepless in Pleasanton</h4>
- Consider the following ACL:
- <p>
- <code>
- Allow-user: *,*,204.31.29.7<br>
- Reject-user: *,ernest,*<br>
- Allow-group: *,*,*
- </code>
- <p>
- User ernest (CEO of NetMagic) cannot access the resource unless he is using his office
- machine (204.31.29.7). Note the importance of order. All other NetMagic users can access
- the resource, and no one else can. (This ACL prevents the developers from getting late
- night calls when the spec is reviewed from ernest's home machine :-) )
-
- <hr>
-
- <h2><A NAME="ServCmds">NetMagic Service Command-line Options</A></h2>
-
- As with many other Windows NT services, the NetMagic service (NetMSvc.exe)
- can be installed and removed with command-line switches. Note that
- these switches don't install and remove the executable; rather, the
- NetMagic service is added to or removed from the Service Control Manager's
- list of services. <i>You should remove the service before deleting its executable.</i>
- <p>
- To install the NetMagic service, type:
- <p>
- <code>netmsvc -install</code>
- <p>
- from the Windows NT system directory, where Setup installed the service.
- <p>
- To remove the NetMagic service, type:
- <p>
- <code>netmsvc -remove</code>
-
- <hr>
-
- <h2><A NAME="Client">Client Usage</A></h2>
-
- Clients can access the HTTP and ChatRoom services provided by your
- NetMagic server using almost any HTTP-based web browser. Typically,
- you will publish the URL of the services you provide or insert them
- in other web documents.
- <p>
- A URL has the general form:
- <p>
- <code>protocol://hostname:port/path</code>
- <p>
- where protocol will be http for the NetMagic server, the hostname
- will be either the machine's DNS name or IP address, port will
- be the TCP port of the service (if this is 80, it can be
- omitted), and path depends on the type of service.
- <p>
- For HTTP server objects, what comes after the hostname and the first /
- is the virtual path to the document, very similar to a Windows pathname.
- The path is relative to the HTTP server object's root directory, unless
- virtual paths are being used. It is common to use default files
- so that the URL http://www.machine.com/ returns the homepage.
- <p>
- For ChatRooms, only two URLs are supported for clients. To retrieve
- an index of all rooms on the server, use:
- <p>
- <code>http://www.machine.com:port/Index</code>
- <p>
- The port can be that of any ChatRoom; they all return the
- same index.
- <p>
- For requesting to join a specific room, use:
- <p>
- <code>http://www.machine.com:port/Join</code>
- <p>
- The index contains the necessary joining URLs; you may need to use
- the above form explicitly for hidden rooms.
-
- <hr>
-
- <h2><A NAME="ServInfo">NetMagic Service Management</A></h2>
-
- This section pertains only to the NetMagic Enterprise server.
- <p>
- A <i>service</i> in Windows NT is an application that runs in the background
- no matter who is logged into the console, if anyone. This allows the NetMagic
- server to be accessed no matter who is using the server.
- <p>
- You should be familiar with how services work under NT. NetMagic installs itself
- as an automatic service, which means it is started when the system starts. You
- can change this via the Services icon in the Control Panel.
- <p>
- You can start, stop, pause, and resume the NetMagic service either
- from the NetMagic control panel or the Services control panel.
- <p>
- Services by default log in under the system account. We recommend that you
- change this for one simple reason: security. By creating a user account
- for the NetMagic service that has access only to the files you want clients
- to have access to, you can prevent unintentional access to private files.
- To really be effective, you should also use NTFS instead of FAT, since files
- on FAT partitions are insecure.
- <p>
- The account for the service can be specified via the Startup... button in the
- Services icon in the Control Panel.
- <p>
- <i>Note:</i> NT security doesn't affect NetMagic ACLs, except that if the
- service's account doesn't have access to a resource, then access will always
- be denied no matter what the ACL otherwise stipulates.
- <p>
- Windows NT administration is beyond the scope of this document, and messing
- around with security can cause problems (such as locking yourself out from
- your machine!) Be careful, and make sure you know what you're doing!
- <p>
- One gotcha that we've encountered is that mapped network drives exist in
- the context of user accounts. That is, if the server needs access to
- a drive that's on another server, you should use the UNC pathname of
- the drive instead of a mapped drive letter. If G: is mapped to
- \\SERVER\GIG1, then the UNC form of G:\HTTP is \\SERVER\GIG1\HTTP.
- <p>
- Another gotcha that stung us is when using an alternate account for
- the NetMagic service, be sure to enter the password in the Service
- startup dialog--twice!
-
- <hr>
-
- <h2><A NAME="Uninstall">Uninstalling NetMagic</A></h2>
-
- For this beta, uninstallation must be performed manually. The release
- version will include an automated uninstall feature.
- <p>
- For the Enterprise version, first the service must be removed from
- the Service Control Manager's list. To do this, first stop the
- NetMagic service. Then, change into the
- Windows NT system directory (i.e. \WINNT\SYSTEM32) and type:
- <p>
- <code>netmsvc -remove</code>
- <p>
- Now you can remove <code>netmsvc.exe</code> and <code>netmcpl.cpl</code>.
- <p>
- For both versions, the directory NetMagic was installed in (i.e. C:\NETMAGIC)
- and all its contents can be removed, as can the Program Manager (or
- Windows 95 desktop) group.
- <p>
- Lastly, if you're comfortable with RegEdit32, you can remove the
- <p>
- <code>HKEY_LOCAL_MACHINE\Software\NetMagic</code>
- <p>
- key and all its subkeys from the registry.
- <p>
- These steps will remove all traces of NetMagic from your system.
- <hr>
-
- June 18, 1995
- <br>
- Beta documentation by <A HREF="mailto:aaron@aristosoft.com">Aaron Wallace</a>.
- <br>
- <i>Software and documentation Copyright © 1995 NetMagic, Inc. All rights reserved.</i>
- <br>
- This documentation and software is provided as-is. We're using it, and we make backups of
- critical data. We recommend you do the same.
-
- </body></html>
-