Thalassa CMS logo

Thalassa CMS

Components of the CMS and their data sources

Thalassa CMS consists of two programs (executable binaries):

The CGI program runs the generator program whenever it is necessary to rebuild (renew) certain parts of the site; in the present version, this happens when a user comment is added, edited, or its status is changed using the web interface; only the page containing the comment is rebuilt.

Both programs are configured using user-editable configuration files (in ini format). The main configuration file for the generator (thalassa) is by default named thalassa.ini (this may be overriden with command line options); additional ini files can be (and usually are) specified both at command line and within the main ini file.

Besides that, thalassa is able to use the so-called content database, which is effectively a directory tree with text files, one file per HTML page to be generated and one file per each user comment. The content database is intended to be modified by the CGI program, but in the present version, only user comments are modifiable this way, while page source files are to be edited manually.

Content database is optional; HTML pages can also be completely specified within ini files. Using the database is only necessary for the user comments, so in case you don't need them, the content database can be omited completely, although using it may make your site maintenance more convenient. And remember, the “database” is actually just a directory with text files, nothing special nor requiring running daemons nor performing maintenance.

The CGI program (thalcgi.cgi) is configured with exactly one ini file, which is named thalcgi.ini and must reside in the same directory with the CGI program itself. The ini file must only be readable for the CGI program; the program checks whether the file is only readable for its owner, and refuses to work otherwise. It is critical to keep the ini file's content private. Please consider using suexec to run the CGI program, so it runs under a UID different from the http server's uid; if for any reason you can't use suexec, make sure your web server is configured to never ever disclose the content of the thalcgi.ini file.

Besides the ini file, the CGI program uses the so-called session database, which is another directory tree, used to store current sessions, account details for registered users, information regarding email addresses and domains, and the moderation queue.

© Andrey V. Stolyarov, 2023, 2024