4.4. Directory organization
configurations:
Contains the config files used by the CIF.. These files use the XML syntax. You don't have to modify them by hand. If for some reason you do, make sure to do it when Caudium is stopped because they will get overwritten with the server's current configuration when the server is stopped. An alternate method is to edit the file, then send the HUP signal to the Caudium process. Another method is to use the CIF.: Go into Action -> Maintenance -> Reload configurations from disk. This will cause Caudium to reload its configuration from disk. As you may have guessed, each file has the name of the corresponding virtual server. One file however has a special name - Global_Variables. This file contains information about Caudium's global variables (See the Global Variables tab in the CIF.).
logs:
Contains useful information such as debug log, virtual server logs, start/stop status. See also Section 4.2.
readme:
It's all in the name.
server:
This directory contains the actual server.
base_server:
Contains the server core Pike code: API, CIF., etc. Newbies should not modify these files.
bin:
First binary code that is run when you use the start script. There are also some Pike scripts running as CGIs and without Caudium API.
caudium-images:
This directory contains Caudium static images from the Caudium Group, such as the "powered by" series.
config_actions:
These are files used in the Action tab on the CIF.. You may use some of these functions in your code.
etc:
Caudium includes files used by the Caudium core and its modules. For example, it contains .html files for error messages. Two directories are important for a module developer:
include:
Put your .h files here.
module:
Put your module files here (.pmod). Pike module files are used to provide two-level functions/class/methods for your modules. When you modify any of these files, you must restart the server.
fonts:
Contains some compatibility fonts with some older versions. The new directory is nfonts.
languages:
Some basic language translations for time/date.
lib:
Some of the C code used to speed Caudium up. This code is a set of dynamic libraries (.so).
modules:
Contains Caudium modules. These are all the modules you see when you click Add Module after you have selected one of your servers in the CIF.. Browsing this directory will be useful to understand Caudium.
3rdparty:
This special directory contains third party modules for Caudium. These may be useful but are provided without any warranty and will not be maintained by the Caudium Group but they may be by the individuals who wrote them.
more_modules:
Some modules that meet a specific need, are not up-to-date, or are humorous.
nfonts:
Fonts for graphical things like <gtext> and <gbutton>. You can have several types of properties like bold or italic for the same font name.
Perl:
Needed to run Perl scripts within Caudium. At the time of writing this document, Perl support is broken, and we will be pleased to get help on this issue.
protocols:
Contains protocol modules (for handling HTTP, FTP and the like).
server_templates:
The templates you can choose from when you create a new a virtual server.
unfinished_modules:
For modules in development.
You can also see readme/README relative to /usr/local/caudium in our example.