Welcome to Roxen WebServer. In this chapter we will give an overview
of Roxen and explain why we built Roxen this way. The later is important
since Roxen differs from other web servers and Internet related servers.
To make full use of Roxen it is necessary to know the philosophy behind
Roxen as well as how to use it.
The other chapters of this manual describe how to administrate a Roxen
server. It is written for system administrators as well as users who want
to run their own Roxen WebServer. Roxen is easy to use so it is feasible to
install it on your own computer.
Note!
|
Although Roxen is simple to use, Internet security in general is
not. Before you are ready to run a web server connected to the Internet
you need to learn how to do this securely. This manual covers the
security aspects of Roxen itself, but does not tell you how to secure
the operating system Roxen is running on.
|
Why Roxen?
The short answer is that Roxen tries to be a web server that behaves like
the web. Its user interface is accessed from a web browser from anywhere in
the world, like a web site. Furthermore like the web Roxen is platform
independent, it can run equally well on a number of operating systems. It is
even possible to move a Roxen web site to another computer with no changes.
Another way to answer is to look at the internals of Roxen. Roxen WebServer
is highly modular; to do the simplest task Roxen needs at least a couple of
modules. That might seem unnecessary at first, but it makes it possible to
customize every aspect of the Roxen server.
Writing the actual modules is made simple because Roxen WebServer handles
complicated tasks such as the user interface. The module writer can
concentrate on the actual functions in her module. This approach also
ensures that the user interface works the same way, regardless of what
new modules are invented.
The best way to illustrate the advantages of the module interface is by
taking a look at the FTP protocol module. Even the HTTP
protocol handler is a module in Roxen. So by making a protocol module for
FTP, Roxen became a FTP server as well. But it did not become just a plain
FTP server since all scripting and database connectivity features are still
available through FTP.
Properties of Roxen
Apart from the three important properties we have already mentioned,
platform independence, a browser based administration interface
and a modular architecture, Roxen is designed with scripting
and database connectivity in mind. There are several ways to run
scripts in Roxen. Standards such as CGI, FastCGI and Java Servlets are
supported as well as the built-in macro language RXML.
RXML (Roxen Macro Language) is a scripting language that does not
try to be a programming language. Instead it tries to be as simple to
use as XML, by sharing the same tag and entity based syntax. RXML can
also be extended with new tags, by writing new modules or creating
wrapper tags for other kinds of scripts.
RXML makes it significantly easier to embed dynamic parts in HTML
pages. Web designers can use the RXML tags themselves without having to
learn programming, and programmers can create new RXML tags that can be
reused on any number of pages with a minimum of effort.