Kanboard est un logiciel de gestion de projet Kanban gratuit et open source.
Ressources :
Commençons par installer les paquets requis :
apt install nginx php7.0-pgsql php7.0-fpm php7.0-cli php7.0-mbstring php7.0-opcache php7.0-json php7.0-gd php7.0-xml
Rendons-nous dans le dossier où l'application sera placé :
cd /var/www/ sudo -u www-data git clone https://github.com/kanboard/kanboard.git
Editon la configuration de Nginx pour rendre l'application accessible via le port 80 :
vim /etc/apache2/site-enabled/kanboard.domaine.com.conf
server { listen 0.0.0.0:80; server_name kanboard.domaine.com; root /var/www/kanboard/; index index.php; location ~ .php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Puis on recharge la configuraiton :
systemctl reload nginx
On doit également modifier la configuration de PHP-FPM pour qu'il puisse executer les script PHP. Modifions le fichier de configuration suivant :
vim /etc/php/7.0/fpm/pool.d/www.conf
Pour ajouter ceci :
listen = 127.0.0.1:9000
Idem, on relance le service pour appliquer cette modification :
/etc/init.d/php7.0-fpm restart
Je souhaite m’initier à Postgres alors pour Kanboard j'ai choisi de mettre de côté MySQL. Celà dit, par défaut c'est la base SQLite qui est utilisé.
Commençons par lui indiquer que l'on va utiliser un utilisateur précis dont sont authentification sera uniquement local et par mot de passe :
nano /etc/postgresql/9.6/main/pg_hba.conf
Et ajouter cette ligne :
local kanboard kanboard password
On le relance pour qu'il puisse prendre en compte ces changements :
systemctl restart postgresql
Créons cet utilisateur avec ses droits pour accéder à la base :
sudo -u postgres createuser -P kanboard sudo -u postgres createdb -O kanboard kanboard sudo -u postgres psql -U kanboard -W GRANT ALL PRIVILEGES ON DATABASE kanboard TO kanboard;
Il nous reste plus qu'a importer la structure de la base qui est déjà présente dans le projet :
sudo -u postgres psql -U postgres -W kanboard < /var/www/kanboard/app/Schema/Sql/postgres.sql
Et on indique à Kanboard d'utiliser cette base :
sudo -u www-data cp config.default.php config.php nano config.php
On vérifie que ces options soient bien appliqué :
<?php // We choose to use Postgresql instead of Sqlite define('DB_DRIVER', 'postgres'); // Mysql parameters define('DB_USERNAME', 'REPLACE_ME'); define('DB_PASSWORD', 'REPLACE_ME'); define('DB_HOSTNAME', 'REPLACE_ME'); define('DB_NAME', 'kanboard');
Si aucune erreur est présent alors il est maintenant possible de se rendre avec son navigateur à l'application : http://kanboard.domaine.com On tombera sur une page d'authentification dont les identifiants sont les suivants : admin/admin
L'application utilise un dépôt git, il suffit alors de le mettre à jour :
sudo -u www-data git fetch
Maintenant que nous avons toutes le modifs dans notre indexe, on va pouvoir les appliquer progressivement par version. On peut notamment passer de version en version 1.2.8 → 1.2.12 ainsi :
sudo -u www-data git merge <HASH_COMMIT>
Le hash convient à la relase que la communauté propose : https://github.com/kanboard/kanboard/releases
Notons qu'il y aura peut-être besoin de mettre à jour la base avec la comande suivante :
sudo -u www-data ./cli db:migrate