So you’re trying to install Hitch for SSL termination on your Ubuntu 16.04 server? Or you might think it’s good idea because you have it working on some other Linux distribution like CentOS?
Think again. After 3-4 spent hours I found solution, installed some other SSL terminator. 😉 (Haproxy). This is where you can return to Google to look for other site if you’are looking for how to tutorial on Hitch with Ubuntu. However you might continue reading to see what kind of mess you might encounter.
So, first I tried to install Hitch package using typical:
apt install hitch
I was happy because everything went nice, there is actual Hitch package on Ubuntu repositories. However happiness passed quickly when I realize that version of the Hitch was 1.0.something, quite old version, of quite new piece of software. That can be buggy but nevertheless on CentOS it’s nothing strange. I expected Ubuntu to be better on that side, since Canonical is experimenting with more recent versions of software and usually it’s not that bad. On CentOS you usually also need to install more recent versions of software and then you need to setup EPEL or some other “alternative” repository.
So let’s try starting Hitch of the bat.
systemctl start hitch
Nothing. No errors. It’s usually good thing.
ps awxu | grep hitch
Nothing. Well, that’s bad. Looking to error logs and it seems that Hitch was terminated during startup. No details. Of course, first thing is to look configuration, and bang. No configuration. So I setup conf files and certs in a moment and tried again. But the issue stays. Hitch package on Ubuntu 16.04 was incomplete. Even startup scripts are full of bugs. In an hour I tried more recent version of Hitch package from Ubuntu 17, however it’s still full of bugs. Then I installed the most recent stable package from the source which finally brought results and I was able to start Hitch. Finished.
Day later, web developer told me about some weird issues he was experiencing during with URLs. He is also C developer so after some time looking into configuration he started to explore source code. And that’s where you need to stop it if you don’t want to lose countless hours chasing glory in open source community 🙂
So I turned to alternative (for me as I already have Hitch setup on CentOS that works). It was not hard to find one since I already did some traffic forwarding with Haproxy, another SSL termination server which was actually more stable at this point. Actually Hitch developers even took some technology from it. You can find how to install Haproxy, Letsencrypt, Varnish and Nginx in another tutorial.
Just little bit of context before the end. It’s quite logical to try to install Hitch if you’re using Varnish for caching like me since it’s developed by same people. However Hitch is still in it’s early version and it’s not stable on every Linux distribution.