If you are in project management or simply want to get well organized, you may know the Kanban methodology, it’s a visual process management system that allow you to categorize and follow your task in a structured manner, usually on a board.
Such systems are usually made with stickers on a board, but could also be installed on a server and this is what I’m going to present through this tutorial.
Kanboard is a simple visual task board, open source inspired by the Kanban methodology. It provides a clear view on your projects and allows you to customized the board based on your business activities. Like for software development you can categorize your tasks as Backlog/Ready/Work-in-progress/done, … or for Sales as, Leads/Meeting/Proposal, etc…
You can actually flag your tasks in different colors, move them through Drag&Drop, have multi-users on the same instance (Accept LDAP and even Google Authentication), define automatic actions, etc…
Kanboard requires a dabatase (default as SQLite, but could also use MySQL/MariaDB)
A demo can be found here. (demo/demo123)
As usual, I suppose you have a working Apache and PHP server (Could even use MySQL), if not, please follow my previous guide on how to install a Linux Apache, MySQL PHP server (LAMP)
1) Clone the Kanboard git repository in your /var/www
cd /var/www git clone git://github.com/fguillot/kanboard.git
(PS: you will need to install git, if not done)
2) Database set up
– If you want to use the default SQL database (SQLite), which is in that case even easier to configure, you need to install php5-sqlite. Simply run in root:
apt-get install php5-sqlite
– If you prefer to use MySQL database, you need to create a dedicated database and user first, you can use PHPMyAdmin to do so. And then simply create/modify the config file per official website info.
3) Change kanboard folder owner to www-data to provide access rights to apache
chown -R www-data:www-data /var/www/kanboard/
4) Simply go to http://YourIP/kanboard and log in using admin/admin credentials.
However, before to move forward and start to use it, you need to ensure the data folder is not accessible (Contains the SQLite database with all the info…). Make sure http://YourIP/kanboard/data is not accessible. If it is, you need to create a .htaccess or directly block the access from a dedicated virtualhost.
If you want to secure a bit more your Kanboard installation by blocking data/ folder access and at the same time having a better URL (more easyfriendly) such as kan.domain.tld, I suggest you to create a dedicated virtualhost for this service. And you can even add SSL certificate and force the access through HTTPS.
You will need to:
1) Create a A redirection in your DNS server/registrar
2) Have SSL certificate ready. If not you can read this tutorial.
3) Create your virtualhost as following:
In /etc/apache2/sites-enabled/, create a file called kanboard (In root):
and paste the following content:
<VirtualHost *:80> ServerAdmin email@example.com ServerName kan.domain.tld Redirect / https://kan.domain.tld </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/ssl/certs/myblog.pem SSLCertificateKeyFile /etc/ssl/private/myblog.key ServerAdmin firstname.lastname@example.org ServerName kan.domain.tld DocumentRoot /var/www/kanboard <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/kanboard> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> <Directory /var/www/kanboard/data> Order deny,allow deny from all </Directory> </VirtualHost> </IfModule>
Adapt the content (Servername, webmaster, SSL certificate and directory, …).
As you need to deny access to the data folder (Where is store the SQLite database), the last part of the shared virtualhost is made for that.
When done, save the file (CTRL+X then Yes) and reload apache: (In root)
You should now be all set and ready to use Kanboard!