- From: Martin Baehr <mbaehr AT cvs.caudiumforge.net>
- To: caudium-commits AT caudium.net
- Subject: CVS: docs/howto/Caudium_HOWTO CaudiumHOWTO.xml,1.4,1.5
- Date: Mon, 6 Dec 2004 15:25:30 +0100
Update of /cvs/cdp/docs/howto/Caudium_HOWTO
In directory cvs.caudiumforge.net:/tmp/cvs-serv99989
Modified Files:
CaudiumHOWTO.xml
Log Message:
updated chapter 2:
some minor changes and mainly removed outdated advantages and disadvantages
Index: CaudiumHOWTO.xml
===================================================================
RCS file: /cvs/cdp/docs/howto/Caudium_HOWTO/CaudiumHOWTO.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- CaudiumHOWTO.xml 28 Sep 2003 20:54:51 -0000 1.4
+++ CaudiumHOWTO.xml 6 Dec 2004 14:25:28 -0000 1.5
@@ -186,7 +186,9 @@
Powerful API.
</para></listitem>
<listitem><para>
- Lots of standard modules distributed with the server, including a
WebDAV server, the CAMAS web mail application, and the UltraLog log analysis
tool. The <quote>module</quote> directory in Caudium 1.2 with CAMAS contains
192 code-only files. Most of the modules are in a single file.
+ Lots of standard modules distributed with the server, including a
+ WebDAV server, the CAMAS web mail application, and the UltraLog log
+ analysis tool.
</para></listitem>
<listitem><para>
RXML language. RXML stands for Roxen eXtensible Markup Language and
is a set of tags, containers and simple programming language constructs that
you put in your HTML source. Those tags and containers will be interpreted at
run-time by Caudium. This allows non-programmers to do development.
@@ -200,14 +202,52 @@
<sect1 id="fork">
<title>Caudium vs Roxen: Why a fork?</title>
<para>
- Caudium is backwards compatible with Roxen Challenger 1.3. It has all
the Roxen 1.3 RXML tags and the Roxen 1.3 API, so, from a technical point of
view, it is quite the same (although Caudium has many improvements over Roxen
1.3). The main legal difference between Roxen 1.3 and Caudium is that Roxen
is property of Roxen Internet Software whereas Caudium is owned by its
developers, The Caudium Group. There are many functional extensions,
improvements and bug fixes over the original Roxen 1.3 codebase from which
Caudium was created. Here you may say it is not a problem since it is under
GPL. The problem is that even it is licensed under the GPL, RIS may not
include your patch in its CVS tree, you may not have a CVS account, so you
can't really do all you want. The main reason for the fork, however, was that
RIS didn't pay attention to the users' needs, and proceeded to make the new
versions of the Roxen Web Server largely incompatible with the previous
versions, to the poi
nt where one couldn't switch to the new version of the software without much
effort put into conversion of the old source code. Rewriting huge portions of
RXML/Pike code just to switch to a new version of the web server seemed to be
quite counter-productive, and thus the Caudium Project was born.
+ Caudium is backwards compatible with Roxen Challenger 1.3. It has all the
+ Roxen 1.3 RXML tags and the Roxen 1.3 API, so, from a technical point of
+ view, it is quite the same (although Caudium has many improvements over
+ Roxen 1.3). There are many functional extensions,
+ improvements and bug fixes over the original Roxen 1.3 codebase from
which
+ Caudium was created. The main reason for the fork, however, was
+ that RIS didn't pay attention to the users' needs, and proceeded to make
+ the new versions of the Roxen Web Server largely incompatible with the
+ previous versions, to the point where one couldn't switch to the new
+ version of the software without much effort put into conversion of the
old
+ source code. Rewriting huge portions of RXML/Pike code just to switch to
a
+ new version of the web server seemed to be quite counter-productive, and
+ thus the Caudium Project was born.
</para>
</sect1>
<sect1 id="apache">
<title>Comparing Caudium with Apache</title>
<para>
- Caudium differs from Apache in many ways including the directory
structure, programming language, and type of configuration. Caudium has a
fully integrated web interface, while Apache relies on editing text files
directly. Moreover, any change to the Apache configuration requires a restart
of the server, while Caudium sees the changes immediately after you save them
from the web interface. There are also some differences in the vocabulary
used in the configuration interface. Another difference is that Apache 1.3
uses a forked process model while Caudium uses threads or a monolithic
process model, depending on the features present in the copy of Pike it uses.
Caudium allows the programmer/user to easily extend the server using
modules/scripts written in Pike that integrate tightly with the core server
and, thus, create a more robust, faster and more intuitive entity than an
Apache server augmented with a set of external dynamically loadable
libraries. While changing any
thing in the source code of any Apache extension (or the server itself)
requires recompilation, relinking and restarting of the whole server, Caudium
allows one to add/remove/modify code without any interruption of the server
operation. If you modify a module all you need to do to see the effects of
your work is to reload the module in question using the configuration
interface. Caudium's architecture also provides easy means of building highly
dynamic web pages that use SQL, gdbm, Mird databases, LDAP, dynamically
generated graphics (including business graphics modules) and more. The same
effect can be achieved with Apache almost only by using external set of Perl,
Python, or other language, scripts running as CGI or embedded using a
dynamically loaded module. While allowing the programmer/designer to use CGI
modules, Caudium offers more power when the source code is integrated with
the Caudium core.
+ Caudium differs from Apache in many ways including the directory
+ structure, programming language, and type of configuration. Caudium
has a
+ fully integrated web interface, while Apache relies on editing text
files
+ directly. Moreover, any change to the Apache configuration requires a
+ restart of the server, while Caudium sees the changes immediately after
+ you save them from the web interface. There are also some differences
in
+ the vocabulary used in the configuration interface. Another difference
is
+ that Apache 1.3 uses a forked process model while Caudium uses threads
or
+ a monolithic process model, depending on the features present in the
copy
+ of Pike it uses. Caudium allows the programmer/user to easily extend
the
+ server using modules/scripts written in Pike that integrate tightly
with
+ the core server and, thus, create a more robust, faster and more
+ intuitive entity than an Apache server augmented with a set of external
+ dynamically loadable libraries. While changing anything in the source
+ code of any Apache extension (or the server itself) requires
+ recompilation, relinking and restarting of the whole server, Caudium
+ allows one to add/remove/modify code without any interruption of the
+ server operation. If you modify a module all you need to do to see the
+ effects of your work is to reload the module in question using the
+ configuration interface. Caudium's architecture also provides easy
means
+ of building highly dynamic web pages that use SQL, gdbm, Mird
databases,
+ LDAP, dynamically generated graphics (including business graphics
+ modules) and more. The same effect can be achieved with Apache almost
+ only by using external set of Perl, Python, or other language, scripts
+ running as CGI or embedded using a dynamically loaded module. While
+ allowing the programmer/designer to use CGI modules, Caudium offers
more
+ power when the code is integrated with Caudium server itself.
</para>
</sect1>
@@ -221,13 +261,14 @@
Mostly written in an interpreted, object-oriented, language - Pike:
<itemizedlist>
<listitem><para>
- Easy to program and extend. Just imagine if you could code
extensions to the Apache core in PHP or Perl.
+ Easy to program and extend. Just imagine if you could code Apache
modules in Python or Perl.
</para></listitem>
<listitem><para>
No buffer overflows, segmentation faults or any other problems of
that nature.
</para></listitem>
<listitem><para>
- RealNetworks is still using Roxen 1.3 as their main web platform
for its stability and speed.
+ RealNetworks was using Roxen 1.3 as their main web platform for
its
+ stability and speed.
</para></listitem>
</itemizedlist>
</para></listitem>
@@ -244,13 +285,8 @@
Backwards compatible with Roxen 1.3.
</para></listitem>
<listitem><para>
- Different. If you are a Linux or BSD user for some time you already
know the most used is not always the best.
- </para></listitem>
- <listitem><para>
- Caudium won't run under win32 (thus letting us more time for useful
things). However some people are trying to port it using cygwin without code
modification.
- </para></listitem>
- <listitem><para>
- Embedded PHP4 support.
+ Different. If you are a Linux or BSD user you may already
+ know the most popular is not always the best.
</para></listitem>
</itemizedlist>
</sect1>
@@ -258,10 +294,8 @@
<title>Disadvantages of Caudium</title>
<itemizedlist>
<listitem><para>
- Too small of a community, and quite unknown in web server world.
One example of the problem you may have is if you write Pike code for
Caudium, and your hosting company doesn't support Pike, and you don't have
root access to your server. Of course, it is possible to compile Pike on your
account and run Caudium without the superuser privileges.
- </para></listitem>
- <listitem><para>
- RIS (Roxen Internet Software) owns Pike, but this is likely to
change in the not-so-distant future.
+ Due to the small size of the Caudium community, hosting providers
that
+ support Caudium are hard to find
</para></listitem>
<listitem><para>
Needs more testing for exotic modules or modules we don't use often.
Example of such modules include htaccess support.
@@ -269,22 +303,32 @@
<listitem><para>
Too little documentation. One example is the lack of documentation
about FastCGI support.
</para></listitem>
- <listitem><para>
- CGI performance on busy CGI based sites was lackluster -- no one
will take the time to rewrite CGIs. This seems to be somewhat resolved with
Pike 7.2/Caudium 1.2.
- </para></listitem>
<listitem>
<para>
- It is sometimes impossible to get some features when you are a
normal user because configuration is only accessible with the
<abbrev>CIF.</abbrev> (Configuration InterFace). And the
<abbrev>CIF.</abbrev> is accessible only by the admin (this is being taken
care of in the development series of the server). Here is list of day to day
problems submitted by Chris Davies:
+ It is sometimes impossible to get some features when you are a
normal
+ user because configuration is only accessible with the
+ <abbrev>CIF.</abbrev> (Configuration InterFace). And the
+ <abbrev>CIF.</abbrev> is accessible only by the admin (this is
being
+ taken care of in the development series of the server). Here is a
list
+ of day to day problems submitted by Chris Davies in 2002:
</para>
<blockquote><para>
Webmasters like to use mod_rewrite in the .htaccess files to
protect their sites from leeching, etc. Yes, there is referrerdeny and
browserdeny, but these are accessible to the System Administrator, not the
casual web user. On Apache, one can easily specify rules on a per directory
basis. This isn't easy in Caudium, however, it is rare that someone would
have more than two or three different conditions.
</para></blockquote>
<blockquote><para>
- Now, for people that are running their own server, many of these
issues disappear. Administration and adding servers is much easier. I'm not
sure I agree with the templates, but perhaps an Apache Template could be
tweaking beyond that to the System Administrator. In most cases, Apache has
SSI turned on for shtml files -- getting the exec command enabled to mimic
this in Caudium is not a task for the beginner. The maze of options to find
that one setting will certainly frustrate anyone getting started.
+ Now, for people that are running their own server, many of these
+ issues disappear. Administration and adding servers is much
easier.
+ I'm not sure I agree with the templates, but perhaps an Apache
+ Template could be tweaking beyond that to the System Administrator.
+ In most cases, Apache has SSI turned on for shtml files -- getting
+ the exec command enabled to mimic this in Caudium is not a task for
+ the beginner. [but thanks to Caudiums RXML, exec won't be needed in
+ most cases. (the editor)] The maze of options to find that one
+ setting will certainly frustrate anyone getting started.
</para></blockquote>
</listitem>
<listitem><para>
- A graphical interface is not always the best. To create a virtual
server with Apache, you have to copy and paste five lines. If you use the
Caudium Interface it will take you more than one minute. And if you want to
change Caudium text file directly, you will have to write sed script.
+ Caudium won't run under win32.
</para></listitem>
</itemizedlist>
</sect1>
- CVS: docs/howto/Caudium_HOWTO CaudiumHOWTO.xml,1.4,1.5, Martin Baehr
Archive powered by MhonArc 2.6.10.