magnus.conf
file for configuring global, static server elements
obj.conf
file for configuring the individual objects
mime.types
file for configuring the conversion from file extensions (such as .GIF
) to Multipurpose Internet Mail Extensions type (such as image/gif
).
admpw
file containing the encrypted Administration password
magnus.conf
, a line can be continued by ending it with a character. In obj.conf
, a line can be continued by beginning the succeeding line with a space.
magnus.conf
.
ServerName host
host
is a fully qualified domain name such as myhost.netscape.com
.
magnus.conf
, the server attempts to derive a host name through system calls. If they don't return a qualified domain name (for example, it gets myhost
instead of myhost.netscape.com
), the server won't start, and you'll get a message telling you to manually set this value.
ServerName server.netscape.com
ServerName www.server.anycompany.com
ServerName www.agency.gov
magnus.conf
.
Note
The port you choose can affect how users configure their navigators. Users must specify the port number when accessing the server if the port number is anything other than 80 or 443.
Port number
number
is a whole number between 0 and 65535.
Port 80
Port 8080
Port 8000
root
.
The user account you specify should have read permission to the server's root and subdirectories. The user account should have write access to the logs
directory and execute permissions to any CGI programs. The user account should not have write access to the configuration files. This ensures that in the unlikely event someone compromises the server, they won't be able to change configuration files and gain broader access to your machine.
Although you can use the nobody
user, it isn't recommended.
User name
name
is the 8-character (or less) login name for the Unix user account.
root
or superuser
, you'll see a warning message after startup.
User http
User server
User nobody
MaxProcs number
number
is a whole number between 1 and the size of your system's process table.
MaxProcs 50
MaxProcs 20
MaxProcs 40
MaxProcs 80
MinThreads number
number
is a whole number.
MinThreads 6
MinThreads 8
MaxThreads number
number
is a whole number.
MaxThreads 6
MaxThreads 8
ErrorLog logfile
logfile
can be either a full path and file name or the keyword SYSLOG
(it must be in all capital letters).
ErrorLog /var/ns-server/logs/errors
ErrorLog SYSLOG
logs/pid
.
To shut down your server, kill the base server process listed in the pid log file by using a -TERM
signal. To tell your server to reread its configuration files and reopen its log files, use kill with the -HUP
signal.
If the PidLog file isn't writable by the user account that the server uses, the server does not log its process ID anywhere. The server won't start if it can't log the process ID.
PidLog file
file
is the full path name and file name where the process ID is stored.
PidLog /var/ns-server/logs/pid
PidLog /tmp/ns-server.pid
Note
Although you can have more than one object configuration file, the Server Manager works on only one file and assumes that it is in the server root inconfig/obj.conf
. If you use the Server Manger (or plan to), don't put theobj.conf
file in any other directory and don't rename it.
LoadObjects filename
filename
is either the full path name or a relative path name. When the server starts executing, relative path names are resolved from the directory specified with the -d
command line flag. If no -d
flag was given, the server looks in the current directory.
LoadObjects obj.conf
LoadObjects /var/ns-server/admin/config/local-objs.conf
default
. Don't deviate from this convention if you use (or plan to use) the Server Manager.
RootObject name
name
is the name of an object defined in one of the object files loaded with a LoadObjects directive.
RootObject default
RootObject server1
superuser
to use the Chroot directive. CGI programs must be linked statically, and any binaries (perl or /bin/sh
) must be copied to the Chroot directory.
The user public information directory feature isn't available unless a copy of /etc/passwd
is kept in the Chroot directory and all of the users home directories are exactly mirrored within the Chroot directory.
A server using Chroot can't be restarted with the -HUP
signal.
Logs and server configuration files should be kept outside the Chroot directory.
magnus.conf
must be absolute; paths in obj.conf
must be relative to the Chroot directory.
Chroot directory
directory
is the full path name to the directory used as the server's root directory.
Chroot /d/ns-httpd
Chroot /www
www.a.com
). The server will resolve the client's IP address into a host name for operations like access control, CGI, error reporting, and access logging.
If your server responds to many requests per day, you might want (or need) to stop host name resolution; doing so can reduce the load on the DNS or NIS server.
DNS [on|off]
DNS on
Security [on|off]
Security off
ServerKey keyfile
keyfile
is the server's key file, specified as a relative path from the server root or as an absolute path.
ServerCert certfile
certfile
is the server's certificate file, specified as a relative path from the server root or as an absolute path.
Ciphers +rc4 +rc4export -rc2 -rc2export +idea +des +desede3A + means the cipher is active, and a - means the cipher is inactive. Valid ciphers are
rc4
, rc4export
, rc2
, rc2export
, idea
, des
. desede3
. rsa_rc4_128_md5
, rsa3des_sha
, rsa_des_sha
, rsa_rc4_40_md5
, rsa_rc2_40_md5
, and rsa_null_md5
.
Init fn=function-name [parm1=value1]...[parmN=valueN]
function-name
identifies the server initialization function to call. These functions shouldn't be called more than once.
parm=value
pairs are values for function-specific parameters. The number of parameters depends on the function you use. The order of parameters doesn't matter.
The following Init-class functions are described in detail in the following sections:mime-types
specifies either the full path to the global MIME types file or a file name relative to the server configuration directory. The server comes with a default file called mime.types
.
local-types
is an optional parameter to a file with the same format as the global MIME types file, but it is used to maintain types that are applicable only to your server.
Init fn=load-types mime-types=mime.types
Init fn=load-types mime-types=/tp/mime.types
local-types=local.types
HUP
signal (at which time the logs are closed and reopened).
You use inti-clf to specify which log files the server uses to record transactions. Then, you use the AddLog directive in the obj.conf
file to specify the
log file where the server stores the transaction record (log entry).
For example, you use init-clf to specify a name that refers to a log file (such as http-log=/var/ns-server/loghttp
); then you use the name with the AddLog-class function to add a log entry to the file (such as AddLog fn=common-log name=http-log
). If you ever change the path or file name of the log file, you only do it once--in the init-clf function.
Note
You also can use AddLog to store transactions in more than one log file.If you move, remove, or change the log file without shutting down or restarting the server, client accesses might not be recorded. To save or backup a log file, you need to rename the file and then send the -HUP signal to restart the server. The server uses the inode number, but when you do a soft restart, the server first looks for the file name, and if it doesn't find the log file, it creates a new one (the renamed original log file is left for you to use).
Init fn=init-clf global=/var/ns-server/logs/access
Init fn=init-clf global=/tmp/server-access
HUP
signal (at which time all logs are closed and reopened).
As in init-clf, you use flex-init to specify a log-file name (such as loghttp=/var/ns-server/loghttp
); then you use that name with the AddLog-class flex-log function in obj.conf
to add a log entry to the file (such as AddLog fn=flex-log name=loghttp
). .
Note
You can use AddLog to store transactions in more than one log file.If you move, remove, or change the log file without shutting down or restarting the server, client accesses might not be recorded. To save or backup a log file, you need to rename the file and then send the -HUP signal to restart the server. The server uses the inode number, but when you do a soft restart, the server first looks for the file name, and if it doesn't find the log file, it creates a new one (the renamed original log file is left for you to use).
The flex-init function recognizes two possible parameters: one that names the log file and one that specifies the components of a record in that file.
The flex-init function recognizes anything contained between percent signs (%) as the name portion of a name-value pair stored in a parameter block in your program. (The one exception to this rule is the %SYSDATE% component which delivers the current system date.)
Any additional text is treated as literal text, so you can add to the line to make
it more readable. Typical components of the formatting parameter are listed in
Table B.8 Note that certain components might contain spaces, so they should
be bounded by escaped quotes (/"
). :
/usr/ns-home/https-NOTES/logs/access
.
Init fn=flex-init access="/usr/ns-home/https-NOTES/logs/access" format.access=
"%Ses->client.ip% - %Req->vars.auth-user% [%SYSDATE%] /"%Req->reqpb.clf-request%/"
%Req->srvhdrs.clf-status% %Req->srvhdrs.content-length%"
This will log the following items " - "
" ["
]
"
/usr/ns-home/https-NOTES/logs/access
.
Init fn=flex-init extended="/usr/ns-home/https-NOTES/logs/extended" format.extended=
"%Ses->client.ip% - %Req->vars.auth-user% [%SYSDATE%] /"%Req->reqpb.clf-request%/"
%Req->srvhdrs.clf-status% %Req->srvhdrs.content-length%"
"%Req->headers.referer%"
"%Req->headers.user-agent%" "%Req->reqpb.method%" "%Req->reqpb.uri%" "%Req->reqpb.query%"
"%Req->reqpb.protocol%"
pwfile
(optional) specifies the full file system path to a file other than /etc/passwd
. If not listed, the default (NIS or /etc/passwd
) is used.
Init fn=init-uhome
Init fn=init-uhome pwfile=/etc/passwd-http
Init fn=cindex-init widths=22,1,1,33
opts
(optional) specifies options to activate for indexing. You specify a string of letters, one for each option to activate:i
makes all icons links
s
makes the server scan HTML files in the directory it's indexing in order to place their titles in the description field.
widths
specifies the width for each column in the indexing printout. A zero width disables the column. The string should be a comma-separated list of numbers that specify the column widths according to name, last-modified date, size, and description.
ignore
specifies a wildcard pattern for file names the server can ignore while indexing. File names starting with a dot are automatically ignored.
icon-uri
specifies the prefix the server uses for icons. By default, this is /mc-icons/
. The server looks in this directory for the .GIF
files to use in fancy indexing.
Init fn=cindex-init widths=50,1,1,0
Init fn=cindex-init widths=50,1,1,30 opts=s
Init fn=cindex-init widths=22,0,0,50 opts=is
MALLOC
, REALLOC
, STRDUP
, and FREE
work slightly differently. If pooling is enabled, the server automatically cleans up all memory allocated by these routines when the request completes. In most cases, this clean-up will not cause code to break.
The pool-init function affects any API code that is recompiled with server release 2.0 header files. If your code is not recompiled, it will not break. If you plan to recompile and want persistent memory allocation, add the prefix PERM_ to the name of each routine in your code (PERM_MALLOC, PERM_REALLOC, PERM_STRDUP, and PERM_FREE). If you're programming with the API, you should change to the PERM_ versions, even if you do not plan to recompile.
Note
Any memory you allocate from Init-class functions will be allocated as persistent memory, even if you use MALLOC. The server cleans up only the memory that was allocated while processing a request, and because Init-class functions are run before processing any requests, the clean-up is performed anyway.
Init fn=pool-init [disable=true]The pool-init function is on by default. To disable it, include the
disable=true
name-value pair.
Init fn=pool-init
Init fn=cache-init cache-size=value1 mmap-max=value2The cache-init function has three arguments:
cache-size
specifies the size of the cache. Valid values for the number of elements in the cache are 32 to 32768; the default is 512.
The cache-size
value should be greater than the number of URLs on
your server. When counting URLs, you should include any static HTML file
such as images, sounds, or any other unchanging data. URLs that are
dynamic (such as CGI or server plug-in API routines) return different data,
depending on who called them, and should not be counted.
mmap-max
specifies the maximum amount of memory set aside for memory-mapped (mmap) files the server will keep open at any point. Acceptable values range from 512K to (512*1024)KB; the default is 10000KB (10MB).
To get maximum speed, the cache keeps many mmap files open. To
estimate the optimal value for mmap-max
on your system, approximately
compute the total number of bytes of "static" data that's on your system. For
example, if you have 200 files that are 10K in size, then 2MB should be
sufficient for mmax-map
.
disable
specifies, if present, that the cache is to be disabled.
Note
To optimize server speed, you should ideally have enough RAM for the server and cache because swapping can be slow. Do not allocate a cache that is greater in size than the amount of memory on the system.
Init fn=cache-init cache-size=512 mmap-max=10000
Init fn=dns-cache-init [cache-size=
entries] [expire=
seconds]
cache-size
and expire
.
cache-size
specifies how many entries are contained in the cache. Acceptable values for cache-size
are 32 to 32768; the default value is 1024.
expire
specifies how long it takes for a cache entry to expire. Acceptable values (specified in seconds) for expire
are 1 second to 1 year; the default is 1200 seconds (20 minutes).
Init fn=
"dns-cache-init
" cache-size=
"2140
" expire=
"600
"
Init fn=init-cgi [timeout=
seconds] [
env-var=
value]...
seconds
specifies how many seconds the server will wait for CGI output. If the CGI script has not delivered any output in that many seconds, the server terminates the script.
env-var=value
specifies the name and value for an environment variable that the server will place into the environment for the CGI. You can set any number of environment variables in a single directive.
Init fn= LD_LIBRARY_PATH=/usr/lib;/usr/local/lib
The
basic-ncsa function translates authorization information provided through the basic server authorization scheme. This scheme is similar to the HTTP authorization scheme, but doesn't interfere with it, so using server authorization doesn't prevent the ability to authenticate to the remote server.
This function is usually used in conjunction with the PathCheck-class function require-auth.
auth-type
specifies the type of authorization to be used. This should always be "basic"
.
dbm
specifies the full path and base file name of the user database in the server's native format. The native format is a system DBM file, which is a hashed file format allowing instantaneous access to billions of users. If you use this parameter, don't use the userfile
parameter as well.
userfile
specifies the full path name of the user database in the NCSA-style HTTPD user file format. This format consists of lines using the format name:password
, where password
is encrypted. If you use this parameter, don't use dbm
.
grpfile
(optional) specifies the NCSA-style HTTPD group file to be used. Each line of a group file consists of group:user1 user2
... userN
where each user is separated by spaces.
AuthTrans fn=basic-ncsa auth-type=basic dbm=/var/ns-server/userdb/rs
AuthTrans fn=basic-ncsa auth-type=basic
userfile=/var/ns-server/.htpasswd grpfile=/var/ns-server/.grpfile
http://www.test.com/some/file
is a virtual path that could map to the real directory called
/docs/http/files/
.
NameTrans directives should appear in the root object (the "default" object), although you can put them elsewhere. If there is more than one NameTrans directive in an object, the server applies functions until one succeeds.
The
pfx2dir function looks for a directory prefix in the path and replaces the prefix with a real directory name. Don't use trailing slashes in either the prefix or the directory.
from
is the prefix to map.
dir
is the directory that the prefix is mapped to.
name
(optional) gives a named object (template) from which to derive configuration for this mirror site.
NameTrans fn=pfx2dir from=/cgi-bin dir=/httpd/cgi-bin name=cgi
NameTrans fn=pfx2dir from=/icons dir=/httpd/mc-icons
/etc/passwd
file or a file with a similar structure. Each line in the file should have this structure (elements in the passwd
file that aren't needed are indicated with *):
username:*:*:groupid:*:homedir:*If you want to have the server scan the password file only once at startup, use the Init-class function init-uhome.
from
is the URL prefix to translate.
subdir
is the subdirectory of the user's directory that contains their documents.
pwfile
is the full path and file name of the password file you want to use, if it's different from /etc/passwd
or the NIS database.
name
(optional) specifies a named object that configures this directory.
NameTrans fn=unix-home subdir=public_html name=userhome
NameTrans fn=unix-home pwfile=/mydir/passwd subdir=public_html
/home/file.html
, which is translated to docroot/home/file.html
.
root
specifies the document directory.
NameTrans fn=document-root root=/netscape/docs
from
specifies the old path.
url
specifies a complete URL to return to the client. If you use this parameter, don't use url-prefix
(and vice-versa).
url-prefix
is the new URL to pass to the client. The from
prefix is simply replaced by this URL prefix.
NameTrans fn=redirect from=/ url-prefix=http://tmpserver
nameTrans fn=redirect from=/toopopular url=http://bigger/better/stronger/morepopular/new.html
from
specifies the URI wildcard pattern that the directive applies to.
url
specifies a complete URL to return to the client. If you use this parameter, don't use url-prefix
(and vice-versa).
NameTrans fn=mozilla-redirect from=/ url-prefix=http://newserver
.HTML
file they see instead. This file must be on the server's local file system.
path
is the path and name of the home page .HTML
file.
NameTrans fn=home-page path=homepage.html
NameTrans fn=home-page path=/httpd/docs/home.html
PathCheck fn=unix-uri-clean
index-names
is a comma-separated list of index file names to look for. Use spaces only if they are part of a file name.
PathCheck fn=find-index index-names=index.html,home.html
auth-type
is the type of HTTP authorization to use. This currently can be only set to basic.
realm
is a string (enclosed in double-quotation marks) sent to the client application so users can see what object they need authorization for.
auth-user
(optional) specifies a list of users who get access. The list should be enclosed in parentheses with each user name separated by the pipe | symbol.
auth-group
(optional) specifies a list of groups that get access. Groups are listed in the password-type file.
PathCheck fn=require-auth auth-type=basic realm="Marketing Plans"
auth-group=mktg auth-users=(jdoe|johnd|janed)
<client>
region, then it performs access control. Note that "not found" is sent instead of "forbidden," which means the user can't tell if the path exists or not.
path
(optional) is a wildcard pattern of the path to hide. If no paths are specified, then all paths are hidden.
bong-msg
specifies a file to send instead of the "not found" message. The file should be an HTML file specified as an absolute path.
PathCheck fn=deny-existence path=*/~
<client> PathCheck fn=deny-existence bong-msg=/svr/msg/go-away.html </client>
disable
is a character string of links to disable: h
is hard links
s
is soft links
o
allows symbolic links from user home directories only if the user owns the target of the link.
dir
is the directory to begin checking. If you specify an absolute path, any request to that path and its subdirectories is checked for symbolic links. If you specify a partial path, any request containing that partial path is checked for symbolic links. For example, if you use /user/
and a request comes in for some/user/directory
, then that directory is checked for symbolic links.
PathCheck fn=find-links disable=sh dir=/foreign-dir
PathCheck fn=find-links disable=so dir=public_html
PathCheck fn=find-pathinfo
type
, encoding
, and language
.
If there is more than one ObjectType directive in an object, all of the directives are applied in the order they appear. If a directive sets an attribute and a later directive tries to set that attribute to something else, the first setting is used and the subsequent ones ignored.
mime.types
file. The MIME type is added to the "content-type
" header sent back to the client. The type can be set to internal server types that have special results when combined with function you write using the server plug-in API.
ObjectType fn=type-by-extension
graphic.gif
file from a Netscape server, and there is a graphic.jpg
file in the same server directory, the server can send graphic.jpg
to the client. The user will see the requested image, but in JPEG format, which has better color depth and higher compression than GIF images.
ObjectType fn=image-switch
type-by-exp
function matches the current path with a wildcard expression. If the two match, the type parameter information is applied to the file. This is the same as type by extension, except you use wildcard patterns for the files or directories specified in the URLs.
exp
is the wildcard pattern of files or directories that the information is applied to.
type
(optional) is the type to assign to any matching files.
enc
(optional) is the encoding given to matching files (the "content-encoding
" header).
lang
(optional) is the language assigned to matching paths.
ObjectType fn=type-by-exp exp=*.test type=application/html
type
is the type to assign to matching files.
enc
(optional) is the encoding given to matching files.
lang
(optional) is the language assigned to matching paths.
ObjectType fn=force-type type=text/plain
ObjectType fn=force-type lang=en_US
Parameters
exec-hack
(optional) checks if the execute bit is enabled for the file. If you don't specify this parameter, all files are marked as parsed.
Examples
ObjectType fn=shtml-hacktype exec-hack=true
Service directive
Once the other directives have done all the necessary checks and translations, the Service class of functions sends the data (first receiving it from a remote server when necessary) and completes the request.
Service directives support the following optional parameters to help determine whether the directive is used or not:
type
(not with server-retrieve
) specifies a wildcard pattern of MIME types to apply the directive to. The server defines several MIME types internally that are used only to select a Service-class function that translates the internal type into a form presentable to the client.
method
specifies a wildcard expression of HTTP methods that the client must be using to have the directive applied. Valid HTTP methods are GET, HEAD, and POST. Multiple values are enclosed in parentheses and separated by the pipe | symbol.
query
specifies a wildcard pattern of search queries that must be present for the directive to run.
Service type=*~magnus-internal/* method=(GET|HEAD) fn=send-file
path
specifies the full file system path of the HTML file.
Service fn=send-error path=/popular/service/we-moved.html
Service fn=send-error path=/http/errors/no-post.html
Service fn=send-range
trailer
is the text you want to append to all HTML documents. The text can contain HTML tags and can be approximately 700 characters long. The string :LASTMOD:
is replaced by the date the file was last modified; you must also specify a time format with timefmt
.
timefmt
is a time string in the strftime function format. See your operating system's manual for this format.
Service fn=Service type=text/html fn=append-trailer
trailer="<hr><img scr=/logo,gif> Copyright 1995"
Service fn=Service type=text/html fn=append-trailer timefmt="%D"
trailer="<hr>File last updated on: :LASTMOD:"
Service fn=send-cgi
Service type=magnus_internal/cgi fn=send-cgi
path
is the full path and file name of the CGI program to run.
Service query=* fn=query-handler path=/http/cgi/do-grep
Service query=* fn=query-handler path=/http/cgi/proc-info
Service type=magnus_internal/imagemap method=(GET|HEAD) fn=imagemap
Service type=magnus-internal/directory fn=index-simple
header
names a file to prepend to the indexing that introduces the contents of the directory. If you specify a file name for this parameter, the server looks for the file name as an .HTML
file, and then incorporates the file in the directory list as HTML; otherwise, the file is included as plain text.
readme
names a file (HTML or plain text) to append to the indexing. This gives more information about the contents of the directory.
Service type=magnus_internal/directory method=(GET|HEAD) fn=index- common header=hdr.html readme=end-text.txt
opts
are parsing options. The no-exec
option is the only currently available option--it disables the exec
directive.
Service type=magnus_internal/parsed-html method=(GET|HEAD) fn=parse-html
Service fn=upload-file
Service fn=remove-file
name type size mimetype
The name
field is the name of the file or directory. It is relative to the directory being indexed. It is URL-encoded, that is, any character might be represented by %xx
, where xx
is the hexadecimal representation of the character's ASCII number.
The type
field is a MIME type such as text/html
. Directories will be of type directory
. A file for which the server doesn't have a type will be of type unknown
.
The size
field is the size of the file, in bytes.
The mtime
field is the numerical representation of the date of last modification of the file. The number is the number of seconds since the epoch (Jan 1, 1970 00:00 UTC) since the last modification of the file.
Service fn=list-dir
Service fn=make-dir
Service fn=remove-dir
MOVE
command and a New-URL
header. The function renames the URL to New-URL
within a directory.
Service fn=rename-file
<Object ppath=/mydocs/secret/*> <Client secret-keysize=40> Service fn=key-toosmall </Client> </Object>
common-log
is an AddLog-class function that records request-specific data in the common log format (used by most HTTP servers). There is a log analyzer in the /extras
directory. There are also a number of free statistics generators for the common format.
The log format is specified by the init-server
function call.
name
(optional) gives the name of a log file, which must have been given as a parameter to the init-clf
Init function. If no name is given, global
is assumed.
iponly
(optional) instructs the server to skip looking up the host name of the remote client and to record the IP address instead. The value of iponly
has no significance, as long as it exists; the Server Manager sets iponly="1"
.
# Log all accesses to the central log file
AddLog fn=common-log
# Log non-local accesses to another log file
<Client ip=*~198.93.9[2345].*>
AddLog fn=common-log name=nonlocal
</Client>
flex-log
is an AddLog-class function that records request-specific data in the flexible log format. There is a log analyzer in the /extras
directory. There are also a number of free statistics generators for the common format.
The log format is specified by the flex-init
function call.
name
(optional) gives the name of a log file, which must have been given as a parameter to the init-clf
Init function. If no name is given, global
is assumed.
iponly
(optional) instructs the server to skip looking up the host name of the remote client and to record the IP address instead. The value of iponly
has no significance, as long as it exists; the Server Manager sets iponly="1"
.
# Log all accesses to the central log file
AddLog fn=flex-log
# Log non-local accesses to another log file
<Client ip=*~198.93.9[2345].*>
AddLog fn=flex-log name=nonlocal
</Client>
name
(optional) gives the name of the log file where the log is recorded--it must have been specified with the init-clf function. If no name is listed, the log is recorded in global.
AddLog fn=record-useragent name=browsers-used
The error directive has two functions,reason
andCode
; use only one or the other.
reason
gives one of the above strings (the text in bold, such as "Unauthorized" or "Forbidden").
Code
sends the three-digit number, such as 401 or 407.
Error fn=send-error Code=401 path=/var/ns-server/errors/401.html
<Object ppath=/mydocs/secret/*> <Client secret-keysize=40> Error fn=key-toosmall </Client> </Object>
mime.types
file tells the server how to convert files that have certain extensions (such as .GIF
) into a Multipurpose Internet Mail Extensions type (such as image/gif
). MIME files are compact files and transfer quickly. Also, MIME is needed by clients (like Netscape Navigator); without MIME they couldn't tell the difference between an HTML page and a graphic file.
The mime.types
file contains the global file extensions for all servers. The first line in the file identifies the file format and must read:
#--Netscape Communications Corporation MIME InformationOther noncomment lines have the following format:
type=type/subtype exts=[file extensions] icon=icon
type
/subtype
is the type and subtype that are correlated with the extension and icon on the same line.
exts
are the file extensions associated with this type. When the server transfers a file with one of these extensions, it uses the MIME type you specified in type
.
icon
is the name of the icon the browser displays. Netscape Navigator keeps these images internally. If you use a browser that doesn't have these icons, the server delivers them.
Here is an example of a
mime.types
file:
#--Netscape Communications Corporation MIME Information # Do not delete the above line. It is used to identify the file type. type=application/octet-stream exts=bin,exe type=application/oda exts=oda type=application/pdf exts=pdf type=application/postscript exts=ai,eps,ps type=application/rtf exts=rtf type=application/x-mif exts=mif type=application/x-csh exts=csh type=application/x-dvi exts=dvi type=application/x-hdf exts=hdf type=application/x-latex exts=latex type=application/x-netcdf exts=nc,cdf type=application/x-sh exts=sh type=application/x-tcl exts=tcl type=application/x-tex exts=tex type=application/x-texinfo exts=texinfo,texi type=application/x-troff exts=t,tr,roff type=application/x-troff-man exts=man type=application/x-troff-me exts=me type=application/x-troff-ms exts=ms type=application/x-wais-source exts=src type=application/zip exts=zip type=application/x-gtar exts=gtar type=application/x-shar exts=shar type=application/x-tar exts=tar type=application/mac-binhex40 exts=hqx type=audio/basic exts=au,snd type=audio/x-aiff exts=aif,aiff,aifc type=audio/x-wav exts=wav type=image/gif exts=gif type=image/ief exts=ief type=image/jpeg exts=jpeg,jpg,jpe type=image/tiff exts=tiff,tif type=image/x-cmu-raster exts=ras type=image/x-portable-anymap exts=pnm type=image/x-portable-bitmap exts=pbm type=image/x-portable-graymap exts=pgm type=image/x-portable-pixmap exts=ppm type=image/x-rgb exts=rgb type=image/x-xbitmap exts=xbm type=image/x-xpixmap exts=xpm type=image/x-xwindowdump exts=xwd type=text/html exts=htm,html type=text/plain exts=txt type=text/richtext exts=rtx type=text/tab-separated-values exts=tsv type=text/x-setext exts=etx type=video/mpeg exts=mpeg,mpg,mpe type=video/quicktime exts=qt,mov type=video/x-msvideo exts=avi type=video/x-sgi-movie exts=movie enc=x-gzip exts=gz enc=x-compress exts=z enc=x-uuencode exts=uu,uue type=magnus-internal/imagemap exts=map type=magnus-internal/parsed-html exts=shtml type=magnus-internal/cgi exts=cgi,exe,bat
admpw
file contains the Administration password. If you forget your password, there is no way to find out what it was. You must encrypt a new one and replace the old version with it. The file has the format user:password
.
You can create multiple Administration users by creating an NCSA-type of user database, and then rename that file to replace admpw
.
If you forget your Administration password, you can edit the admpw
file and delete the password section (everything after the colon). When you go to the Server Manager, you won't need to enter a new password, but you should immediately go to the Server Manager and set a new one.
Warning!
Because you can do this, it is important to keep secure the server's Unix ID account and to ensure that only that server account and the root account have full (write) access to the server root directory. This way, only someone running as root or with the server's user account can enter the [ServerRoot]/admserv
directory and edit theadmpw
file.