Roxen WebServer 2.2
The Roxen WebServer is highly modular, much more so than Apache. In fact, Roxen sometimes needs a couple of modules to do the simplest task. Many preconfigured modules are included that you can enable, disable and setup from the administrative interface. Roxen modules also can be added on the fly, as opposed to Apache modules. It is also much easier to write your own module for Roxen than it is for Apache. The module writer can concentrate on the actual functions in her module because the Roxen WebServer provides frameworks such as the user interface and I/O operations. This approach also ensures the same user interface, and each virtual site can use its own subset of modules. Roxen modules can be written in Pike or Java.
The Roxen WebServer includes a generic database API (accessible through the Pike interpreter), which is used to connect to a different SQL databases. Pike includes native drivers for Oracle 7/8, (you will need to install OCI, Oracle Client Libraries though), Sybase, Informix, MySQL, Postgres and ODBC data sources. You can use the administrative interface to test database connections or to run SQL queries, to browse tables or to perform any other administrative actions for the database engine.
More interesting is that the Roxen WebServer includes a wrapped MySQL server and uses it for storing the system configuration, usernames, passwords, images and help documents. This MySQL sever can be administered entirely through the Roxen web interface as well. Roxen also includes (available through the web interface) for backing up and restoring its internal databases. The internal web server data can be replicated with a shared MySQL database, an excellent idea because it enables many Roxen servers to share the same configuration data, all stored in a single MySQL database.
There are several ways to run scripts in Roxen, and it supports such standards as CGI, FastCGI and SSI. In addition, a built-in macro language RXML(Roxen Macro Language) is also provided. Most popular language scripts can cooperate with Roxen, however, most of them only as CGI scripts. Of course, the most important thing for most web developers is the question of PHP support. In answer, Roxen lacks native PHP support, but there is an experimental module for embedded PHP. The only officially supported mode of running PHP with Roxen is the old-fashioned way, running PHP scripts as CGI scripts.
Let's move on to Perl. The included Perl module provides support for both Perl scripts and Perl tags inside HTML code. In both cases, the actual Perl code is executed in a subprocess and not in the main Roxen process. The module will catch requests to documents whose path ends with any of the suffixes indicated by the extensions setting in the Perl module configuration. The defaults are .perl and .pl. Perl tags, or processing instructions, will be available if the module setting Enable Perl tag is set to Yes. This means that RXML (see below) pages can use Perl code that looks like:
<?perl print scalar(localtime), "\n"; ?>'
The Perl module also optionally provides a <perl></perl> container for embedding Perl code directly inside static HTML.
Roxen also includes its own scripting extension RXML (Roxen Macro Language); it is called a scripting language, but it's not a full featured language. RXML simply adds a new subset of tags to commonly used HTML tags, and it is similar to XML when you look at its tags and entity-based syntax. The really usable RXML feature is that it can be extended with new tags, by writing new modules or creating wrapper tags.
RXML is simple enough to be used by web designers that do not know programming. The common example for RXML power is the If tag, which makes it possible to create dynamic pages based on conditions. RXML makes it easy to have page optimization for different web browsers and screen resolutions or to limit access to pages that can be viewed only by authenticated users.
The Roxen WebServer includes a Java servlet bridge module, which is its interface to Java servlets. To have Java support loaded, the Roxen installer must find a Java 2.0 SDK-compliant virtual machine during installation. Unfortunately I've had trouble using my favorite Java VM, IBM's Java Develop Kit for Linux 1.3.0, with Roxen. I was unable to configure the Java servlet bridge due to compilation errors. In theory, a Java servlet is installed by adding a copy of the Java servlet bridge module. Java modules are just .class files or .jar files within the normal module directories and behave in the same way as do Pike modules. Roxen documentation includes a detailed instruction for setting this all up and examples of how to do it.
Fast/Flexible Linux OS Recovery
On Demand Now
In this live one-hour webinar, learn how to enhance your existing backup strategies for complete disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible full-system recovery solution for UNIX and Linux systems.
Join Linux Journal's Shawn Powers and David Huffman, President/CEO, Storix, Inc.
Free to Linux Journal readers.Register Now!
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Peppermint 7 Released
- Sony Settles in Linux Battle
- Libarchive Security Flaw Discovered
- Client-Side Performance
- Maru OS Brings Debian to Your Phone
- Profiles and RC Files
- Snappy Moves to New Platforms
- The Giant Zero, Part 0.x
- Git 2.9 Released
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide