expoweb/handbook/troggle/serverconfig.html
2021-03-21 21:46:21 +00:00

386 lines
12 KiB
HTML

<!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>.
<h4 id="js">CSS and JavaScript</a></h3>
<p>The <var>expoweb</var> repo contains all the HTML files and basic CSS files. The <var>troggle</var> 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 <var>expoweb</var> pages: <var>CaveScript</var> for showing 3D views of cave centreline data and <var>openlayers</var> for geographic mapping integration. These javascript packages are only documented in the configuration instructions, see below.
<h3 id="what">Server configuration: software</a></h3>
<ul>
<li>apache webserver *
<li>MySQL/MariaDB database *
<li>packaged javascript *
<li>expofiles *
<li>cgit (live webpage showing git status of repos)
<li>Makefile (obsolete?)
<li>bins
<li>cron
<li>xapian (search function)
<li>boe
</ul>
* These are essential to make troggle work at all.
<p>The server configuration scripts are in <var>troggle/debian/serversetup</var> and are also
documented with notes in <var>troggle/README.txt</var>. It is intended that the full documentation will
be copied here in due course and that fully automated server setup scripts will be developed
<ul>
<li>to create a development server running locally on a personal machine
<li>to install the master system following a new operating system install on the public server
</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>
<h4 id="expofiles">expofiles</a></h3>
<p><var>expofiles</var> contains ~40GB of files which are published by the webserver but which are not parsed by troggle. 28GB of these are photographs in <var>/expofiles/photos/</var> and there are over 4GB of scanned images of surveys in <var>/expofiles/surveyscans/</var>. There is a cleaned, complete copy of the documentation for the <var>tunnelX</var> cave plan drawing package in <var>/expofiles/tunnelwiki/</var>.
<p>
<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
│   ├── 2021
│   └── 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
└── 2021</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 />
Return to: <a href="trogdesign.html">Troggle design and future implementations</a><br />
Return to: <a href="trogintro.html">Troggle intro</a><br />
Troggle index:
<a href="trogindex.html">Index of all troggle documents</a><br />
<hr />
</body>
</html>