<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Handbook - Expo Server</title>
<link rel="stylesheet" type="text/css" href="../../css/main2.css" />
</head>
<body><style>body { background: #fff url(/images/style/bg-system.png) repeat-x 0 0 }</style>
<h2 id="tophead">CUCC Expedition Handbook: Server</h2>
<h1>The Expo server</h1>
<p>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.

<h3 id="what">Server configuration: directory structure</a></h3>
<p>This is the folder structure of the repo <var>:expoweb:</var> which is also the root
of the website. Note that the webserver (apache) presents many more apparent folders, such as <var>expofiles</var>, than there are folders because that's what it and troggle do.
<p>In the list below only the <var>handbook</var> folder has been expanded. The <var>years</var> folder includes 
42 subfolders from <var>1976</var> to <var>2019</var>.
<code><textarea id="folders" rows="30" cols="30">
expoweb (repo)
├── 1623
├── 1626
├── cave_data
├── css
├── documents
├── entrance_data
├── folk
├── gallery
├── handbook
│   ├── computing
│   ├── festering
│   ├── i
│   ├── l
│   ├── putty
│   ├── rig
│   ├── survey
│   ├── t
│   └── troggle
├── images
├── map
├── maps
├── noinfo
├── others
├── pending
├── photos
├── piclinks
├── scripts
├── signup
├── templates
├── tinypix
├── topos
└── years</textarea></code>

<p>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 <a href="../../1623/walkin.htm">the photographic guide to the walk from the toll road car park</a>.

<h3 id="what">Server configuration: software</a></h3>

<ul>
<li>apache webserver
<li>MySQL database
<li>cgit (live webpage showing git status of repos)
<li>Makefile
<li>bins
<li>expofiles
<li>ssh
<li>cron
<li>xapian (search function)
<li>boe
</ul>
 
 
<p>The folder structure on the server is as shown below. It is all
in the user folder for the user <var>expo</var> i.e. in
<br>/home/user/expo:
<code><textarea id="folders" rows="30" cols="40">
expo
├── boe
│   └── ...
├── cuccfiles
│   └── ...
├── loser (repo)
│   ├── caves
│   ├── caves-1623
│   ├── caves-1624
│   ├── caves-1626
│   ├── caves-1627
│   ├── docs
│   ├── fixedpts
│   ├── gpx
│   ├── kataster
│   ├── qms
│   ├── routes
│   ├── surface
│   └── template
├── drawings (repo)
│   ├── 107
│   ├── 161
│   ├── 2010-03
│   ├── 2011-01
│   ├── 2014-ms-14
│   ├── 2014-neo-01
│   ├── 2014-sd-01
│   ├── 2015-mf-06  Purple Lupin Cave
│   ├── 2017-cucc-23
│   ├── 2017-cucc-24
│   ├── 2017-cucc-28
│   ├── 2017-gmh
│   ├── 2017-pw-01
│   ├── 204
│   ├── 234
│   ├── 264-and-258
│   ├── minorCavesNear204
│   ├── oldframes
│   ├── oldframes2016
│   ├── styles
│   └── therion
├── expoweb (repo)
│   └── [see above]
├── troggle (repo)
│   ├── core
│   ├── debian
│   ├── docker
│   ├── docsEtc
│   ├── export
│   ├── flatpages
│   ├── helper
│   ├── imagekit
│   ├── media
│   ├── parsers
│   ├── profiles
│   ├── templates
│   └── wiki
├── static
│   └── ...
├── repositories
│   ├── cvs
│   ├── git
│   └── hg
├── expofiles
│   └── ...
├── expofiles-private
│   └── ...
└── webphotos
    └── ...</textarea></code>

<p><var>expofiles</var> contains many important folders:

<code><textarea id="folders" rows="30" cols="40">
expofiles
├── accounts
│   ├── 2016
│   ├── 2017
│   ├── misery
│   └── policy
├── aerial_photos
├── defaults
├── documents
│   ├── 2014kataster_applications
│   ├── 2020-expo-planning
│   ├── DistoX
│   ├── GPF
│   ├── SAP
│   ├── austria-1984
│   ├── bierbook
│   ├── cave_science_articles
│   ├── excursions2018
│   ├── grants
│   ├── hardware
│   ├── proc.ubss
│   ├── surveying
│   ├── troggle
│   ├── tshirts
│   └── website-link-checks
├── geotiffsurveys
│   └── qgis-examples
├── geotiffsurveys_backup
│   └── qgis-examples
├── gpslogs
│   ├── 2017
│   ├── 2018
│   ├── 2019
│   ├── OpenStreetMap
│   └── essentials
├── location_maps
├── photos
│   ├── 1978
│   ├── 1981
│   ├── 1982
│   ├── 1983
│   ├── 1997
│   ├── 1999
│   ├── 2004
│   ├── 2005
│   ├── 2007
│   ├── 2008
│   ├── 2009
│   ├── 2010
│   ├── 2011
│   ├── 2012
│   ├── 2013
│   ├── 2014
│   ├── 2015
│   ├── 2016
│   ├── 2017
│   ├── 2018
│   ├── 2019
│   ├── OriginalPhotoCD-png
│   ├── WinklerChapterPhotos
│   └── kletteratlas
├── presentations
│   ├── CroatiaTrip2019
│   ├── HiddenEarth
│   ├── SpeleoAustria
│   ├── location_maps
│   ├── misc_2018-2019
│   └── test3js
├── qgis_projects
├── qgis_resources
│   ├── centreline-data
│   ├── country_borders
│   └── terrain
├── rigging_topos
│   ├── 107
│   ├── 204
│   ├── 258
│   ├── 264
│   ├── 76
│   ├── rigging-guides-found-in-hut-2019
│   └── rigging_topos2017-18
├── surveys
│   ├── 107
│   ├── 148
│   ├── 161
│   ├── 1987-02
│   ├── 2004-01
│   ├── 2004-03
│   ├── 2007-71
│   ├── 204
│   ├── 234
│   ├── 258
│   ├── 258_and_264
│   ├── 264
│   ├── 267
│   ├── 271
│   ├── 40
│   ├── 76
│   ├── drafts
│   ├── junk
│   ├── minisurveys2012
│   ├── minisurveys2014
│   ├── minisurveys2016
│   ├── minisurveys2017
│   ├── minisurveys2018
│   ├── overview
│   ├── smkhs
│   └── tunnocks
├── surveyscans
│   ├── 1975
│   ├── 1983
│   ├── 1984
│   ├── 1989LUSS
│   ├── 1989surveybook
│   ├── 1991surveybook
│   ├── 1992-94Surveybookkh
│   ├── 1994
│   ├── 1995-96kh
│   ├── 1996-1999NotKHbook
│   ├── 1997-99kh
│   ├── 1999
│   ├── 2000
│   ├── 2001
│   ├── 2002
│   ├── 2003
│   ├── 2004
│   ├── 2005
│   ├── 2006
│   ├── 2007
│   ├── 2008
│   ├── 2009
│   ├── 2010
│   ├── 2011
│   ├── 2012
│   ├── 2013
│   ├── 2014
│   ├── 2015
│   ├── 2016
│   ├── 2017
│   ├── 2018
│   ├── 2019
│   ├── 2020
│   └── 90Surveybookkh
├── terrain
├── training-info
├── tunnelwiki
│   ├── pdf
│   ├── skins
│   ├── training-info
│   ├── uploads
│   └── wiki
├── unidentified_scripts
├── uploads
├── video
│   ├── 2004
│   ├── 2007
│   ├── 2009
│   ├── 2010
│   ├── 2011
│   ├── 2012
│   ├── 2013
│   ├── 2014
│   ├── 2016
│   ├── 2017
│   ├── 2018
│   └── 2019
└── writeups
    ├── 1992
    ├── 1993
    ├── 1994
    ├── 1999
    ├── 2000
    ├── 2003
    ├── 2007
    ├── 2008
    ├── 2009
    ├── 2010
    ├── 2011
    ├── 2012
    ├── 2013
    ├── 2014
    ├── 2015
    ├── 2016
    ├── 2017
    ├── 2018
    ├── 2019
    └── 2020</textarea></code>

<h3>cron</h3>
<p>The server runs it's hourly, daily and weekly scripts using the anacron system. In 
<var>~expo/config/cron/</var> on the server, there are <var>expo.hourly</var>
and <var>expo.daily</var> scripts and these are launched at the appropriate times by 
the server root from <var>/etc/crontab</var>.

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

<h3>boe</h3>
<p>This is a perl script, and server by the webserver using the configuraiotn
<code><pre>
#bank of expo
#current expedition
ScriptAlias /boe /home/expo/boe/boc/boc.pl
&lt;Directory /home/expo/boe/boc&gt;
        AddHandler cgi-script .pl
        SetHandler cgi-script
        Options +ExecCGI
        Require all granted
&lt;/Directory&gt;</pre>
</code> in <var>~expo/config/apache/expo.conf</var>.

<hr />
Go on to: 
<a href="trogintro.html">troggle introduction</a><li>
Return to: 
<a href="../computing/onlinesystems.html">expo online systems overview</a><li>
<hr />
</body>
</html>