Install Wekan with Ubuntu Snap and ISPConfig

How to install Wekan with Ubuntu Snap and ISPConfig on Ubuntu 16.04

Wekan is a Trello like KanBan, just that it is open source and one can host it on it’s own machine.

Having ISPConfig running to manage and maintain your sites, mails and all that stuff, you may ask yourself how can you connect a ISPConfig domain with a Snap package and make it available by just opening your domain in the browser.

I was recently at a WordPress Meetup here in Nairobi, hosted by Nairobi Garage. Bruce Lunnis, successful Web developer from Capetown, South Africa, was having a talk there, and gave the advice to use Trello, or something similar, to organize your projects and yourself. So I found the time to look into it.

Driven by the spirit get high from your own supply I always look for a way to host things on my own server. And then I bumped into Wekan, while looking for an alternative to Trello.

How to install it Wekan as a snap package

Quite some time ago Ubuntu has introduced Snap packages. Snaps are isolated packages on your machine where you don’t need to take care about dependencies. It comes all bundled in on package, isolated from others.

Make sure snapd is already install on your machine, in case it is not, install it with:

apt install snapd

To install Wekan via Snap, run a:

sudo snap install wekan

It will come with all packages it needs to run. Now you just need to configure things.

Configure Wekan

The Wekan configuration file is in: /var/snap/wekan/common/wekan_settings.sh. So you just run:

nano /var/snap/wekan/common/wekan_settings.sh

And you will see something like this:

#!/bin/sh

export MONGODB_BIND_UNIX_SOCKET=''
export MONGODB_BIND_IP=''
export MONGODB_PORT=''
export MAIL_URL=''
export MAIL_FROM=''
export ROOT_URL=''
export PORT=''
export DISABLE_MONGODB=''

What you would need to configure here, is your SMTP server, the Domain / Subdomain you want it to be available at, and the port. By default Wekan listens to port 8080. You can change that here in case 8080 is already used by another service. Here a example configuration:

#!/bin/sh

export MONGODB_BIND_UNIX_SOCKET=''
export MONGODB_BIND_IP=''
export MONGODB_PORT=''
export MAIL_URL='smtp://can-mail@example.tld:YourMailBoxPassWord@your-mail-server.tld:25/'
export MAIL_FROM='can-mail@example.tld'
export ROOT_URL='https://can.your-domain.tld'
export PORT='29600'
export DISABLE_MONGODB=''

That’s basically it. In case your mail server supports SMTPS, you would want to change smtp:// to smtps:// and the port from 25 to your port (usually 465). After applying your changes, make sure you restart wekan with:

systemctl restart snap.wekan.wekan

Configure ISPConfig

First you would need to make sure you have Apache’s reverse proxy enabled, which allows us to use the domain, created in ISPConfig. Run:

sudo a2enmod proxy_http
sudo service apache2 restart

in your terminal. And then you can login to your ISPConfig interface and create the site / subdomain for your Wekan.

First create your domain / site / subdomain. For me, I have just configured it like in the screenshot below.

Next you want to click the redirect tab and set the checkbox Rewrite HTTP to HTTPS. Then head over to the Options tab and put this configuration in the Apache Directives field:

<Proxy *>
Order deny,allow
Allow from all
</Proxy>
 
SSLProxyEngine On
ProxyRequests On
ProxyPreserveHost On
ProxyPass /stats !
ProxyPass / http://127.0.0.1:29600/
ProxyPassReverse / http://127.0.0.1:29600/

Save the configuration, head over to Email in ISPConfig and create your mailbox for the Wekan. My settings look just like:

Now open the site you have created in ISPConfig and and register your account, login and start organizing yourself.

Cheers!

2 Replies to “Install Wekan with Ubuntu Snap and ISPConfig”

  • Where are you configuring SSL?

    I’m trying to do the same thing with nextcloud but ispconfig doesn’t seem to be able to install a cert for the domain that’s proxied, and if I generate a cert in the snap, browsers won’t accept it when I turn on the redirect.

    It only works for me generating in the snap and then going to the domain using the ssl port the snap is configured to listen on. IE ispconfig seems to proxy the request for the snap to verify the domain but can’t use the cert that’s generated.

    • You need to generate the Certificate in ISPConfig since that is where you setup reverse proxy. And because the reverse proxy is talking to your SNAP only internally, you don’t need a cert for your snap essentially. But you can check the path where your snap expects the certificates and just place a symlink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*