'Normal' linux installations contain a set of important scripts and configuration files that are invoked or read by various server components. If you edit such a script or configuration file your original is overwritten by the new one. If you make a mistake during this edit, your server might mailfunction and you have to undo your changes or, if you're not capable of doing so, hunt for a 'original' one....
There is where the beauty of the SME server templating system comes in. Any of the core scripts and configuration files are rebuild at your will with 1 command only. Here's how it works;
- Original files (e.g. all files in /etc/...) are never touched.
- Instead of that, all the above files are in special 'original' directories
- Files are split up in sections (fragments)
- To edit a file, edit the fragment, and save it in a special 'custom' directory
- So we have 'original' fragments and 'custom' fragments.
- When rebuilding the files, the SME server will check for 'custom' fragments before 'original' fragments and build the new source file
- If you don't like your new source file or have made a mistake, juste delete your fragment from the 'custom' directory and rebuild the source file
- You're back with a good file :-)
SME Server consists of a modified Red Hat Linux installation, together with a number of server applications as well as the server management software. The management software presents users with a simplified user interface and automatically configures the server applications as necessary.
<?plugin FrameContribs src=http://www.contribs.org/docs/rmcnew/Mitel/contribs/e-smith-architecture.gif height=500 width=95% frameborder=0 scrolling=no ?>
Whenever the server management software needs to reconfigure a running server application, it rewrites the application's configuration files, and restarts the application if necessary. The applications are not modified to work within the SME Server framework.
The key to the whole system is the master configuration file (filename /home/e-smith/configuration
), which contains a list of parameters that describe how the entire system should behave (IP addresses, domain information, email configuration, and so on).
A set of Unix configuration file templates is stored in the directory /etc/e-smith/templates
(stored in the same hierarchy as the real configuration files). Each template is a parameterized version of a server configuration file; it produces different versions depending on the master configuration file.
A set of action programs is stored in the directory /etc/e-smith/events/actions
. Each action program instantiates several templates and restarts server applications if necessary.
Whenever a parameter is changed using the user interface, the master configuration file is updated accordingly, then the proper actions are invoked by signalling an event. Events are defined in the directory /etc/e-smith/events
. Each event specifies a particular sequence of action programs to completely update the system for a given situation.
So, to recap: here are the steps performed when a system parameter is changed in the user interface (the same steps are used both for the e-smith console and for the web-based manager):
Step 1: The user interface code modifies the settings in the e-smith configuration file to specify the new system configuration.
Step 2: The user interface code signals an event to inform the system that the configuration has changed.
Step 3: The event triggers a sequence of actions.
Step 4: Each action instantiates a set of templates and restarts servers if necessary.
copyright 2000 Mitel Networks. all rights reserved.
Back to Documentation