Introduction
Welcome to the Roxen web server. 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 server. Roxen is easy to use so it is feasible to
install it on your own computer.
A word of warning; 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 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 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 success of the module interface is 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 didn't become just a plain FTP server; 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 scripting 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
HTML, by sharing the same tag-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 scripting 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.
|