【プロジェクト管理ツール】TaskBoard

■ TaskBoard

 * トヨタが採用した生産方式であるカンバン方式のタスク管理ツール
 * MIT License (無料で利用可能)

特徴

 * 自社内でインストール出来る
  => カンバン方式のタスク管理ツールの多くは、クラウドサービスで提供されているものが多い

使用ツール

 * PHP製(PHP5以上)
 * SQLite

公式サイト

https://taskboard.matthewross.me/
デモ
https://taskboard.matthewross.me/demo.html

■ インストール / 初期設定

インスール前の注意事項

 * PHPをインストールしている環境下では、環境下壊れる可能性がある
  => 以下の関連記事のようにMediaWikiをインストールした際に
     PHP7.3(php73 php73-php php73-php-xml php73-php-mbstring php73-php-mysqlnd)を入れた環境下で
     インストールしたら、MediaWikiが見れなくなった
https://blogs.yahoo.co.jp/dk521123/37624467.html
  => 仮想環境下なら、事前にスナップショットをとっておいた方がいい
  => 実際やってしまって、MediaWikiが動かなくなってしまった
    「internal error」と表示。mbstringが衝突(conflict)を起こしてしまった
もしもの時の対応案
# あくまで、元の手順がある状態を想定

【1】 一旦、PHP関連を消す
~~~~~
sudo yum remove php*
~~~~~

【2】 PHPのバージョンを合わせる(今回は、MediaWikiがPHP7以上あればいいらしいので、PHP7.1で統一)
~~~~~
# 対象モジュールがあるか確認
yum search php71

# インストール
sudo yum install -y php71w php71w-json php71w-gd php71w-cli php71w-readline php71w-sqlite3 php71w-php-xml php71w-php-mbstring php71w-php-mysqlnd
~~~~~

【3】 サーバ再起動
~~~~~
sudo systemctl restart httpd 
~~~~~

設定環境

以下の設定環境に構築する手順を記す
 * OS : CentOS7
 * Webサーバ : Apache v2.4.6
 * PHP : PHP v7.1.18
 * DB  : SQLite v3.7.17

手順・概要

【1】 Apache, Javaをインストールする
【2】 PHPをインストールする
【3】 SQLiteをインストールする
【4】 TaskBoardをインストールする
【5】 Apacheの設定を行う
【6】 SELinuxの設定を行う
【7】 TaskBoardにアクセスする

【1】 Apache, Javaをインストールする

 => 以下の関連記事を参照のこと
Apache
https://blogs.yahoo.co.jp/dk521123/36300671.html
Java
https://blogs.yahoo.co.jp/dk521123/37028150.html

【2】 PHPをインストールする

sudo yum -y update
sudo yum -y install epel-release
sudo yum -y update
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum -y update

# yes を選択する前にもう一回(「インスール前の注意事項」を参照)
sudo yum install php71w php71w-json php71w-gd php71w-cli php71w-readline php71w-sqlite3

php -v

PHP 7.1.20 (cli) (built: Jul 20 2018 08:31:34) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

【3】 SQLiteをインストールする

sudo yum -y install sqlite

sqlite3 -version
3.7.17 2013-05-20 ...

【4】 TaskBoardをインストールする

sudo -s

cd /var/www/

# ダウンロード
curl -OL https://github.com/kiswa/TaskBoard/archive/master.zip

sudo yum -y install unzip
unzip master.zip

# リネーム
mv TaskBoard-master/ taskboard

# インストール(Javaをインストールしないと、「./build/build-all」実行後、エラーになる)
cd taskboard/
./build/composer.phar self-update
./build/build-all

# ★ 重要 ★ (ここではまった)
# この操作を行わないとログイン時に「API Error. Ensure api directory is writable.」が表示されてしまう
chmod 777 -R /var/www/taskboard/api

【5】 Apacheの設定を行う

sudo vi /etc/httpd/conf.d/taskboard.conf
~~~~~~
Alias /taskboard "/var/www/taskboard"

<VirtualHost *:80>
    ServerAdmin your-email@example.co.jp
    ServerName board.yourdomain.co.jp
    ServerAlias www.board.yourdomain.co.jp
    <Directory "/var/www/taskboard">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog "/var/log/httpd/taskboard-error.log"
    CustomLog "/var/log/httpd/taskboard-access.log" combined
</VirtualHost>
~~~~~~

# Apacheを再起動
sudo systemctl restart httpd
# 確認
sudo systemctl status httpd

【6】 SELinuxの設定を行う

# SELinuxをPermissive/Disableにする
sudo vi /etc/selinux/config
~~~~~~
SELINUX=permissive
~~~~~~

# OS再起動
sudo reboot

 * SELinux については、以下の関連記事を参照のこと。 
https://blogs.yahoo.co.jp/dk521123/37293104.html

【7】 TaskBoardにアクセスする

ブラウザで、「http://【TaskBoardを構築したホスト/IP】/taskboard/」に接続
 => ログイン画面が表示されるので、以下を入力する

 * ID : admin
 * Password : admin

■ 設定メモ

使う上で最低限以下を行っておいた方がいい
【1】 userの追加 (開発メンバー分。「TaskBoard Users」)
【2】 Boardの追加(「Add Board」)
 => Board Name : プロジェクト名など
 => Columns    : ToDo(未割当) / Doing(作業中) / Done(完了) etc
 => Categories : (これはプロジェクトによるが) Coding(コーディング) / Test(テスト) / CreatEnv(環境構築) etc(色も付ける)
【3】 デフォルトBoardの設定(「Select Default Board」)
https://taskboard.matthewross.me/docs/

■ バックアップについて

 * 以下の関連記事を参照
https://blogs.yahoo.co.jp/dk521123/37689062.html

■ トラブル

エラー「API Error. Ensure api directory is writable.」が表示

 * ログイン時にエラー「API Error. Ensure api directory is writable.」が表示されてしまう
原因
 * 以下の2つが考えられる

[1] SELinuxにより、/var/www/taskboard/apiへの書き込みが禁止されている
[2] /var/www/taskboard/apiに書き込み権限がない
解決案
[1] SELinuxについて
 => 「【6】 SELinuxの設定を行う」より、SELinuxをPermissive/Disableにする

[2] 書き込み権限について
 => 「【4】 TaskBoardをインストールする」より、「sudo chmod 777 -R /var/www/taskboard/api


関連記事

【シェル】TaskBoard のバックアップおよびリストアを考える

https://blogs.yahoo.co.jp/dk521123/37689062.html

プロジェクト管理ツール一覧

https://blogs.yahoo.co.jp/dk521123/37621945.html

Git ~ 初期設定編 ~

https://blogs.yahoo.co.jp/dk521123/37613741.html

Nginx ~ 入門編 / 環境構築 ~

https://blogs.yahoo.co.jp/dk521123/36721709.html

Linux環境下でのトラブル

https://blogs.yahoo.co.jp/dk521123/36279621.html