docs.roxen.comView this page in a printer friendly mode
DocsRoxen2.2Administrator ManualIntroduction
Copyright  2004, Roxen Internet Software
Suggestions, comments & compliments


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.


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.