Category: Activity log


Permalink 05:29:53 pm, by mholmes, 136 words, 6 views   English (CA)
Categories: Servers, R & D, Activity log, Activity log, Documentation; Mins. worked: 180

Jenkins on 18.04

These are my ongoing notes on how to get Jenkins up and running on a headless Ubuntu 18.04.

  • You must install Java 8. The problem is that it's not available in the repo, so I had to add a webupd8team ppa and then install the Oracle version. :-(
  • You must sudo apt-add-repository universe before installing Jenkins, because it requires a package called daemon which is in that repo.
  • Jenkins setup requires that you configure a relative path to the files. If you're runing a vm and proxying the port to your own machine, beware: don't choose the selected port on which you're viewing Jenkins. Instead, choose the port that you know Jenkins is running on IN THE VM. If you screw this up, you can fix it by editing jenkins.model.JenkinsLocationConfiguration.xml in /var/lib/jenkins.


Permalink 09:43:26 am, by mholmes, 102 words, 8 views   English (CA)
Categories: R & D, Activity log, Documentation; Mins. worked: 30

VirtualBox weirdity: shared folders using symlinks

After rebuilding my desktop, VirtualBox worked fine except that my Windows VM could not connect to the shared folder I had configured for it. After finding this page, I was able to run this command:

VBoxManage setextradata "Windows 10" VBoxInternal2/SharedFoldersEnableSymlinksCreate/vmShare 1

where "Windows 10" is the name of the VM, and "vmShare" is the name of the share, then restart the VM, and it worked. Obscure thing, so I document it here. The issue is that the path to the shared folder depends on a symlink on my system, since the shared folder lives on an encrypted data drive, not the system drive.


Permalink 05:05:41 pm, by mholmes, 61 words, 15 views   English (CA)
Categories: R & D, Activity log; Mins. worked: 120

Borked upgrade to Ubuntu 18.04

Decided to upgrade my desktop, and encountered a known common scenario whereby both gdm and lightdm seem to get borked and no GUI can be started. Eventually did a reinstall. Note to self: once email and browsers are properly set up and stable, move those home folders onto the spinning disk so that they don't have to get recreated when rebuilding.


Permalink 03:22:46 pm, by mholmes, 122 words, 45 views   English (CA)
Categories: R & D, Activity log, Documentation; Mins. worked: 90

Setting up Apache for testing Jetty/eXist

In a previous post I went through in detail how to set up the virtual host for Apache and to configure the /etc/hosts file, but I didn't give much detail on Apache itself. I've just gone through the whole process again, and I'm now documenting that as an addendum:

Configure required apache modules:

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod ssl

Generate a certificate for the server to use:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/spud.key -out /etc/ssl/certs/spud.crt

Restart Apache:

sudo systemctl restart apache2

Of course the name and location of the cert must match the name and location specified in the virtual host file.


Permalink 04:08:57 pm, by mholmes, 29 words, 31 views   English (CA)
Categories: Servers, R & D, Activity log, Documentation; Mins. worked: 60

eXist build script tweaked and now working

I'm now able to build the trunk of the eXist repo to get a working (but not yet tested) eXist 4. I can start testing our apps with it now.


Permalink 04:36:15 pm, by mholmes, 31 words, 61 views   English (CA)
Categories: Activity log; Mins. worked: 60

Updated to Ubuntu 17.10

A bit late coming to this, and it took an hour or so to get everything back up and running, but fonts are way nicer and the Japanese input works better.


Permalink 04:53:57 pm, by mholmes, 136 words, 71 views   English (CA)
Categories: R & D, Activity log, Documentation; Mins. worked: 180

Setting up yet another encrypted volume

Put the new HD into the machine and tried to do a direct dd copy from the old HD in a USB cradle, but the operation failed at the same point twice (after about 15GB). In the end, I created a new encrypted volume on the new disk, formatted it as ext4 and set an scp job going to bring everything down from Rutabaga. The results will be pretty messy, I know, but there's no real alternative. I'll have to do a bunch of chmods to handle .svn folders and such; it may be simpler to check things out again. If it's possible to get my VMs off the old drive, that's the next thing to try because those aren't backed up. Only the Windows one gets used, though, and that's easy to rebuild if necessary.


Permalink 05:32:08 pm, by mholmes, 27 words, 77 views   English (CA)
Categories: R & D, Activity log; Mins. worked: 60

QGIS learning

In prep for RA work, installed QGIS locally and worked through the initial parts of the tutorial. Will keep going with this. So far it's pretty straightforward.


Permalink 04:58:27 pm, by mholmes, 333 words, 126 views   English (CA)
Categories: Servers, R & D, Activity log, Documentation, Documentation; Mins. worked: 90

Building a vector tile server

Now that Open Layers fully supports vector layers, we're looking at the practicality of running a vector tile server for our projects. Starting from this docker example, I created a script which I can run on a standard Debian Stretch install to create a working tile server:


#This is to be run on a standard Debian Stretch install.

#Install core stuff
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install apt-transport-https curl unzip build-essential python libcairo2-dev libprotobuf-dev xvfb 

#Temporarily use a specific source for the exact nodejs version we need.
echo "deb jessie main" >> /etc/apt/sources.list.d/nodejs.list
echo "deb-src jessie main" >> /etc/apt/sources.list.d/nodejs.list

#Install it.
apt-get -qq update && DEBIAN_FRONTEND=noninteractive apt-get -y --allow-unauthenticated install nodejs 

#Now remove the source.
rm /etc/apt/sources.list.d/nodejs.list
apt-get clean

#Added these in order to get the npm install to run properly. 
#The problem was building canvas.
apt-get -y install libjpeg62-turbo-dev libpango1.0-dev libgif-dev g++

#Create directory for tileserver application.
mkdir -p /usr/src/app

#Get the Klokantech code for the server.
cd /usr/src/app 
curl -L -o
cp -r tileserver-gl-master/* ./
rm -rf tileserver-gl-master

#Install the node stuff
npm install --production

#Set environment variable
echo NODE_ENV=\"production\" >> /etc/environment

#Create the folder for the mbtiles files (you'll need to supply these later).
mkdir /data

#In case other servers are installed and running, stop them.
systemctl stop apache2 mysql
systemctl disable apache2 mysql

echo "Now put your mbtiles files into the /data folder, and run /usr/src/app/"
#Start the tileserver on port 80.

This could form the basis for a VM-based tileserver for our projects, including the Confederation Debates; running a server for all of Canada is quite practical due to the efficiency of the vector format.


Permalink 11:36:29 am, by mholmes, 108 words, 88 views   English (CA)
Categories: R & D, Activity log, Documentation; Mins. worked: 45

CSS issue for the record

Just recording this because it took a little while to figure out:

We discovered this morning that the B and T conference site program would not print past the first page; it was as if the rest of the content was invisible to the print renderer (in all browsers). The culprit turned out to be this, in style.css:

.internal {
  position: relative;
  overflow: auto;   <<------------------------this line
  width: 100vw;
  height: 100vh;
  -webkit-overflow-scrolling: touch;

It hides anything beyond the viewport window from the print renderer. I was able to override by adding:

@media only print {
  .internal {
     overflow: visible;

I let PS know about it, since it's his stylesheet.

:: Next Page >>


This blog is the location for all work involving software and hardware maintenance, updates, installs, etc., both routine and urgent, in the server room, the labs and the R&D rooms.


XML Feeds