<!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 <Directory /home/expo/boe/boc> AddHandler cgi-script .pl SetHandler cgi-script Options +ExecCGI Require all granted </Directory></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>