CUCC Expedition Handbook: Server

The Expo server

Troggle is the software which runs the the expo cave survey data management and website. It is not the only thing running on the expo server.

Server configuration: directory structure

This is the folder structure of the repo :expoweb: which is also the root of the website. Note that the webserver (apache) presents many more apparent folders, such as expofiles, than there are folders because that's what it and troggle do.

In the list below only the handbook folder has been expanded. The years folder includes 42 subfolders from 1976 to 2019.

The handbook illustrates the i/t/l idiom whereby an image file (i) is displayed with a paragraph of text as an HTML file (l) and there is a thumbnail image (t) which is included in another document, e.g. see the photographic guide to the walk from the toll road car park.

CSS and JavaScript

The expoweb repo contains all the HTML files and basic CSS files. The troggle repo contains the HTML templates, CSS and some javscript for the troggle report pages generated dynamically. There are also javascript packages installed directly on the operating system which are used by some expoweb pages: CaveScript for showing 3D views of cave centreline data, CodeMirror for syntax-colouring survex files and openlayers for geographic mapping integration. These javascript packages are only documented in the configuration instructions, see below.

Server configuration: software

* These are essential to make troggle work at all.

The server configuration scripts are in troggle/debian/serversetup and are also documented with notes in troggle/README.txt. It is intended that the full documentation will be copied here in due course and that fully automated server setup scripts will be developed

The folder structure on the server is as shown below. It is all in the user folder for the user expo i.e. in
/home/user/expo:

expofiles

expofiles contains ~40GB of files which are published by the webserver but which are not parsed by troggle. 28GB of these are photographs in /expofiles/photos/ and there are over 4GB of scanned images of surveys in /expofiles/surveyscans/. There is a cleaned, complete copy of the documentation for the tunnelX cave plan drawing package in /expofiles/tunnelwiki/.

cron

The server runs it's hourly, daily and weekly scripts using the anacron system. In ~expo/config/cron/ on the server, there are expo.hourly and expo.daily scripts and these are (or should be) launched at the appropriate times by the server root from /etc/crontab. This is not obviously working on the server at present.

Search: xapian

Installed independently of troggle simply with apt install xapian-omega and then configured into the troggle-generated menus in css/main2.css. The function is connected with an apache configuration ScriptAlias /search /usr/lib/cgi-bin/omega/omega in ~expo/config/apache/expo.conf. Installed by Wookey in May 2020.

boe

This is a perl script, and server by the webserver using the configuraiotn

#bank of expo
#current expedition
ScriptAlias /boe /home/expo/boe/boc/boc.pl
<Directory /home/expo/boe/boc>
        AddHandler cgi-script .pl
        SetHandler cgi-script
        Options +ExecCGI
        Require all granted
</Directory>
in ~expo/config/apache/expo.conf.
Return to: Troggle design and future implementations
Return to: Troggle intro
Troggle index: Index of all troggle documents