How to Install Wekan on Ubuntu 14.04

Want your very own server? Get our 1GB memory, Xeon V4, 25GB SSD VPS for £10.00 / month. Get a Cloud Server

Wekan is a free and open source kanban board application that provides card-based task and to-do management. Wekan enables you to easily work with it and modify it. Wekan runs on nodejs and MonoDB.

Here, we will explain how to install Wekan on Ubuntu 14.04 server.

Requirements

A server running Ubuntu 14.04 server.

A non root user with sudo privileges setup on your server.

Update the System

Before installing any packages, it is recommended to update your system with the latest version. You can do this by running the following command:

sudo apt-get update -y

sudo apt-get upgrade -y

Once your system is up to date, you can proceed to the next step.

Install Node.js

First, you will need to install nodejs version 0.10.40. You can install it by running the following command:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh | bash

source ~/.nvm/nvm.sh

nvm install v0.10.40

nvm use v0.10.40

Now using node v0.10.40 (npm v1.4.28)

nvm alias default v0.10.40

You should see the following output:

You should see the following output:

default -> v0.10.40

Once nodej.s is installed, you can proceed to install MongoDB.

Install MongoDB

You can install the latest MongoDB package from the official MongoDB repository.

First, download the key from the key server with the following command:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

Next, you will need to add mongodb repo to apt:

sudo nano /etc/apt/sources.list

Add the following line:

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

Next, update the apt repository with the following command:

sudo apt-get update -y

Finally, install mongodb with the following command:

sudo apt-get install mongodb-org -y

Install Wekan

You can download the latest version of the Wekan from github repository with the following command:

mkdir ~/wekan

wget https://github.com/wekan/wekan/releases/download/v0.13/wekan-0.13.tar.gz

Once the download is complete, unzip the downloaded file with the following command:

tar -xvzf wekan-0.13.tar.gz -C ~/wekan

Next, change the directory to server and install all required dependencies using npm:

cd ~/wekan/bundle/programs/server

npm install

Next, install forever script with the following command:

npm install forever -g

Next, you will also need to create an Upstart script for wekan. You can do this by creating /etc/init/wekan.conf file:

sudo nano /etc/init/wekan.conf

Add the following lines:

#!upstart description "Wekan Upstart Script" start on startup stop on shutdown expect fork env NAME="Wekan" env NODE_PATH="/home/hitesh/.nvm/v0.10.40/bin" env APPLICATION_PATH="/home/hitesh/wekan/bundle/main.js" env PIDFILE=/var/run/wekan.pid env LOGFILE=/var/log/wekan.log env MONGO_URL="mongodb://127.0.0.1:27017/wekan" env ROOT_URL="http://127.0.0.1" env MAIL_URL='smtp://user:pass@mailserver.example.com:25/' env PORT="8080" script PATH=$NODE_PATH:$PATH exec forever \ --pidFile $PIDFILE \ -a \ -l $LOGFILE \ --minUptime 5000 \ --spinSleepTime 2000 \ start $APPLICATION_PATH end script pre-stop script PATH=$NODE_PATH:$PATH exec forever stop $APPLICATION_PATH end script

Save the file and start Wekan service with the following command:

sudo service wekan start

Install and Configure Nginx

By default, latest version of the Nginx is not available in Ubuntu repository. So you will need to add the Nginx repository to your system. You can add Nginx repo with the following command:

sudo add-apt-repository ppa:nginx/stable

Next, update the system with the following command:

sudo apt-get update -y

Once the repository is up to date, install Nginx with the following command:

sudo apt-get install nginx -y

Once Nginx is installed, create a virtual host file for wekan.

sudo nano /etc/nginx/sites-available/wekan

Add the following lines:

server { server_name your-domain.com; listen 80; access_log /var/log/nginx/wekan-access.log; error_log /var/log/nginx/wekan-error.log; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_cache_bypass $http_upgrade; proxy_pass http://127.0.0.1:8080; } }

Save and colse the file, then activate the virtual host with the following command:

sudo ln -s /etc/nginx/sites-available/wekan /etc/nginx/sites-enabled/

Next, test the nginx configuration with the following command:

sudo nginx -t

Finally, restart the Nginx server with the following command:

sudo /etc/init.d/nginx restart

Access Wekan

Before accessing Wekan, you will need to allow port 80 through the UFW firewall.

By default UFW is disabled on your system, so you need to enable it first. You can enable it with the following command:

sudo ufw enable

Once UFW firewall is enabled, you can allow port 80 by running the following command:

sudo ufw allow

80`

You can now check the status of UFW firewall by running the following command:

sudo ufw status

Once firewall is configured, open your web browser and type the URL http://your-domain.com, then register your first user.

Congratulations! you have successfully installed Wekan on your system. You can now easily deploy it in your production environment.