我的看板页面 : https://kanban.goodnickname.ga/kanboard

看 @飞蚊话 使用了kanboard作为看板管理,搭建在他的服务器上 (https://kanban.bwsl.wang) 。下面就在我的服务器上尝试着搭建出来。

从网页搭建需要服务器要有LNMP(或是LAMP组件,这里就用Nginx了)。

建站

不同于以往的使用Docker搭建的方式,我发现其实有了宝塔的图形化,建站可能是比较简单的方法,可能迁移的时候没有Docker方便(?)

建站的好处还在于,用子域名,而不是后面加端口号,更好看一点。

用宝塔面板创建新站点 (kanban.goodnickname.ga),不用FTP;数据库创建一个sql;PHP选7.2以上。

拉取Kanboard源文件

然后切到网站根目录

cd /var/www/kanban
sudo git clone https://github.com/kanboard/kanboard.git
sudo chown -R www kanboard/data

貌似宝塔建站的默认用户是www

链接数据库

更改配置文件,将kanboard的数据库从默认的sqlite切换至mysql

cd /var/www/kanban/kanboard
sudo mv config.default.php config.php
sudo vi config.php

找到于下面相同的项目,改成下面这样

// Database driver: sqlite, mysql or postgres (sqlite by default)
define('DB_DRIVER', 'mysql');

// Mysql/Postgres username
define('DB_USERNAME', 'kanboarduser');

// Mysql/Postgres password
define('DB_PASSWORD', 'yourpassword');

// Mysql/Postgres hostname
define('DB_HOSTNAME', 'localhost');

// Mysql/Postgres database name
define('DB_NAME', 'kanboard');

账户、密码、数据库名 以自己建的为准。

之后重启 Nginx.

基本设置

之后就可以以自己的 kanban.goodnickname.ga/kanboard 登录Kanboard了。

初始账户密码均为 admin.

以下操作参见官方文档的 Administrator‘s guide. (https://docs.kanboard.org/en/latest/admin_guide/index.html

安装插件

这部分按照官方文档的说明,(https://docs.kanboard.org/en/latest/admin_guide/plugins.html),将配置文件config.php里,把 PLUGIN_INSTALLER 设置成 true

之后也是没办法使用插件管理器安装插件的,所以我最终使用的是,命令行切到网页目录里,把插件git下来 的方法。

我安装的插件有:

  • Customizer —— 用于网站样式的自定义
  • Calendar —— 日历视图
  • KanboardCommentActions —— 看板的管理员回复功能
  • TaskAssignDateToUndated —— Automatically add a due date to undated tasks - to force them to appear on calendar

这些插件都是从“插件管理器上”能进入其 Github 页面,然后 git 安装就 OK 了。

URL 重写

参见官方文档:https://docs.kanboard.org/en/latest/admin_guide/url_rewriting.html

URL重写是将网站地址伪装成静态,使得URL更好看,且有一定的安全功能,防止用户随意改写。

首先更改配置文件config.php

define('ENABLE_URL_REWRITE', true);

然后到宝塔面板,网站的设置里,找到Nginx的配置文件,在Server的大括号里,添加

location / {
    try_files $uri $uri/ kanboard/index.php$is_args$args;

    # If Kanboard is under a subfolder
    # try_files $uri $uri/ /kanboard/index.php;
}

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_index index.php;
    include fastcgi_params;
}

# Deny access to the directory data
location ~* /data {
    deny all;
    return 404;
}

# Deny access to .htaccess
location ~ /\.ht {
    deny all;
    return 404;
}

之后重载配置,设置完成。

定时刷新

Step 7 (Optional): Setup a daily cron job for reports and analytics

In order to generate accurate reports and analytics, you need to setup a daily cron job using the www-data user.

sudo crontab -u www-data -e

Populate the crontab file with the following cronjob.

0 3 * * * cd /var/www/kanban/kanboard && ./cli cronjob >/dev/null 2>&1

Save and quit.

With this cron job, all of the reports and analytics will be updated at 3:00 AM everyday.

看板公开

这一点其实比较好做,在宝塔里做个重定向就OK了,使得访问这个域名的用户都被指向公开的面板。

那么管理员访问其他的面版就只能够登录了。

还没有做,做完放出来。

参考来源

Vultr:https://www.vultr.com/docs/how-to-install-kanboard-on-centos-7 (没想到他们还着这样的guide.)

官方文档:https://docs.kanboard.org/en/latest/admin_guide/rhel_installation.html